前言¶
DeepSeek Harness (DSH) 的核心设计理念是「一切皆插件」。当开发者使用 Agents Anywhere (AA) Connector 管理本地 Agent 会话时,需要一种方式将 DSH 的能力暴露给 Connector。xipian1216/dsh-aa-bridge 就是这个桥接层,它让 AA 能够通过 JSON-RPC 调用 DSH 的 Session、Timeline 和控制能力。
功能概览¶
插件通过有版本的 JSON-RPC API 暴露了 Session、Turn、Timeline、模型、权限、命令、取消和交互能力。
- 共享资源:Connector 与浏览器共享 DSH Web 进程中的 Session 日志、Agent registry 和操作队列。
- 模型切换:插件创建或恢复的 Agent 支持切换模型与推理强度;借用 Desktop 已有 Agent 时,若模型不同会返回
UNSUPPORTED_OPERATION。 - 权限管理:权限选择通过 DSH 的
permissionPresets写入真实 Session。 - 工作区管理:AA 创建 Session 时会按 canonical cwd 创建或复用 DSH Workspace。
- 会话名册:Session 名册携带 DSH Desktop 可见性,本地归档、空白会话和 subagent 会话进入 Archived,普通会话进入 Active。
- 操作稳定性:写操作按 Session 串行执行,使用稳定的 client message ID 处理重试。
- 断连处理:Connector 断开后 DSH Web 与实时 Session 继续运行,Connector 可重新连接。
- 安全绑定:SDK 端点只绑定 127.0.0.1;随机认证令牌保存在权限为 0600 的端点文件中。
- 失败处理:Bridge 通知失败只记录为同步告警,不会撤销已经接受的 DSH 操作。
安装与启用¶
安装前请确认当前 DSH 版本(当前基线为 0.1.0-rc.7)。插件安装到承载 Web 的 profile(例如 web)。
dsh plugin --profile web add github:xipian1216/dsh-aa-bridge#v0.2.0
安装完成后,启动 dsh web。插件启动后会在 $DSH_HOME/agents-anywhere/bridge/endpoint.json 写入 Connector 发现文件,端点端口和认证令牌由插件自动生成。
Agents Anywhere 配置¶
在 Agents Anywhere 中配置 DeepSeek Harness 时,建议设置以下参数以适应本地环境的网络延迟:
| 配置项 | 建议值 |
|---|---|
startupTimeoutMs |
30000 |
requestTimeoutMs |
60000 |
maxRestartAttempts |
3 |
restartBackoffMs |
1000 |
限制与注意事项¶
- 运行环境:仅支持同一机器、同一操作系统用户。
- 连接限制:一次只接受一个 Connector 连接;同一个
DSH_HOME同时只允许一个 Bridge endpoint owner。 - 兼容性:不支持跨主机共识、网络分区接管或多个 DSH 进程合并同一 Session 日志。
- 附件支持:当前协议不支持图片和普通文件附件。
- Desktop 限制:DSH rc.7 没有公开 Desktop live Agent 的 canonical model-selection handle,因此 borrowed Session 无法从插件切换 provider、model 或 reasoning effort。
- 会话状态:DSH Web 的当前选中 Session 是浏览器本地状态,Host bridge 不会暴露空白占位会话;空白会话开始第一个 turn 后才进入 AA Active。
- 归档行为:AA 当前不会根据后续的
hidden=false自动取消已有归档;已在 AA 中归档的普通会话需要手动取消归档一次。 - 许可证:未在资料中明确指定许可证名称(仅提及 LICENSE 文件)。
总结¶
此插件解决了 Agents Anywhere 与本地 DeepSeek Harness 进程通信的问题,提供了标准化的 JSON-RPC 接口。它不启动额外的 DSH 进程,而是依附于已运行的 Web 端。开发者可根据上述限制调整使用策略。