Pi-DSH (ð¥§) â åºäº Cordis äž 100% 宿¹ DSH æä»¶çæç AI Coding Agent
èå Pi ææ·æç®ç Coding æ žå¿èœåïŒèµèœ DeepSeek Harness (DSH) å·¥äžçº§åŸ®å æ žäžåŸ®å端çæ
ð ç®åœ (Table of Contents)
- äžã 项ç®åå¿äžæ žå¿æ¿æ¯
- äºã â¡ 30 ç§æéåŒç®± (Quickstart)
- äžã ð¯ 对æ Pi 80%+ æ žå¿èœåå šæ¯
- åã ð§© åºæ¯åé¢è®Ÿç©éµ (Presets for Developers)
- äºã ðïž Cordis åŸ®å æ žäžäž€çº§é çœ®æ¶æ
- å ã ð 亀äºåŒèœåæ¥çŒäžææäŸèµåŸ
- äžã ð æ·±åºŠææ¡£äžå¿ (Documentation Hub)
äžã 项ç®åå¿äžæ žå¿æ¿æ¯
åšåŒæºèªäž» AI çŒç é¢åïŒearendil-works/pi ååæç®ç讟计ãå¯é çæä»¶çŒèŸå·¥å
·éïŒread/write/edit/bash/grep/findïŒåé«ä¿¡åªæ¯ç Agent åŸªç¯æºå¶å¹¿åèµèªã
Pi-DSH çåå¿ïŒæ¯ä»¥ç°ä»£åŸ®å æ žæ¶æå¯¹æ å¹¶å€ç° Pi 80%+ çæ žå¿çŒç èœåïŒå¹¶åå© DeepSeek Harness (DSH) äž Cordis (v4.0.1) åŸ®å æ žçâEverything is a pluginâ讟计å²åŠïŒèµäº AI çŒç 婿以äžå ³é®è¿åïŒ
- 100% 宿¹ DSH æä»¶ç©éµ (73 䞪æä»¶)ïŒåœ»åºåºåŒç©å ·çº§ Mock åæ ¹ïŒçŽæ¥è¿è¡å®æ¹çº¯æ£ç 37 䞪宿䞻æä»¶äž 36 䞪æµè§åšç«¯åŸ®å端 UI ææ§œæä»¶ïŒ
- å šåèœ Web GUI äž Headless åæš¡æïŒåšä¿çåœä»€è¡èªåšåäž REPL çåæ¶ïŒæäŸå å«æç»ŽéŸæµåŒå±ç€ºãå·¥äœåºç®åœéæ©åšãDiff 对æ¯äžè®Ÿçœ®äžå¿çç°ä»£ Web çé¢ïŒ
- èœåæ¥çŒïŒCapability SeamïŒäžäœäžäœïŒäž¥æ Œè§£èŠ
⡠驱åšå®ç° (Provider)ãðš äžå¡æ¶è޹ (Consumer)äžð å¥çºŠå®ä¹ (Definition)ïŒä¿è¯ç³»ç»é«å èãäœèŠåäžå®å šå¯æ§ïŒ - 䞀级é 眮治ç (Profile vs Preset)ïŒå°âåºç¡è®Ÿæœç¯å¢é 眮âäžâäŒè¯çº§æºèœäœé¢è®Ÿâ圻åºå犻ïŒå®ç°è·šç¯å¢äžé®æ çŒåæ¢ã
äºã â¡ 30 ç§æéåŒç®± (Quickstart)
1. å®è£ äŸèµ
git clone https://github.com/civaapple-alt/pi-dsh.git
cd pi-dsh
pnpm install
2. é 眮ç¯å¢åé
åšé¡¹ç®æ ¹ç®åœäžé
眮 .env æä»¶ïŒæç»§æ¿ç³»ç»å
šå±ç¯å¢åéïŒïŒ
DEEPSEEK_API_KEY=sk-your-deepseek-api-key
DEEPSEEK_BASE_URL=https://api.deepseek.com
DEEPSEEK_MODEL=deepseek-chat
3. äžé®å¯åšäœéª
ð æ¹åŒ AïŒå¯åšç°ä»£ Web GUI å·¥äœå° (æšè)
pnpm start
# æµè§åšè®¿é® http://localhost:3000ïŒäº«å宿Žçå€äŒè¯æµãæä»¶é«äº®äžäŸèµææ
â¡ æ¹åŒ BïŒæ§è¡åä»»å¡ Headless èªåšå (CLI æ¹å€çäž CI/CD)
æ éå¯åš Web æµè§åšïŒçŽæ¥åšç»ç«¯äœäžºé亀äºåŒåœä»€è¡å·¥å ·æ§è¡åäžä»»å¡ïŒä»»å¡å®æåèªåšéåºå¹¶è¿åéåºç ïŒ
# 1. é»è®€ Standard æ åå
šèœæš¡åŒæ§è¡çŒç ä»»å¡
pnpm headless "æ£æ¥åœåä»åºç Git ç¶æå¹¶ååºä¿®æ¹çæä»¶"
# 2. 忢 Reviewer å®å
šå®¡æ¥é¢è®ŸïŒçº¯åªè¯»æš¡åŒïŒçŠæ¢åæäœïŒ
pnpm headless --preset reviewer "å®¡æ¥ presets/ ç®åœäžçé
眮å®å
šæ§"
# 3. 忢 Minimal æç®ç»ç«¯è¿ç»Žé¢è®ŸïŒToken åŒéæäœïŒ
pnpm headless --preset minimal "æ£æ¥åœåæºåšç node, pnpm å git çæ¬"
# 4. 忢 Coder 深床åŒåé¢è®Ÿå¹¶æå® DeepSeek æšçæš¡å
pnpm headless --preset coder --model deepseek-reasoner "åæå¹¶å RPC æ¶åºç«æé®é¢"
ð» æ¹åŒ CïŒå¯åšç»ç«¯äº€äºåŒ REPL (æ¯æ Pi åç Slash Commands)
pnpm pi --preset standard
# æ¯æåšç»ç«¯èŸå
¥ /help, /preset, /model, /compact, /clear ç Slash å¿«æ·æä»€
äžã ð¯ 对æ Pi 80%+ æ žå¿èœåå šæ¯
Pi-DSH 宿Žå€å»å¹¶è¶
éå®ç°äº earendil-works/pi çæ žå¿å·¥å
·éŸäžæºèœäœåŸªç¯ïŒ
âââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââ
â Pi-DSH æ žå¿èœå对æ å
𿝠(Pi Parity) â
âââââââââââââââââââââ¬ââââââââââââââââââââââââââââââââââââ¬ââââââââââââââââââââââ€
â Pi åçèœå â Pi-DSH 宿¹æä»¶å®ç° â 对æ 蟟æç / ç¹æ§ â
âââââââââââââââââââââŒââââââââââââââââââââââââââââââââââââŒââââââââââââââââââââââ€
â ð æä»¶è¯»å (read) â @deepseek-ai/dsh-tool-fs â 100% (æè¡åç/æªæ) â
â âïž æä»¶åå
¥ (write) â @deepseek-ai/dsh-tool-fs â 100% (ååèŠå/èªå»º) â
â âïž ç²Ÿç¡®çŒèŸ (edit) â @deepseek-ai/dsh-tool-str-replace â 100% (å€åç²Ÿåæ¿æ¢) â
â ð» ç»ç«¯æ§è¡ (bash) â @deepseek-ai/dsh-tool-bash â 100% (è·šå¹³å°è¿çšæ± ) â
â ð æ£åæ£çŽ¢ (grep) â @deepseek-ai/dsh-tool-fs-search â 100% (Ripgrep é«é) â
â ð æä»¶æ¥æŸ (find) â @deepseek-ai/dsh-tool-fs-search â 100% (Glob éåœå¹é
) â
â ð² ç®åœç»æ (ls) â @deepseek-ai/dsh-tool-fs â 100% (å
æ°æ®æ ç¶å䞟)â
â ð ä»»å¡è·èžª (Todo) â @deepseek-ai/dsh-tool-todo â 120% (è¶
éåççæ¿) â
â ð€ Agent 埪ç¯/CoT â @deepseek-ai/dsh-agent-loop â 100% (æµåŒæç»ŽéŸ) â
â ðŸ äŒè¯ååš/å猩 â @deepseek-ai/dsh-session + SQLite â 100% (JSONL + å猩) â
â ð 亀äºçé¢ â 36 äžªå®æ¹åŸ®å端 UI ç©éµ â 200% (Web GUI èµèœ) â
âââââââââââââââââââââŽââââââââââââââââââââââââââââââââââââŽââââââââââââââââââââââ
诊ç»åæ°å¯¹ç §äžæºç è§£æè¯Šè§ïŒð Pi vs Pi-DSH åèœå¯¹æ ç©éµäžæºç è§£æ
åã ð§© åºæ¯åé¢è®Ÿç©éµ (Presets for Developers)
åš Pi-DSH äžïŒPresetïŒé¢è®ŸïŒ å³å®äº Agent åšç¹å®äŒè¯äžçèœåéäžæé蟹çãæä»¬æçŒäº 3 ç§é¢åçå®åŒååºæ¯çé¢è®ŸïŒ
ãéæ©äœ çåŒååºæ¯ã
â
ââââââââââââââââââââââââââââââââââŒâââââââââââââââââââââââââââââââââ
⌠⌠âŒ
ãåºæ¯ 1ïŒå
šèœçŒç 婿ã ãåºæ¯ 2ïŒå®å
šä»£ç 审æ¥ã ãåºæ¯ 3ïŒæç®è¿ç»Žç»ç«¯ã
éèŠå代ç ãæ¹æä»¶ãè·æµè¯ åªçäžæ¹ãå®å
šå®¡è®¡ãææ¥ Bug æ§è¡èæ¬ãå®¹åšæå»ºãç¯å¢æ£æ¥
â â â
⌠⌠âŒ
ð standard (æ åå
šèœæš¡åŒ) ð¡ïž reviewer (代ç å®¡æ¥æš¡åŒ) â¡ minimal (æç®ç»ç«¯æš¡åŒ)
å
å« Pi å
šå¥ 6 æ žå¿å·¥å
· ä»
åªè¯»æçŽ¢ïŒçŠåçŠç»ç«¯ ä»
泚å
¥ BashïŒæç Token
- ð
standardïŒæ åå šèœæš¡åŒ ââ é»è®€æšèïŒïŒé å€æä»¶è¯»åã粟ååæ¿æ¢ãBash ç»ç«¯ãRipgrep å šå±æ£çŽ¢äž Todo çæ¿ïŒéåæ¥åžžå šæ çŒç äžåèœåŒåã - ð¡ïž
reviewerïŒä»£ç 审æ¥äžå®¡è®¡æš¡åŒïŒïŒä» åŒæŸview_fileäžgrep_searchãå®å šç§»é€äºæä»¶ååäžç»ç«¯æ§è¡å·¥å ·ïŒ100% æç»è¯¯æ¹çº¿äžä»£ç ïŒäžçšäº PR Review äžå®å šå®¡è®¡ã - â¡
minimalïŒæç®ç»ç«¯è¿ç»Žæš¡åŒïŒïŒä» ä¿çrun_commandïŒBashïŒãå€§å¹ ç²Ÿç® System Prompt äžå·¥å ·å£°æïŒå°å蜮 Token æ¶èéè³æäœïŒéå CI/CD äžèªåšåèæ¬ã
äºã ðïž Cordis åŸ®å æ žäžäž€çº§é çœ®æ¶æ
Pi-DSH éçšå è¿ç 䞀级解èŠé 眮暡åïŒç¡®ä¿ç³»ç»åšä¿æåŸ®å æ žé«å èçåæ¶çµæŽ»æ¯æåç§å®å¶éæ±ïŒ
âââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââ
â 1. åºç¡è®Ÿæœå±ïŒProfiles (profiles/*.yml) â
â èŽèŽ£è£
蜜系ç»åºå±æå¡ïŒWebServerãRPC çœå
³ãååšåŒæã埮å端 Bundle æž
å â
âââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââ€
â 2. äŒè¯èœåå±ïŒPresets (presets/*/agent.cordis.yml) â
â èŽèŽ£åšè¿è¡æ¶åç¹å® Agent äœçšååšææ³šå
¥å·¥å
·éäž System Prompt â
âââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââ
- åšææ¬å° Monorepo çŽè¿ïŒå¯åšåšèªå𿫿çžé»ç
deepseek-harnessä»åºç©çè·¯åŸïŒæ éååž npmïŒä¿®æ¹ä»£ç åçèåšå³æ¶çæïŒ - é¶ç¡¬çŒç ç»å¯¹è·¯åŸïŒææ Profile äž Preset é 眮åéçšè·šå¹³å°çžå¯¹è·¯åŸïŒéå€å éå³å¯çŽæ¥è¿è¡ã
å ã ð 亀äºåŒèœåæ¥çŒäžææäŸèµåŸ
æåŒ Web GUIã讟眮ã->ãæä»¶ã->ãð äŸèµåŸãïŒå³å¯äœéª 60fps ç亀äºåŒæ¶ææææµïŒ
- ð² åååå±æææµ (Hierarchical DAG)ïŒ
第 1 åïŒâ¡ 宿䞻åºå±é©±åš (Providers:fs-local,subprocess-localç)第 2 åïŒð æå¡é¢äžéä¿¡çœå ³ (Services & RPC:typert,gatewayç)第 3 åïŒð€ æºèœäœå æ žäžå·¥å · (Agent & Tools:tool-fs,agent-loopç)第 4 åïŒð æµè§åšåŸ®å端 UI ç©éµ (Micro-Frontends:ui-sidebar,ui-conversationç)
- DSH èœåæ¥çŒäžäœäžäœèŸšæïŒçŽè§è¿æ»€
⡠驱åšå®ç°ãðš äžå¡æ¶è޹äžð å¥çºŠå®ä¹ïŒ - åäž»é¢åçèªéåºïŒæ·±è²æš¡åŒäžæµ è²æš¡åŒå®æ¶æ çŒåæ¢ã
äžã ð æ·±åºŠææ¡£äžå¿ (Documentation Hub)
äžºäºæ»¡è¶³äžåé¶æ®µåŒåè çæ¢çŽ¢éæ±ïŒPi-DSH 建ç«äºåå±éè¿çææ¡£äœç³»ïŒ
| ææ¡£åç§° | éå读è | æ žå¿å 容 |
|---|---|---|
| ð¯ Pi vs Pi-DSH æ žå¿èœå对æ ç©éµ | æ³äºè§£åèœèŠç床çåŒåè | éé¡¹å¯¹æ¯ Pi åçå·¥å ·éŸãæºèœäœåŸªç¯äžé¢è®Ÿåºæ¯åå |
| ð ïž DSH 宿¹çæéæäžéé æ¹åšææ¯ææ¡£ | æ³äºè§£åºå±è¡¥äžäžæå»ºæºå¶çåŒåè | 诊解 Typert RPC åŒæ¥åŸ®èœ®è¯¢ä»£çãäŸèµåŸææ§œæ³šå ¥äžè·šä»åºæå»ºå·¥äœæµ |
| ð Cordis åŸ®å æ žå šéŸè·¯éæäžæé宿æå | æ·±å ¥åŸ®å æ žæ¶æçåŒåè | 深床解å Cordis éåŒäŸèµæ³šå ¥ãåç«¯åŸ®å æ žåæäž 5 å€§å ³é®çªç Žæåœ¹ |
| ð çæ¬æŽæ°æ¥å¿ (CHANGELOG.md) | å ³æ³šçæ¬è¿ä»£çåŒåè | è®°åœ v0.1.0 ~ v0.4.0 ç宿޿¶æè·è¿äž Commit 远溯 |
| ð æ¶æå³çè®°åœ (ADR / Agent Notes) | æ¶æåžäžæ žå¿èŽ¡ç®è | è®°åœèœåæ¥çŒåŸã埮å端路ç±ååçå ³é®ææ¯å³çäžæè¡¡ |
Pi-DSH â ç°ä»£åŸ®å æ žäžå·¥äžçº§ Agent è¿è¡æ¶çåè¶ç»åã
No comments yet. Be the first to write one.