feat(acp): 接入 DSH 作为 ACP harness,打通 微信→OpenClaw→DSH 派发链路
- openclaw.json
- plugins.allow 放行 acpx(限制性白名单,缺了后端不会加载)
- 新增 acp 策略段:enabled/dispatch、backend=acpx、defaultAgent=dsh、
allowedAgents=[dsh]、stream.deliveryMode=live
- 新增 plugins.entries.acpx.config:permissionMode=approve-all、
timeoutSeconds=900、cwd、agents.dsh = dsh --profile acp(绝对路径)
- 新增 OpenClaw agent dsh(runtime.type=acp → harness dsh),否则
sessions_spawn 会报 dispatch_failed: Unknown agent id "dsh"
- workspace-dsh/:该 agent 的身份文件(AGENTS/SOUL/IDENTITY/USER/BOOTSTRAP.md)。
其中的空 .git 由 `openclaw agents add` 的标准 provisioning 生成(非任何 agent 自建),
会让父仓库把它当 gitlink,已移除后纳入版本控制
- docs/bk02-dsh-openclaw-ACP集成.md:部署/配置/验证证据/排错/回滚全文
- docs/dsh-acp-smoke.mjs:ACP 独立冒烟(initialize→session/new→prompt→close)
- docs/dsh-lang-check.mjs:全局中文指令验证(英文提问看是否回中文)
- skills/delegate-to-dsh:让「交给 dsh」稳定走 ACP 派发;缺此技能时模型会
静默 fallback 到内嵌 subagent(已复现「假成功」并写入判据)
- agents/main/agent/workshop-skills/acp-backend-triage:ACP 后端排查技能
- plugin-skills/acp-router:acpx 插件自带技能(symlink,与既有渠道一致)
- .gitignore:workspace-dsh 沿用 workspace/ 白名单(只版本化顶层 *.md);
新增忽略 acpx/ 插件运行产物
验证:ACP 三条途径均通过(独立冒烟、显式 sessions_spawn、自然语言「转给 dsh」),
DSH 侧会话留痕与产物落地见 docs 文档 §5 与 §7。
This commit is contained in:
+48
-1
@@ -284,6 +284,21 @@
|
||||
"emoji": "🗄️",
|
||||
"theme": "严谨 · 务实 · 数据准确 · 先核实再动手"
|
||||
}
|
||||
},
|
||||
"dsh": {
|
||||
"name": "DSH",
|
||||
"workspace": "/home/yangxuan/.openclaw/workspace-dsh",
|
||||
"agentDir": "/home/yangxuan/.openclaw/agents/dsh/agent",
|
||||
"identity": {
|
||||
"name": "dsh"
|
||||
},
|
||||
"runtime": {
|
||||
"type": "acp",
|
||||
"acp": {
|
||||
"agent": "dsh",
|
||||
"backend": "acpx"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
@@ -552,7 +567,8 @@
|
||||
"openclaw-weixin",
|
||||
"dingtalk-connector",
|
||||
"openclaw-lark",
|
||||
"feishu"
|
||||
"feishu",
|
||||
"acpx"
|
||||
],
|
||||
"entries": {
|
||||
"ollama": {
|
||||
@@ -587,6 +603,23 @@
|
||||
},
|
||||
"memory-lancedb": {
|
||||
"enabled": false
|
||||
},
|
||||
"acpx": {
|
||||
"enabled": true,
|
||||
"config": {
|
||||
"permissionMode": "approve-all",
|
||||
"timeoutSeconds": 900,
|
||||
"cwd": "/home/yangxuan/.openclaw/workspace",
|
||||
"agents": {
|
||||
"dsh": {
|
||||
"command": "/home/yangxuan/.nvm/versions/node/v26.8.2/bin/dsh",
|
||||
"args": [
|
||||
"--profile",
|
||||
"acp"
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
@@ -660,5 +693,19 @@
|
||||
"telemetry": {
|
||||
"enabled": false,
|
||||
"consentedAt": "2026-09-11T05:15:37.421Z"
|
||||
},
|
||||
"acp": {
|
||||
"enabled": true,
|
||||
"dispatch": {
|
||||
"enabled": true
|
||||
},
|
||||
"backend": "acpx",
|
||||
"defaultAgent": "dsh",
|
||||
"allowedAgents": [
|
||||
"dsh"
|
||||
],
|
||||
"stream": {
|
||||
"deliveryMode": "live"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user