dsh-generation:分叉智能体预设并在下一代运行任务

前言

DeepSeek Harness 将智能体开发分为宿主平面(沙盒、模型路由、持久化)和智能体平面(工具、人设、提示词)。一旦会话的预设被锁定,就无法在不中断日志记录的情况下热切换工作智能体的工具集。dsh-generation 插件通过记录血统,允许复制已知良好的预设,使用常规 fs/bash 工具编辑该副本,然后在其上启动一个新的工作会话。

它是什么

这是一个 DeepSeek Harness 插件,用于分叉智能体预设并在下一代运行任务。它由 goecho 维护,属于工作流分类,许可证为 MIT。

核心功能

插件提供以下核心能力:
1. 分叉智能体预设:复制现有的智能体预设(如 standard、minimal 或 ptc)。
2. 在下一代运行任务:在分叉后的预设上执行任务。
3. 记录血统:通过 meta session 的日志记录工具调用和结果。
4. 创建新的工作会话:建立独立的工作环境。
5. 工具注册:在宿主配置文件中全局注册工具。

安装与启用

通过命令行安装插件到宿主配置文件:

dsh plugin --profile web add github:goecho/dsh-generation

安装后,需要重启 dsh --profile web 以使宿主配置文件重新加载。

典型用法

插件提供了两个主要工具:generation_fork 和 generation_run。

generation_fork

该工具用于复制预设。它调用 agentPresets.copy(from, id) 并将目的写入新预设的 preset.yml 描述中。

参数说明:
* from (必填):要复制的预设 ID。建议使用 standard、minimal 或 ptc。
* id (必填):新预设 ID,格式需符合 /^[a-z0-9][a-z0-9-]*$/,且不能已存在。
* purpose (必填):写入新预设描述的一句话。

返回值:

{ "ok": true, "id": "...", "from": "...", "purpose": "...", "path": "...", "compositionPath": "..." }

generation_run

该工具用于在分叉的预设上执行任务。它会在批准后创建一个代理,挂载该预设,执行 followup(task),等待直到空闲或超时,然后清理。

参数说明:
* preset (必填):挂载到新工作会话的预设 ID。不能是 cordis。
* task (必填):传递给 Worker 的自包含后续任务。Worker 无法看到 meta 会话的历史。

返回值:

{ "ok": true, "sessionId": "...", "presetId": "...", "stopReason": "...", "toolsUsed": [...], "lastAssistantText": "..." }

适用场景与注意事项

适用场景

适合需要基于现有可靠预设进行迭代开发、修改配置或尝试新行为的场景。通过链式调用,可以在元会话中不断分叉、编辑并运行新会话。

限制与注意事项

  1. 非替代品:它不是 Creator 模式(cordis 预设)或 cordis_define/cordis_run 的替代品,也不用于重排当前会话或给子代理更换预设。
  2. 无依赖:插件不依赖 @deepseek-ai/dsh-tools 或 @deepseek-ai/dsh-llm。工具以原始定义注册,避免模块身份分裂。
  3. 全局注册:工具在宿主配置文件中全局注册,并会从非 Creator 会话中隐藏。
  4. 重启要求:安装后必须重启 dsh --profile web。
  5. Worker 限制:Worker 预设不能是 cordis,且不能包含 @deepseek-ai/dsh-tool-cordis 插件行。
  6. 安全性:将一个可以分叉和运行的 Creator 会话视为 Shell 访问。每个 fork 和 run 都需要人工批准。

总结

dsh-generation 旨在通过“Make,而非 Compiler”的哲学,为智能体开发提供一种基于副本迭代的构建方式,而非对正在运行的会话进行修补。

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

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

小夜