前言¶
DeepSeek Harness 的 minimal 预设通常能提供更稳定的模型行为。但当需要使用 standard、code 或 cordis 等模式的复杂工具集时,模型容易因 schema 过大而表现不稳定。dsh-ark 通过“冻结 wire 表面、侧信道扩展”的思路,解决了这一矛盾。它将 Ark 系列预设统一冻结在 minimal 的 wire 表面(bash + str_replace_editor),将原本需要注入模型的复杂工具、指令和技能,改为通过 dsh-ark CLI 侧信道按需代理执行。
是什么¶
dsh-ark 是 DeepSeek Harness 的 Ark 模式插件,由用户 leike0813 维护,采用 MIT 许可证。
它的核心价值在于提供三个冻结的 minimal wire 预设,并通过 CLI 侧信道提供扩展能力。这使得开发者既能获得 minimal 预设的稳定性,又能通过侧信道访问 standard、code 或 cordis 目录下的完整能力目录。
核心功能¶
- 三个冻结预设:提供
ark(对应 standard)、ark-code(对应 code)、ark-cordis(对应 cordis)三个预设。这些预设的模型请求中仅包含bash和str_replace_editor工具,避免大而杂的 schema 干扰。 - 侧信道扩展:通过
dsh-arkCLI 封装指令、技能、工具、MCP 和宿主桥等能力。模型通过一条 bash 命令触发,由 CLI 代理执行。 - 动态依赖解析:运行时动态解析依赖,不依赖固定的
@deepseek-ai/dsh-*registry 版本。 - 宿主桥:Phase 2 引入经过认证的 Unix socket 桥接机制,用于与宿主插件交互。
安装与启用¶
- 安装插件:
dsh plugin --profile web add dsh-ark
- 启动 Harness:
dsh web
安装后,宿主插件会在启动时为每个预设生成对应的 $DSH_HOME/.agent-presets/<mode>/shellrc.sh,并导出 DSH_ARK_MODE(standard、code 或 cordis)和 DSH_ARK_WORKSPACE。确保配置输出中包含 agent-presets.default: ark 以及 ark、ark-code、ark-cordis 预设。
典型用法¶
在客户端中选择对应的 Ark 预设(如 Ark、Ark-Code、Ark-Cordis)后,可在终端中直接运行 dsh-ark 命令。
- 查看会话指引:
dsh-ark guide
- 列出可用工具:
dsh-ark tools list
- 调用工具(需 JSON 格式参数):
dsh-ark tools call read '{"file_path":"/tmp/x"}'
- 查看 MCP 配置:
dsh-ark mcp list
- 查看桥接状态:
dsh-ark bridge status
运行时与退出码¶
- 依赖管理:运行时从不导入固定的
@deepseek-ai/dsh-*registry 版本,而是从DSH_ARK_DSH_PACKAGES_DIR或$DSH_HOME/profiles/node_modules解析依赖图。 - 桥接通信:Phase 2 使用 Unix socket (
$DSH_HOME/ark/bridge.sock) 进行桥接,文件权限为 0600。 - 退出码:
0:成功2:用法错误3:未找到4:不可用5:上游/IO/执行失败124:超时
本地测试¶
若要在本地验证构建,可运行:
pnpm run test:publish
此命令会执行打包、重写 profile 依赖、并重新安装插件。
适用场景¶
适合需要在 DSH 中使用标准/代码/cordis 能力,但又希望保持模型稳定性的开发者。插件以当前 DSH 进程权限运行,使用前建议检查源码与许可证。
更多细节可参考项目仓库:https://github.com/leike0813/dsh-ark