DSH Context OS:用完整、可替换的资源服务组合每一轮 Agent 运行

前言

在 DeepSeek Harness(DSH)里做 Agent,常见做法是固定工作区、持久会话、技能目录或一套写死的工具。这些选择能加快产品落地,也会把「文件在哪、历史怎么恢复、说明从哪加载」写进架构里。换执行环境(例如从本机迁到沙箱)、换机器续聊、或让用户按任务自由选资源,往往要改 Agent 本体或搬会话文件。

下面介绍社区插件 DSH Context OS(weijiafu14/dsh-context-os)。它把一轮运行的基础收窄为:在特定上下文组合下执行的 Agent loop;执行环境、代码、会话历史、文档等以「完整服务」接入,由框架装配上下文并路由事件,DSH 仍负责模型交互与原生执行循环。

这是什么

DSH Context OS 是 DeepSeek Harness 的插件,维护者为 weijiafu14,在 SkillHub 社区目录中归类为工作流。项目 slogan 为:ReAct is all you need. Everything is a context connector. —— 用完整、可替换的资源服务组合每一轮 Agent 运行。

当前为实验版 0.2.0(MIT 许可)。README 写明:上下文组合运行时与 Web 拖拽界面已可用;完整模式通过随包启动器配合固定 commit 的 DSH 构建运行。统一资源审计、Agent 辅助选连接器等属于后续步骤。

设计思路与文章 《以上下文装配与反馈作为框架边界》 一致。SkillHub(https://www.skillhub.cn/plugins/weijiafu14/dsh-context-os)是独立社区站点,与 DeepSeek / 幻方无官方从属关系;DSH 生态理念是「一切皆插件」,安装前请自行审阅源码与许可证。

三层架构与一轮运行的路径

flowchart TB
  services["上下文连接器 · 完整服务"]
  os["DSH Context OS"]
  dsh["DSH · Agent loop"]
  services <-->|上下文贡献 / 事件| os
  os <-->|装配输入 / 调用与记录| dsh

一个 connector 对应一个完整服务:说明、可调用能力、执行反馈、持久化与收尾在同一边界内。框架负责贡献身份、顺序、校验与装配;DSH 负责底层 loop。服务依赖沿用 DSH/Cordis(例如仓库服务依赖执行环境服务)。

每轮运行的大致步骤:

  1. 选中的连接器初始化,贡献说明、能力及合法历史。
  2. 每次模型步骤前,框架合并各服务当前贡献为下一次输入。
  3. 模型发起操作,框架路由到拥有该能力的连接器。
  4. 服务操作自有资源并返回结果,必要时更新后续上下文。
  5. 记录与收尾事件回传服务,用于持久化、业务收尾与释放资源。

同一套边界既用于启动前的装配,也用于运行中的反馈(按需加载知识、新日志、工具结果等)。

核心功能(0.2.0 已核实范围)

本版已提供 需集成方或后续建设
统一事件与上下文贡献、归属隔离与冲突检查 统一资源读写账本、任意网络与 Shell 副作用拦截
DSH Web 拖拽组合器、可复用宿主 UI 通过 Agent 对话辅助选择连接器
原生执行工具、Skill、MCP、会话历史、子 Agent 适配及 PTC 执行投影 面向生产的沙箱、远端会话、企业服务后端
独立框架入口与完整文档服务示例 通用上下文预算、压缩策略插件
已验证的更新、撤销、冷恢复、服务替换与持久化行为 跨机器迁移执行中进程、多写入方会话同步

连接器实现 { id, events, handle(event) }。运行时核心事件包括 run/initialize、agent/prepare-step、tools/execute、session/event、run/settled;处理后可 put / remove / append / answer 等上下文贡献。协议细节见仓库 docs/protocol.md。

产品侧可组合的典型意图(来自 README 表格,具体连接器需你在环境中自行配置):

本轮任务 选中的服务(示例)
修复 Bug 任务输入 + 仓库 + 沙箱 + 指定历史
评审设计 任务输入 + 团队文档 + 架构知识 + 会话历史
排查线上问题 任务输入 + 日志来源 + 代码服务 + 事件处理历史

Web 端已支持将可用连接器拖入本轮、编辑配置并创建独立 DSH 会话;开发者也可用 /core 等入口以 API 构造相同组合。

公开包入口:dsh-context-os 插件本体、组合核心 /core、兼容适配 /compat、React 组合器 /ui。需要 Node.js ≥ 24.9。

安装与启用

官方要求:除 npm 版本号外,还须使用已构建的 DSH commit 22ddee3792402c3e70ec5f86a63c3e3e895a2f60(标签 0.2.1-rc.3)。请将 /absolute/path/to/pinned/deepseek-harness 换成你本机该构建的实际路径。

从 npm 安装到兼容的 DSH Web profile:

dsh plugin --profile web add dsh-context-os@0.2.0 --ignore-scripts --config.auto-install-peers=false -w
"${DSH_HOME:-$HOME/.dsh}/profiles/web/node_modules/.bin/dsh-context-os" --dsh-root /absolute/path/to/pinned/deepseek-harness --profile web

上述第二行通过随包 CLI 启动:在 DSH 启动前装入经版本核对的上下文准备与接纳适配,并启用完整事件驱动模式。进入 Web 后打开 上下文组合,选择连接器、输入任务并开始运行。

也可从 GitHub Releases 获取安装包;自行构建时在项目源码目录设置 DSH_SOURCE_ROOT 后执行 npm run build 与 npm pack,再用 dsh plugin --profile web add /absolute/path/dsh-context-os-0.2.0.tgz ... 安装(命令格式与 npm 安装相同,见 README.zh-CN)。

典型用法示例

向文档连接器投递来源事件(假设已装配 examples/documentService.ts 所示的完整文档服务):

const receipt = await run.send(
  'documents/changed',
  { policy: '采用更新后的评审规则。' },
  'documents',
);
await receipt.completed;

send() 确认事件已被接纳;completed 等待执行、子任务与持久化结束。跨机器续聊在架构上可表述为:选择历史 + 选择本轮服务 + 执行 Agent loop,历史由会话服务负责,执行资源由环境服务负责。

0.2 还支持宿主向连接器授予受限的 catalog、start、send、wait、stop 等运行管理能力;子运行与父运行共用同一套组合机制,详见 docs/run-control.md。参考应用:DSH COS Super-agent。

适用场景与注意

适合谁: 需要在 DSH 上按任务组合执行环境、仓库、文档、历史、Skill/MCP 等,并希望用「替换单个完整服务」验证行为(例如本地文件后端换 HTTP 后端)的开发者;需要 Web 拖拽配置一轮连接器组合的团队。

务必注意:

  • 插件在 当前 DSH 进程权限 下运行;README 明确本包不提供不可信插件代码隔离,也不会自动记录任意 Shell 命令的全部外部影响。安装前请阅读源码、MIT LICENSE 与 NOTICE。
  • 状态为 experimental;peer 运行时由兼容 DSH 提供,独立 Electron 安装发行版尚未单独验证。
  • 压缩仍主要由底层运行时提供,Context OS 尚未开放通用预算与压缩策略插件接口。

结尾

DSH Context OS 把 ReAct 循环与外部世界的关系做成可组合的「上下文连接器」:框架管装配与事件,服务管资源与持久化,换环境或换历史往往只需换选中服务而非重写 Agent。

  • 社区目录:https://www.skillhub.cn/plugins/weijiafu14/dsh-context-os
  • 源码与文档:https://github.com/weijiafu14/dsh-context-os
羽毛球分组比赛记分
小程序二维码

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

Xiaoye