DeepSeek Harness 插件:Excel 拖进输入框,AI 自己去读文件
DeepSeek Harness æä»¶ï¼Excel æè¿è¾å ¥æ¡ï¼AI èªå·±å»è¯»æä»¶
gezg 2026-08-21 12 é 读4åéç» DeepSeek Harness åäºä¸ªæä»¶ï¼Excel æè¿è¾å ¥æ¡ï¼AI èªå·±å»è¯»æä»¶
䏿¬¡ã顺æè§£å³å°çç¹ãçæä»¶å¼åå®å½ï¼ä»è°ç DSH æä»¶ä½ç³»ï¼å°éå宿¹å ç±»åå¥çº¦ï¼åå°ååçå¾çææ½ãææºæåãçå ¨è¿ç¨ã
çç¹ï¼DSH çè¾å ¥æ¡åªè®¤å¾ç
ç¨ DeepSeek Harnessï¼ä¸ç§° DSHï¼ Web GUI çåå¦åºè¯¥é½éå°è¿ï¼æ³æä¸ä¸ª Excel æè¿è¾å ¥æ¡è®© AI åæï¼ç»æå¼¹åºä¸ä¸ªé误æç¤ºââåªæ¯æä¸ä¼ png çå¾çã
ä½è¿äºå¿ä»ç»æ³æ³ï¼å ¶å®æ ¹æ¬ä¸éè¦ãä¸ä¼ æä»¶ãï¼
- DSH ç Agent æ¬æ¥å°±ææä»¶ç³»ç»å·¥å ·ï¼readãglobãgrepâ¦â¦ï¼ï¼ç»å®ä¸ä¸ªç»å¯¹è·¯å¾å®å°±è½èªå·±å»è¯»ï¼
- Excel/PDF è¿ç±»æä»¶ï¼èµ°ãå¾çéä»¶ãé鿬æ¥å°±ä¸éï¼èµ°ãè·¯å¾å¼ç¨ãééåèè½äº«å Agent çå ¨éæè½ï¼xlsx è§£æãpandasã大æä»¶å¤çï¼ï¼
- æä»¶å 容ä¸è·¨æµè§å¨è¾¹çï¼éç§ä¸ä¹æ´å®å ¨ã
äºæ¯æåäºä¸ä¸ª DSH æä»¶ï¼dsh-drag-fileââæä»»ææä»¶æè¿è¾å ¥æ¡ï¼ä¸æ¹æ¾ç¤ºæä»¶å ä½ chipï¼åéçæ¶æ¯å®é æ¯è¿è¡æä»¶çç»å¯¹è·¯å¾ãAI æ¶å°è·¯å¾ï¼èªå·±å»è¯»æä»¶ã
æææ¼ç¤º
ä½ ï¼ä» Finder æä¸ä¸ª Excel è¿è¾å
¥æ¡åºåï¼
â æ¾æ
è¾å
¥æ¡ä¸æ¹åºç°æä»¶ chipï¼ð 20260820.xlsx
â host å¨ç£ç䏿æä»¶åæç´¢ï¼å·¥ä½åº + ~/Downloads çï¼
è¾å
¥æ¡è稿èªå¨å¡«å
¥ï¼
/Users/xxx/Downloads/0818/20260820.xlsx
â ä½ ç»§ç»æå
/Users/xxx/Downloads/0818/20260820.xlsx
帮ææè½¦åç»è®¡åç±»ä»·æ ¼å·®å¼ï¼è¾åºä¸ä»½æ±æ»è¡¨
â åé
Agent æ¶å°è·¯å¾ææ¬ â èªå·±ç¨æä»¶å·¥å
·è¯»å â å¼å§å¹²æ´»
å ³é®ç¹ï¼åéçå°±æ¯çº¯ææ¬ã没æéèçéä»¶æ³¨å ¥ï¼ç¨æ·å¨è¾å ¥æ¡éè½çå°ãè½ç¼è¾å³å°ååºçè·¯å¾ââæè§å³æåã
è°ç ï¼DSH æä»¶é¿ä»ä¹æ ·
DSH æ¯ãä¸åçæä»¶ãçå¾®å
æ ¸æ¶æï¼åºå±æ¯ Cordis æ¡æ¶ï¼ï¼å®æ¹ææ¡£éææä»¶å¼åæç¨å extension cookbookãä¸ä¸ªæä»¶å°±æ¯ä¸ä¸ªå¯¼åº apply(ctx) 彿°ç TypeScript 模åï¼
import type { Context } from '@deepseek-ai/cordis'
export const name = 'my-plugin'
export const inject = ['tools'] // 声æä¾èµçæå¡
export function apply(ctx: Context) {
// éè¿ ctx 注åè½åï¼å·¥å
·ãäºä»¶çå¬ãUI slotâ¦â¦
}
æè¿ä¸ªæä»¶æ¯å ¸åç host + client å颿件ï¼
- Host é¢ï¼Node.js è¿ç¨ï¼ï¼è½è®¿é®ç£çãè´è´£ãæä»¶å â ç»å¯¹è·¯å¾ãçæç´¢ï¼ä»¥ Typert Remote æå¡ç形弿´é²ç»æµè§å¨
- Client é¢ï¼æµè§å¨ï¼ï¼è´è´£ææ½äºä»¶æè·ãæä»¶ chip 渲æãæè·¯å¾åè¿è¾å ¥æ¡è稿
两端éè¿ DSH ç Typert Remote æºå¶éä¿¡ï¼å¸¦ä¸¥æ ¼ zod schema æ ¡éªç RPCï¼ï¼å ±äº«ä¸ä¸ª contract æä»¶å®ä¹ wire æ ¼å¼ã
ä¸ä¸ªç»ä¸å¼çæµè§å¨å®å ¨éå¶
æäººä¼é®ï¼æµè§å¨ææ½äºä»¶é䏿¯æ File 对象åï¼ä¸ºä»ä¹ä¸ç´æ¥æ¿è·¯å¾ï¼
å 为æµè§å¨åºäºå®å
¨èè䏿´é²ç»å¯¹è·¯å¾ââFile.name åªææä»¶åãæä»¥ãæä»¶å â ç»å¯¹è·¯å¾ãå¿
é¡»å¨ host ä¾§åç£çæç´¢ï¼è¿ä¹æ¯ä¸ºä»ä¹éè¦ host/client åé¢ç»æï¼
æµè§å¨ Host (Node.js)
ââââââ âââââââââââââ
ææ½äºä»¶ï¼file.name âââââââ dragFile/resolve(sessionId, name)
â
ââ æç´¢ä¼è¯å·¥ä½åºï¼æ·±åº¦ 10ï¼
ââ æç´¢ ~/Downloadsã~/Desktopã~/Documentsï¼æ·±åº¦ 3ï¼
â ï¼è·³è¿ node_modules/.git çï¼
â
chip æ¾ç¤ºåéè·¯å¾ âââââââ { candidates: [{ path, inWorkspace }], truncated }
å¯ä¸å¹é
èªå¨å¡«å
¥è稿
å®è£ 使ç¨
å·²åå¸å° npmï¼ä¸è¡å½ä»¤ï¼
dsh plugin --profile web add dsh-drag-file
ï¼ä¹å¯ä»¥ä» GitHub å®è£
ï¼dsh plugin --profile web add github:gezg/dsh-drag-fileï¼
éå¯ web profileãå·æ°é¡µé¢å³å¯ãé»è®¤æç´¢ä¼è¯å·¥ä½åº + ~/Downloadsã~/Desktopã~/Documentsï¼é½å¯ä»¥é
ç½®ï¼
- id: dsh-drag-file
name: dsh-drag-file
config:
searchDirs: ["~/Downloads", "~/Desktop", "~/Documents"]
workspaceDepth: 10
searchDirsDepth: 3
maxResults: 20
macOS / Linux / Windows å
¨æ¯æï¼Windows ç C:\Users\... è·¯å¾ chip ä¹è®¤ï¼ã
å卿å
æ´ä¸ªè¿ç¨æå¤§çæåæ¯ï¼DSH çãä¸åçæä»¶ã䏿¯å£å·ââè¾å ¥æ¡ä¸æ¹ç座ä½ï¼slotï¼ãè稿åå ¥çå¨ä½ï¼inputActionsï¼ãhost ä¾§ç RPCï¼Typert Remoteï¼å ¨æ¯å ¬å¼å¯æ©å±çæ¥ç¼ï¼ä¸ä¸ªãææä»¶ãçå°åè½å®å ¨ä¸éè¦ç¢°æ¡æ¶ä¸è¡ä»£ç ã
èæä»¶å¼åçä¹è¶£æ°æ°å¨è¿ç§ãååçè¡ä¸ºåæ¸ è¾¹çãçåå¼éï¼æè·é¶æ®µæ¦æªãåæäºä»¶å¤ä½ãè稿å³çç¸æºââæ¯ä¸ä¸ªåèå齿¯å¯¹æ¡æ¶äºä»¶æµçæ´æ·±ä¸å±çè§£ã
ä»åºå¨è¿éï¼æ¬¢è¿ star / PRï¼
妿è¿ç¯å¯¹ä½ æå¸®å©ï¼æè ä½ å¨ DSH ä¸ä¹è¸©è¿ç±»ä¼¼çåï¼è¯è®ºåºèè ð
Aitishiku.com