f3348f45c0
Add events-only Context Runtime shadow portal verification to save LLM tokens, wire Tool Gateway → dsh headless smoke, and document both flows. Co-authored-by: Cursor <cursoragent@cursor.com>
93 lines
2.6 KiB
Markdown
93 lines
2.6 KiB
Markdown
# DeepSeek Harness (dsh) 本地开发
|
||
|
||
> MIT · developer preview · **并列 code executor,不替换 goosed**
|
||
> 关联:[context-runtime-harness-fusion-plan.md](./context-runtime-harness-fusion-plan.md) §6.3
|
||
|
||
## 用途边界
|
||
|
||
| 允许 | 禁止 |
|
||
|------|------|
|
||
| `tool-gateway` 白名单 task type 的 headless 代码任务 | 替换 Goose + `tkmind-proxy` 主路径 |
|
||
| 与 aider / openhands / cursor 并列 executor | 103 默认开启 |
|
||
| 小范围验证 Cordis / plugin 模型 | 未批准的大流量 smoke |
|
||
|
||
## 安装(本机一次)
|
||
|
||
Memind launch plan 与 smoke 脚本固定 pin:
|
||
|
||
```bash
|
||
npm install -g @deepseek-ai/dsh@0.1.1-rc.2
|
||
dsh --version # → 0.1.1-rc.2
|
||
which dsh # Homebrew 全局 npm 通常在 /opt/homebrew/bin/dsh
|
||
```
|
||
|
||
未装本地二进制时,代码会回退 `npx -y @deepseek-ai/dsh`(首次也会下载包)。
|
||
|
||
## 开关(默认全关)
|
||
|
||
```bash
|
||
MEMIND_TOOL_GATEWAY_DSH_ENABLED=0
|
||
MEMIND_TOOL_GATEWAY_DSH_TASK_TYPES=repo_refactor,multi_file
|
||
MEMIND_DSH_BIN=dsh
|
||
# MEMIND_DSH_FORCE_NPX=1 # 强制 npx 路径
|
||
```
|
||
|
||
见 `docs/goose-v149-canary.env.example`。
|
||
|
||
## 离线验证(零 LLM)
|
||
|
||
```bash
|
||
node scripts/check-dsh-executor-local.mjs
|
||
# → DSH_EXECUTOR_CLI_OK
|
||
|
||
MEMIND_TOOL_GATEWAY_DSH_ENABLED=1 node scripts/check-dsh-executor-local.mjs
|
||
# → DSH_EXECUTOR_OK(仅 dry-run launch plan,不 spawn)
|
||
```
|
||
|
||
## Live smoke(耗 token,须批准)
|
||
|
||
**默认禁止** Agent 自动跑 live。人工一次性:
|
||
|
||
```bash
|
||
export DEEPSEEK_API_KEY=...
|
||
MEMIND_TOOL_GATEWAY_DSH_ENABLED=1 \
|
||
MEMIND_DSH_SMOKE_TASK='List three files in the workspace root and stop.' \
|
||
MEMIND_DSH_RUN_LIVE_SMOKE=1 \
|
||
node scripts/check-dsh-executor-local.mjs
|
||
```
|
||
|
||
### Token 成本闸门(2026-09-10)
|
||
|
||
- 优先 **dry-run / 单条最小 headless**
|
||
- **预计超过 10k token 必须先经用户同意**
|
||
- 禁止循环重跑、禁止 unattended `check-goosed-v149-all` / phase3 聚合
|
||
|
||
## Tool Gateway E2E(一次 headless)
|
||
|
||
```bash
|
||
MEMIND_TOOL_GATEWAY_DSH_ENABLED=1 node scripts/test-dsh-executor-gateway-e2e.mjs
|
||
# → DSH_GATEWAY_E2E_OK
|
||
```
|
||
|
||
路由 `repo_refactor` → `dsh`;会消耗 LLM token,须人工批准。
|
||
|
||
## headless 手动探针
|
||
|
||
```bash
|
||
dsh --profile headless "List three files in this directory and stop."
|
||
```
|
||
|
||
## 接入节奏(fusion-plan)
|
||
|
||
| 阶段 | 内容 |
|
||
|------|------|
|
||
| **现在** | CLI + dry-run + 文档(本页) |
|
||
| **下一步** | Context Runtime shadow 自测后,**1 次**批准 live smoke |
|
||
| **之后** | task type 白名单扩展、fallback、memind_adm 开关;103 单独决策 |
|
||
|
||
## 相关模块
|
||
|
||
- `dsh-agent-launch.mjs` — launch plan
|
||
- `tool-gateway.mjs` — executor 路由
|
||
- `llm-providers.mjs` — provider 侧 plan
|