Skip to content

Latest commit

 

History

1 Commit

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

zcode-plugin-auto-continue

ZCode 自动继续插件。开启后,每当对话结束(agent 正常完成、任务中断、出错停止等触发了 Stop 事件的情况),插件会自动要求 agent 继续推进任务,直到设定的生效时长到期。

特性

  • 自动继续:Stop hook 返回 {"decision":"block","reason":"..."},agent 会带着该提示继续工作。
  • 生效时长:开启时设置,如 30 分钟、2 小时、1 天;到期后自动失效。
  • 自定义继续消息:可替换自动继续时发给 agent 的提示文本,支持 {remaining} 剩余分钟占位符。
  • 本轮豁免:agent 完成任务后可调用 suppress_auto_continue 工具,让本轮结束后不触发自动继续,避免空转。
  • 直连命令:/auto-continueUserPromptSubmit hook 拦截并立即执行,不经过模型、零 token 消耗(引擎收到 {"continue":false,"stopReason":"结果"} 后直接以该文本完成回合)。
  • 零依赖:hook 与 MCP server 均为纯 Node 脚本(无 npm 依赖),跨平台(Windows / macOS / Linux)。

安装

方式一:作为 ZCode 插件市场(推荐)

在 ZCode 的 设置 → 插件管理 → 发现 页,通过 + 添加本 GitHub 仓库作为插件市场,然后安装 auto-continue

方式二:本地目录直载

克隆仓库,在 ~/.zcode/cli/config.json 中注册:

{
  "plugins": { "dirs": ["<克隆路径>/zcode-plugin-auto-continue"] }
}

重启 ZCode 后用 zcode plugins list 验证,应显示 auto-continue@inline [enabled]。插件启用后 hook 运行器自动启用,无需手动配置 hooks.enabled

使用

/auto-continue on 2h     # 开启 2 小时(支持 45s / 30m / 2h / 1d,纯数字按分钟)
/auto-continue off       # 关闭
/auto-continue status    # 查看状态

以上命令均由 hook 直连执行,即时返回。也可以让 agent 调用 MCP 工具完成相同操作:auto_continue_on / auto_continue_off / auto_continue_status

自定义自动继续消息

默认情况下,自动继续时发给 agent 的提示是内置文案(要求 agent 继续推进任务;若任务确实已完成则调用 suppress_auto_continue 再结束)。可以整体替换为自定义文本:

/auto-continue msg 继续完成剩余任务,注意先跑测试再提交
  • 触发时 {remaining} 占位符会被替换为剩余分钟数,如:继续干活,剩余 {remaining} 分钟
  • /auto-continue msg 查看当前文本;/auto-continue msg clear 清除并恢复内置默认。
  • MCP 等价工具:auto_continue_message(action 为 get / set / clear)。
  • 建议自定义文本中保留"任务彻底完成后调用 suppress_auto_continue"之类指引,避免 agent 被反复拉起空转。

agent 自行豁免

agent 完成任务后可调用 suppress_auto_continue 工具,让本轮结束后不触发自动继续(一次性标记)。会话开始时插件会自动注入提示告知 agent 该工具的存在。

实现说明与限制

  • 插件包含 4 个 hook 调用(SessionStart / UserPromptSubmit×2 / Stop,均为 process 类型、直接调 node,无 shell)+ 1 个零依赖 stdio MCP server + 1 个直连命令。
  • 状态存放于插件数据目录(ZCODE_PLUGIN_DATA,未注入时退回 ~/.zcode/auto-continue/state.json),原子写入,hook 与 MCP server 共享;本机全局一份(多会话共享开关)。
  • 每轮最多连续自动继续 3 次:这是 ZCode 对 Stop hook 继续请求的硬上限(防失控),每条新用户消息后重新计数。到期自动停止。
  • 依赖 Stop 事件:正常结束、空回复以及大多数出错停止都会经过该事件;用户按 Esc 手动中断、进程被强杀等不触发任何 hook 的情况无法自动继续。
  • suppress_auto_continue 是一次性标记:被下一次 Stop 消费;若该轮被手动中断而未被消费,会在下一次发送消息时自动清理。
  • 直连命令的实现:ZCode 的 UserPromptSubmit hook 收到命令展开后的提示词,返回 {"continue":false,"stopReason":...} 即可让引擎不调模型直接完成回合。命令 markdown 正文故意只保留 $ARGUMENTS 作为 hook 未生效时的兜底(此时模型会代为调用 MCP 工具)。

License

MIT

About

ZCode 自动继续插件:对话结束时自动让 agent 继续;支持生效时长、自定义消息、agent 豁免与零模型调用的直连命令 / Auto-continue plugin for ZCode

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages