Ultracode for DeepSeek Harness
为 DSH 添加多 Agent 工作流预设、固定悬浮进度卡片和输入框模式微光。模型与思考强度沿用 DSH 的独立选择,不强制最高强度。
社区插件,与 Anthropic、OpenAI 无隶属关系;不包含 Claude Code 的专有代码。
功能
- 选择 Ultracode 即授权编排:模型判断复杂任务并主动创建工作流,简单任务直接完成,无需重复要求。
- 1.3.0 保留 JavaScript 脚本编排,支持脚本文件、启动前校验、调整后复用已完成结果和会话恢复。
- 主代理统筹规划、调整和汇总,工作流负责实现、整合与测试;成功派发后主代理结束本轮,完成通知唤醒。
- 后台运行时,用户另行交办的简单独立事项可由主代理直接完成,不取消原工作流;重叠写入先交接。
- 成员异常显示原因和后续建议;脚本正常结束但有成员未完成时,标明“已结束,有异常”,不误报全部完成。
- 启动时动态继承当前标准预设,覆盖工作流编排策略、并发预算及子代理模型选择。
- 子代理默认继承当前模型与思考强度;用户明确要求时,主代理可为指定成员选择其他已配置模型或强度。更换模型且未指定强度时使用新模型默认值,不影响主对话选择。
- 使用 DSH 原生工作流、子代理、后台任务和完成通知;后台任务结束后可唤醒主对话。
- 工作流卡片固定悬浮、可拖动和折叠;收起后从会话顶部打开,保留阶段、成员和版本历史。
- 卡片采用进度书签,阶段名称与节点对齐,默认跟随正在执行的阶段,也可手动固定查看。完整清单、成员详情、历史和长结果在独立视图中打开。
- 运行中的进度条有彗星微光和少量光屑;停止或完成后静止,尊重系统减少动态效果设置。进度比例按实际成员计算。
- 同一目标调整保留版本链,先结束旧执行再启动新版本;独立任务使用独立工作流。
- 切到 Ultracode 时,从输入框顶部正中播放开场流光;短暂停顿后淡入连续呼吸微光。切回其他模式清除,恢复已有会话不重播。
兼容与安装
自动化原生接口回归使用 DSH 0.2.1-rc.2;1.6.0 模型选择与会话恢复另在本机官方运行时 0.2.1-rc.3 验收。声明支持 >=0.2.1-rc.2 <0.3.0-0,未来宿主接口变化仍需重新验证。
从本仓库的 Release 下载 .tgz,在 DSH 的插件安装入口选择该安装包。CLI 用户可用:
下载最新发布版
dsh plugin --profile web add ./下载的安装包.tgz
将安装包路径与 web 替换为实际文件和 profile。桌面端优先使用应用内插件管理入口。安装后完全退出并重新打开 DSH,在新会话的 Agent 预设中选择 Ultracode。
如果已经安装本地开发版 @local/dsh-ultracode,先通过 DSH 插件管理卸载该开发版,再安装本包,避免两个包同时注册同名预设。卸载插件不需要删除会话;本包沿用 ultracode 预设和历史标识。
当前宿主只允许空白会话切换预设,已有对话保留原模式。默认并发上限为 4,默认每个工作流总代理上限为 12,可调整但不超过 40。工作代理禁止继续递归委派。
配置
在 DSH 的用户覆盖层设置 preset-ultracode;覆盖该行时保留完整配置:
- id: preset-ultracode
name: '@srelka/dsh-ultracode/inherit'
config:
basePreset: standard
maxConcurrentAgents: 4
defaultAgentLimit: 12
maxTotalAgents: 40
replacementTimeoutMs: 30000
标准预设的修改在下次启动时继承,不做运行中热更新。详见 设计与验证。
按需选择子代理模型
直接说明分工即可,例如“复核用另一个已配置模型,思考强度 high,其余沿用当前设置”。主代理通过 ultracode_models 查询当前选择、模型 ID 和支持的强度,再在工作流脚本的 agent() 选项中指定:
await agent('检查示例文档', { label: '文档检查' }); // 默认继承
await agent('复核示例页面', { label: '独立复核', reasoning_effort: 'low' }); // 仅改变强度
// 换模型时使用查询返回的真实 provider/model ID,可另外指定 reasoning_effort。
模型及强度由宿主适配器校验;不支持的选择会报错,不自动回退。模型目录不保证登录或服务可用性,实际请求失败仍会显示原因。主对话模型继续由 DSH 选择器控制;已启动成员保持原设置,调整通过工作流新版本执行,旧记录保留。
开发与测试
使用与目标 DSH 运行时一致的 Node.js。安装依赖后,将 ULTRACODE_TEST_RUNTIME 指向具有 node_modules 的同版本 DSH 运行时目录,执行 npm test。该变量只供测试使用,插件通过宿主 Loader 获取原生接口。
只运行无需 DSH 依赖的模型和光效控制器测试:
node --test tests/model.test.mjs tests/composer-glow.test.mjs
运行模块已经是 JavaScript,不要求用户执行构建脚本。打包使用 npm pack --ignore-scripts。private: true 用于防止误发布到 npm,不影响 Git/安装包分发。
本仓库是唯一源码。开发时需要保留 @local/dsh-ultracode 安装标识,可用 Node.js 24 执行 node scripts/prepare-local.mjs <仓库外的输出目录>;文件清单与版本来自 package.json,仅替换本地模块标识并省略不随包安装的开发命令。加 --check 可核对安装目录与源码是否一致。生成器不删除原目录的依赖和额外文档;不要反向同步生成目录。发布包直接在本仓库运行 npm pack --ignore-scripts,无需另一份发布源码。
限制
任务拆分和结果质量取决于实际模型。进程重启后保留工作流历史及已完成结果;恢复时从头运行脚本并复用有效前缀,不恢复运行中的 JavaScript 指令位置。工具参数格式错误仅在本步尚未执行工具时最多重试两次,不能保证所有模型永不输出错误。系统开启减少动态效果时只保留静态模式边缘。
License
MIT,见 LICENSE。保留已有版权与许可声明。