前言¶
在 DeepSeek Harness(DSH)里跑智能体时,工作区怎么建、会话怎么发消息与插队、配置项怎么改且不撞车——这些能力本来在桌面端或通过 DSH 内置服务完成。若希望智能体在工具链里自助完成上述操作,又不能直接改 DSH 磁盘上的文件,就需要一层「走官方服务、带预览与审批」的主机侧工具。
下面介绍的 dsh-host-ops(仓库 laughinbytes/dsh-host-ops)是 laughinbytes 维护的社区插件(非官方),分类属于 admin-security 方向:只提供工具、没有 UI,通过 DSH 的 workspaceRegistry、sessionController、configEditor、approval 等服务暴露工作区、会话与可编辑配置行,并对写操作做预览、审批、审计与回滚。
这是什么¶
- 定位:Host-side operations for DSH agents — workspaces, sessions, and governed configuration changes(tools only, no UI)。
- 维护者:laughinbytes(MIT 许可证,当前包版本 0.1.0)。
- 入口:插件目录页 skillhub.cn;源码与说明以 GitHub README 为准。
插件不直接编辑 DSH 文件;所有调用经由 DSH 自有服务完成。
核心功能:三个工具¶
dsh_workspace_manage¶
对工作区做注册表级操作:list、get、create、rename、reorder、remove。其中 remove 仅注销工作区,文件、会话与历史仍保留。
dsh_session_manage¶
会话生命周期与消息投递,包括:list、get、search、read、start、send、steer、queue、wait、notify、fork、attach、rename、reorder、sort、pin、unpin、archive、unarchive、cancel、model。
投递语义(摘自 README):
send:下一轮送达;空闲目标立即开始,运行中目标在当前轮次结束后收到(不打断)。steer:注入当前正在执行的轮次,下一步采纳;若目标空闲则退化为queue并说明。queue:只查看或编辑待发送消息,不发送新文本。send、steer、start、read、wait返回cursor;作为after传给read/wait可只取该点之后的变化。wait支持until: done | reply | step,超时时返回部分内容及idleForMs。
dsh_config_manage¶
对当前 profile 中任意可编辑配置行(DSH 核心行与已安装插件行均可)执行:list、get、set、reset、revert、history。
写操作治理¶
对配置的写入并非裸写,而是一套约束(README 原文要点):
- Preview token:写操作须携带 preview 返回的 token;token 由当前状态重算,中间状态变化会导致拒绝(防 TOCTOU)。
- Approval:须通过
approval.request得到allowed-once;无审批通道则失败关闭。 - Audit:每次生效的写入记入内存审计(最近 100 条),含前后 override;工具结果带 receipt 与恢复步骤。
- Revert:按
auditId做冲突检查后回滚;当前值不一致则拒绝并列出冲突。 - Masking:含 key/token/secret 等敏感字段在 preview、receipt、approval、history 中脱敏(含嵌套如
providers[].apiKey)。 - 对
agent-loop、webserver、connection、modules等启动必需行,会附带警告与应急恢复说明。
安装与启用¶
在 Desktop profile 下从官方索引安装:
dsh plugin --profile desktop add dsh-host-ops
从 GitHub 安装:
dsh plugin --profile desktop add "github:laughinbytes/dsh-host-ops#main"
desktop 对应桌面应用 profile;Web UI 使用 web。也可在 Plugins → Add plugin 添加。无需自行声明或安装 @deepseek-ai/* 包,它们作为 peerDependencies 由 DSH 安装解析。
插件配置项¶
主机侧插件在 Plugins 页没有可编辑表单,仅组件开关键。下列选项写在插件行上(默认值如下),宜通过智能体调用 dsh_config_manage(含 preview/approval/audit)修改:
| 选项 | 默认值 | 含义 |
|---|---|---|
approval |
ask |
ask:每次配置写均需审批;never:配置写只读 |
requirePreview |
true |
写操作需要 preview token |
strictErrors |
false |
每条降级路径均抛错(开发/测试用) |
典型用法与验证¶
安装后,向智能体发起自然语言即可触发工具,例如 README 建议的端到端冒烟:
- 让智能体执行「list my workspaces」;工具正常返回且无报错,即表示链路可用。
仓库内还提供本地验证脚本(开发者向):
node scripts/verify-dsh-host-ops.mjs
node scripts/verify-dsh-host-ops-schema.mjs
兼容性与限制¶
- DSH:
>=0.2.1-rc.2或>=0.2.2-rc.1(README 注明在0.2.2-rc.1上测试)。 - Node:
>=22.19.0。 - 平台:macOS Desktop 已验证,其他平台未测试。
- 审计历史仅在内存中保留最近 100 次写入。
- 配置编辑仅覆盖已有行的顶层字段;不能安装/启用插件 bundle、不能改 agent preset、不能直接写 DSH storage 文件。
卸载与应急¶
在 Plugins 中禁用或移除 bundle,或执行:
dsh plugin --profile desktop remove dsh-host-ops
经工具写入的配置 override 仍留在 profile 的 patch 层,可用 dsh_config_manage 的 revert/reset 收回。若改过启动必需行导致 DSH 无法启动:退出 DSH,将 ~/.dsh/profiles/<profile>/cordis.patch.yml 重命名为 .bak-<timestamp> 后重启;原始值可在工具 receipt 中查看。
适用场景与注意¶
适合谁:需要在 DSH 智能体侧自动化管理工作区与会话、在审批与审计约束下改 profile 配置的开发者或运维向用户;分类 admin-security 与「治理写配置」的设计一致。
务必注意:
- 插件以当前 DSH 进程权限运行,安装前应阅读源码与 MIT 许可证,确认是否符合你的安全策略。
- 社区目录 skillhub.cn 为独立生态站点,与 DeepSeek / 幻方无官方从属关系;本插件为 unofficial community plugin。
- GitHub 上星标数为 0(截至目录信息),使用前自行评估成熟度。
结尾¶
dsh-host-ops 把 DSH 自己的工作区、会话与配置编辑能力封装成三组工具,并通过预览、审批、审计与回滚约束写路径,适合「智能体自助运维 DSH 主机状态、但不碰磁盘配置文件」的场景。进一步了解请查看 插件目录页 与 GitHub 仓库。