jonah791/dsh-goal-ops ↗★ 0

dsh-goal-ops

目标生命周期扩展(不改 DSH 核心包):goal_abandon 放弃原语 —— 以 block + blockedReason.code='abandoned' 承载「主动放弃」,停止自动续跑且原因可辨识 适合需要让Agent能够主动停止续跑并记录放弃原因的开发任务。

パッケージ
dsh-goal-ops
互換性
未検証
Harness ピア範囲
^0.1.0-rc.6
Cordis ピア範囲
^4.0.1
バージョン
0.1.0
最終更新
2026/10/04

インストール

検証済み bundle がないか、互換性チェックに失敗しています。先にリポジトリの説明を読んでください。 README 全文を読む ↗

ドキュメント

README 全文を読む ↗

dsh-goal-ops

目标生命周期扩展(不改 DSH 核心包):goal_abandon 放弃原语 —— 以 block + blockedReason.code='abandoned' 承载「主动放弃」,停止自动续跑且原因可辨识

工具

  • goal_abandon:放弃当前 goal(不动 DSH 核心包的实现方式:以 goals.block + blockedReason.code='abandoned' 承载放弃语义)。判据:phase 变 blocked 后自动续跑停止(driver 对 phase !== 'active' 直接 return);放弃原因留在 blockedReason.message,code='abandoned' 与核心的 model-reported / round-limit 可区分。放弃可反悔——核心 update_goal action=resume 接受 blocked。

生态契约

依据《DSH 插件生态倡议书》三条原则:组合优先 / 声明清晰 / 兼容优先。

  • 依赖 service(inject):goals · agents · tools —— 组合行装载时等待这些 service
  • 贡献面:工具 goal_abandon;slot 无;service 无
  • 组合行 id:agent-goal-ops
  • Fabric manifest:dsh-plugin.json(RFC 0001 v0.1 Draft 形状)——id = com.jonah791.goal-ops,required = (无),optional = (无)
  • Fabric 入口:src/fabric.ts → lib/fabric.js(骨架,不依赖 DSH/Cordis;Fabric SDK 发布后填充实现)

⚠ 不是认证:Fabric 目前只有文档草案(无正式 schema、无 SDK、无 conformance 套件),因此不得声称本插件 「通过 Fabric 认证」或「已符合 Fabric 标准」。对齐的是 RFC 0001 的 manifest 形状 + 可机械校验的明文规则; dsh-plugin.json 的 $schema 是自证 draft 的占位,Phase 0 发布 canonical identifier 后替换。

组合片段(cordis.patch.yml):

- insert:
    - id: agent-goal-ops
      name: dsh-goal-ops
      config: {}

能力边界(诚实声明)

本插件与宿主同进程、全权限运行。「能力声明」用于兼容判断、用户确认与审计,不构成安全沙箱——不要把它当权限边界。 本插件不导入其他插件或宿主的内部路径(组合优先),也不覆盖别人的内部实现。

两个面,别混淆

  • Fabric 契约面:dsh-plugin.json + src/fabric.ts(host entrypoint)。这是前瞻声明——Fabric 目前只有 RFC Draft, 没有正式 schema / SDK / conformance 套件,官方 docs/plugin-development.md 明示其尚不能作为依赖或发布目标; $schema 是自证 draft 的 .invalid 占位(RFC §14-1 未定 canonical identifier),不是 schema 校验通过,也不是认证。
  • DSH/Cordis 面(非标准扩展路径):src/index.ts + cordis.patch.yml——本插件现在真正可运行的形态。 tools 不在 Fabric v0.1 的 capability 表内(v0.1 只有 host.info / log / 生命周期取消 + storage.local / commands / messages.observe), 故这属标准之外的扩展路径:不得当作可移植 API,也不得成为 Fabric entrypoint 的依赖。

构建与挂载

pnpm build
# 挂载到 web profile(dsh plugin-manager 或 plugin_mount)