跳到正文

yoke233/dsh-prime-agent

30最近提交 2026年8月15日

dsh-prime-agent DSH 插件

dsh-prime-agent 是一个 DSH 插件,为代码模式会话提供持久 TypeScript Realm。普通顶层变量、函数和对象可以在连续 run_code 调用中存活,同时其他会话保持官方一次性语义不变。

如何安装 dsh-prime-agent DSH 插件

dsh plugin --profile web add ./dsh-prime-agent

复制不会执行命令。安装 dsh-prime-agent DSH 插件前请核对仓库和版本。

dsh-prime-agent DSH 插件数据来源

dsh-prime-agent DSH 插件快照日期:2026年8月16日

discovered

dsh-prime-agent DSH 插件能做什么

  • 持久 TypeScript Realm:通过长期 Worker 使上一 cell 的变量、函数和对象在下一 cell 中可用。
  • 子 Agent 编排:支持带收件箱/发件箱模式的持续子 Agent 和独立生命周期的后台任务(Jobs)。
  • 持续学习(prime_refine):基于证据的持久优化,包括提示、记忆、技能和子 Agent,支持乐观并发和回滚。
  • 身份握手:通过 prime_realm_identity 绑定和 HMAC 证明安全路由请求到正确的持久 Realm。
  • 可配置:状态目录、工具名称、代码模式要求、编排工具以及池限制(maxActiveRealms、maxIdleMs 等)。

dsh-prime-agent DSH 插件适合哪些场景

  • 在单个会话中跨多个代码 cell 逐步构建复杂数据结构。
  • 编排并行子 Agent 处理独立任务,通过持续子 Agent 或后台任务收集结果。
  • 使用 prime_refine 工具捕获和应用重复模式、用户纠正或稳定策略,无需手动调整提示。
  • 通过 live namespace 跨 cell 共享大型中间结果,减少冗余计算。

dsh-prime-agent DSH 插件适合谁

  • 需要跨代码执行持久状态的 DeepSeek Harness 高级用户。
  • 构建需要子 Agent 编排和持续学习的复杂 Agent 工作流的开发者。
  • 希望从一次性代码模式迁移到交互式长时间运行会话的用户。

dsh-prime-agent DSH 插件的限制

  • Realm 仅存活于内存中:abort、timeout 或 OOM 会硬杀死 Worker,丢失所有 live namespace 变量 – 检查点必须显式写入持久任务文件。
  • 持续学习处于次要位置:不应存储研究资料、任务状态或大上下文,仅记录稳定、可复用的模式。
  • 要求 DSH peer range 0.1.x 和预配置的 DSH 环境(headless 模式需要额外安装 shim)。
  • Prime preset 需手动为每个会话选择;默认 preset 和其他 preset 保持一次性语义。

dsh-prime-agent DSH 插件的仓库 README 摘录

以下文字摘自 dsh-prime-agent DSH 插件的上游仓库 yoke233/dsh-prime-agent 的 README,版权归原作者,仅作引用。

`dsh-prime-agent` 是面向 DeepSeek Harness 的 RLM-first 控制面。选中 Prime preset 的会话,其 `run_code` 程序运行在一个经认证的长期 TypeScript Realm 里:上一 cell 声明的普通变量、函数和对象,下一 cell 可以直接使用。 ```ts // 第 1 次 run_code const lookup = new Map(records.map(item => [item.id, item])) const review = async (id) => tools.review_item({ item: lookup.get(id) }) lookup.size // 第 2 次 run_code —— 同一会话的新调用 await review('a') // Map 和函数都还活着 ``` 普通会话完全不受影响,继续使用官方 one-shot 语义。 ## 工作原理 <p align="center"> <img src="./assets/readme/architecture.svg" width="100%" alt="混合运行时路由:run_code 经 DSH Code Mode bridge 进入 PrimeCodeRuntime,握手认证通过的会话路由到持久 Realm Worker,其余请求走官方 one-shot Worker"> </p> - 插件注册固定名称的 `prime_realm_identity` bootstrap binding。`PrimeCodeRuntime` 在执行程序前以 32 字节 CSPRNG challenge 调用它,验证带 session binding 的 HMAC proof 后,才把请求路由到该会话的持久 Realm Worker。 - 没有该 binding 的请求原样委托官方 one-shot Worker;binding 存在但握手失败时明确报错,绝不静默降级。 - Realm 内的工具经跨 run 稳定的 Proxy 与 per-run binding lease 调用:schema、审批、沙箱、日志、并发和取消仍由 DSH 执行,run 结束立即撤销授权。 - Realm 是 live-only 的:abort、timeout、OOM 会 hard-kill Worker 并丢失 namespace,下一次真正执行时会明确提示之前的 bindings 已丢失。跨重启的检查点由程序显式写入持久任务文件。 完整身份协议、namespace 生命周期、Agent 编排与学习层边界见 [当前架构](docs/architecture.md)。 ## 三层数据 | 状态层 | 责任 |

阅读完整 README仓库许可: MIT

dsh-prime-agent DSH 插件常见问题

如何安装 dsh-prime-agent?

在仓库根目录执行 `npm install && npm run check`,然后运行 `dsh plugin --profile web add ./dsh-prime-agent`。该命令会安装插件,同时注入一个替换 code-runtime provider 的补丁,并在首次启动时把 Prime preset 部署到 $DSH_HOME/.agent-presets。

如何为会话启用持久 Realm?

启动会话时选择 Prime preset。该 preset 会放在 $DSH_HOME/.agent-presets/prime(仅当缺失时)。使用其他 preset 的会话继续使用官方一次性语义。你也可以在 cordis.patch.yml 中设置默认 preset,使所有会话都使用 Prime。

如果 Realm Worker 因超时或 OOM 崩溃了怎么办?

Worker 会被硬杀死,所有 live namespace 变量丢失。下一次 run_code 会明确提示之前的 bindings 已丢失。要跨重启保留状态,必须显式将检查点写入持久任务文件(使用文件系统操作)。

能否在 headless 模式下使用 dsh-prime-agent?

可以,但需要安装 prime-headless-shim 并设置隔离的 DSH_HOME 以及必要的依赖项。README 提供了详细的 PowerShell 脚本指导。此外,还需要将 headless profile 的默认 preset 配置为 Prime。

持续学习功能(prime_refine)如何工作?

prime_refine 允许模型持久存储提示、记忆、技能和子 Agent。它使用基于证据的事务,并支持乐观并发。通过 `inspect` 查看当前状态,使用 `apply` 附带触发条件和预期结果来添加条目,使用 `rollback` 回滚到之前的事务。该功能被刻意置于次要位置,不应用于存储大上下文或研究数据。