DeepSeek Harness 插件:dsh-preset-run

前言

在 DeepSeek Harness (DSH) 中,使用 Agent 预设(如 router-spec 或 standard)通常需要手动打开 Web 界面,新建会话,选择预设,然后输入任务。这种流程在自动化脚本或批量处理场景下效率较低。我们需要一种编程方式来复用这些预设能力。

插件介绍

yigesama/dsh-preset-run 是 DeepSeek Harness 的一个插件。它将“Web 会话 + Agent 预设”封装成可编程接口。通过注册一个 host-plane 工具 preset_run,可以在任意会话中启动一个全新的独立子会话,执行任务并返回最终回答文本。这等价于无头模拟 Web UI 的“新建会话 → 选预设 → 发消息”流程。

安装

插件必须通过 dsh plugin add 装进 profile。安装后需重启 web 进程使工具生效。

dsh plugin --profile web add "github:YiGeSama/dsh-preset-run"

环境要求:
* DeepSeek Harness >= 0.1.0-rc.6
* Node.js >= 18(建议 20+)
* 已配置可用的模型服务(settings.yaml 的 agent-default-model)
* 目标预设已存在于部署的 roster 中(如 router-spec、minimal)

Windows 注意:若使用本地路径安装且包含空格,dsh plugin 可能报错。建议使用 GitHub 安装或克隆到无空格路径。

使用

在会话中直接调用 preset_run 工具。它接受预设 ID 和任务文本作为参数。

// 示例 1:调用路由预设
preset_run("router-spec", "请调用 dev_router_status 工具并输出结果")

// 示例 2:调用极简预设
preset_run("minimal", "1+1=?")

// 示例 3:调用标准预设
preset_run("standard", "把 README.md 里的 TODO 列表整理成表格")

参数:
* preset:Agent 预设 ID。支持 dsh 官方默认预设(standard、code、minimal、cordis)以及第三方路由预设(router-spec、router-standard)。
* timeoutMs:可选参数,控制单次子会话运行的最长耗时(默认 600000ms)。

注意事项

权限与安全:
* preset_run 让任何能调用它的会话都能开启子会话,能力较强。多用户或不可信环境部署时,需确认只有受信调用方能触达。
* 子会话沿用部署的默认权限预设。在默认 workspace-write + ask 环境下,子 agent 若需提权会进入审批流程。需要无人工介入时,请把权限预设配成 danger-full-access。
* 子会话是一次性的,返回文本后即销毁,不留历史。

router-spec 限制:
* router-spec 预设设计为首轮只暴露核心工具(read、edit、glob、grep + shell),首次工具调用后才开放完整目录。
* 若在 router-spec 子会话中调用 dev_router_status,需先执行一次 shell 命令(如 pwd)来触发目录开放。

总结

dsh-preset-run 提供了在 DSH 中以编程方式复用 Agent 预设的能力,适合需要自动化调用特定 Agent 行为的场景。

羽毛球分组比赛记分
小程序二维码

欢迎使用《羽毛球分组比赛记分》微信小程序

小夜