LazyZCode 文档

English · 简体中文

ZCode 纪律层的完整指南:计划 → 执行 → 拿证据 → 不做完不停。

安装 安装 · 推荐环境
上手 概览 · 第一个目标循环 · 常见问题
触发与协议 触发词 · zw 协议 · 目标循环命令
概念 计划门 · 证据纪律 · 续跑预算 · 纪律角色 · 钩子与生命周期 · 限流纪律
参考 CLI 参考 · 诊断 · 状态与配置 · 兼容性与限制

安装

一个包装好 LazyZCode 的两半:lazyzcode:zw 插件(技能/钩子/角色)和 lzy CLI(目标循环状态机)。

前置条件

安装

npm i -g lazyzcode
lzy install

lzy install 做三件事:插件载荷落位引擎插件缓存、写入 LazyZCode 自己的注册表 条目、经引擎官方 plugins enable 启用插件。它永不改写你的 config.json ——启用只走引擎自己的 CLI(ADR-0001)。

验证装好了

lzy status   # 快速体检;退出码 0 = 无 fail 级检查
lzy doctor   # 深度本地诊断(零遥测)

新开一个 ZCode 会话,在提示词开头输入 zw——编排引导应当到达,模型首行应显示 **ZW** engaged — LIGHT tier(或 HEAVY)。

卸载

lzy uninstall

删除已部署缓存与注册表条目,优先走引擎官方 plugins uninstall 路径。

推荐环境

建议 说明
操作系统 macOS / Windows / Linux 三平台引擎布局探测全覆盖(ADR-0011)。
ZCode 桌面端,已登录 钩子与插件都经桌面端引擎装载。
Node.js ≥ 22,nvm 或 Homebrew lzy doctorhook-node 检查会告诉你钩子实际走哪条解析路径。
项目 git 仓库 证据绑定要求存在提交;F 项证据在提交之后取证。
启动方式 均可 终端启动或 Dock 直启都行;Dock 场景由 run-hook 启动器兜底。

概览

LazyZCode 装四样东西:

  1. 一个插件lazyzcode:zw),技能文本承载完整编排协议——triage、tier 选择、计划、执行、证据规则。
  2. 六个钩子,接在引擎生命周期上:SessionStart(重注入循环状态)、 UserPromptSubmit(触发词)、PreToolUse(命令层 H3R 门——休眠原型)、 PostToolUse(注释轻提示)、PostToolUseFailure(同工具失败绊线)、Stop (有界续跑)。
  3. 三只只读代理lazyzcode:explorerlazyzcode:plan-reviewerlazyzcode:qa-executor
  4. 一个 CLIlzy),把目标循环实现为可跨会话存续的状态机:注册 → 计划门 → 执行 → 证据 → 终验门。

心智模型:计划里的勾是主张,真实表面证据才是事实。LazyZCode 的职责是让代理 把主张兑换成事实——并在它试图提前停手时把它拉回来。

第一个目标循环

在项目目录新开一个 ZCode 会话,输入:

zw 实现一个带测试的 CSV 导出接口

接下来会发生什么:

  1. UserPromptSubmit 钩子命中句首的 zw,注入编排引导。
  2. 模型宣告 **ZW** engaged — <tier> tier,并对任务做 triage(见 zw 协议)。
  3. 用 CLI 注册目标(lzy loop register …),把计划文件写进 .lazyzcode/plans/
  4. 计划过计划门采纳——HEAVY 计划必须先过 lazyzcode:plan-reviewer
  5. 模型逐步执行,每完成一步调 lzy step done <ID>。F 项必须带绑定当前 tree hash 的 --evidence
  6. lzy loop finish 跑终验门:全部步骤 done、全部证据新鲜。此时目标才算完成。

循环开着时模型想停手,Stop 钩子会拉回——每会话至多 2 次。中断后(包括被限流 判死)恢复,发一句 zw 继续 即可;.lazyzcode/ 里的循环状态原封不动。

循环完成后腾位,跑 lzy loop reset

常见问题

LazyZCode 的状态放哪? 项目内的 .lazyzcode/(循环状态、计划、归档证据)。有意与 ZCode 自己的 .zcode/ 划清边界。不想提交就加进 .gitignore

会偷偷上报数据吗? 不会。零遥测。lzy doctor 报告的一切都从你本地的文件与引擎日志算出来。

会写我的 config.json 吗? 永不。启用走引擎官方 plugins enable;安装器只部署文件、写 LazyZCode 自己的 注册表。

我的 zw 为什么没触发? 匹配是分层的:裸 zw 只在提示词句首触发。句中 zw 被忽略(这是特性—— 「检查一下 zw 的钩子」是提问不是发起)。任意位置用显式全名 lazyzcode:zw, 或 ulw/ultrawork(词边界)。

lzy loop finish 为什么拒了我的证据? 证据绑定取证当时所在提交的 tree hash。取证后又改了代码,证据按构造即过期—— 先提交,再 lzy step done <ID> --evidence … 重新取证。

撞上 [1302] 速率限制,是 LazyZCode 坏了吗? 不是——那是 GLM 套餐的账号级并发限流。lzy doctorrate-limit 行给出实测 压力与建议会话预算。见限流纪律

钩子全无反应。 多半是引擎启动时 PATH 里没有 node(从 Dock 直启 ZCode.app 的常见场景)。 自带的 run-hook 启动器会自动兜底——POSIX 走 nvm/Homebrew,Windows 走 nvm-windows/Program Files;lzy doctorhook-node 行告诉你它解析到了什么。详见 docs/diagnostics/2026-09-07-hook-spawn-env.md

能同时跑两个目标循环吗? 每个项目目录一个循环。已完成的循环会占位,直到 lzy loop reset 清掉。

能只用 CLI 不装插件(或反过来)吗? 可以。CLI 到哪都能用;插件需要引擎。两者齐用效果最好——钩子和技能文本驱动 纪律,CLI 落实纪律。

触发词

触发词 触发位置 示例
zw 仅句首(允许前导空白) zw 修一下那个抖动的测试
lazyzcode:zw 任意位置;全角冒号 亦可 讲讲 lazyzcode:zw 是干嘛的*
ulw / ultrawork 任意位置,词边界 ultrawork 把这个重构做掉
/zw 或 Skill 工具 显式调用

* 这个示例不会进入循环——它是提及。注入是条件的:发起则进入协议,仅提及 则忽略并直接回答问题(「Mention ≠ invocation」)。zwiftazw、句中 zw 永不触发。

zw 协议

注入的技能文本(plugin/skills/zw/SKILL.md)定义模型遵守的契约:

  1. 开场精确输出 **ZW** engaged — <LIGHT|HEAVY> tier
  2. Triage 定级。 LIGHT 用于小而收敛、低风险的活(1–2 项计划、单 F 项)。 HEAVY 用于多文件特性、架构、任何有风险或含糊的任务——先侦察再逐步计划。 LIGHT → HEAVY 随时可升,且要落盘:注册带 --tier heavy 或采纳前 lzy loop tier heavy(HEAVY 评审门由机器按落盘 tier 执法)。永不降级。
  3. 用 CLI 注册目标。
  4. 用 N/F 清单写计划(见计划门)。
  5. 逐步执行,落提交、调 lzy step done <ID> 带注记——F 项带证据。
  6. 在真实表面取证(见证据纪律)。
  7. 过 CLI 终验门收口(见目标循环命令)。

协议还带行为红线(不伪造证据、不无声弃坑)和下面的限流规则。

0.1.0 起协议文本还标注执法层级——L0 协议约定、L1 CLI 机器门、L2 可信宿主 事件、L3 外部效应——读的人永远知道一条规则是靠承诺维持还是靠机器执法;并在 tier 之外立了第二根轴:risk_class(LOW / MED / HIGH / RESTRICTED,只升不 降),HIGH+ 禁入无人值守车道、RESTRICTED 直接硬断。审批绑不可变哈希 (INV-05):计划采用在 L1 绑 planHash;对话里的人点头是 L0,exact-hash 人权门 落地前不因模型跑一条 CLI 而升格。

0.1.1 起拉回是认领资格制:只有认领了目标的会话(发 invocational 触发如 「zw 继续」写 claimedAt)才会被 Stop 拉回;认领集为空=无人可拉,旁路会话 结构性免拉。会话可显式退出——发「zw standdown」写 standdown 旗标,Stop 对 该会话只读放行,直到参与触发清旗标或目标 reset。宿主工作区必须是 git 仓lzy loop register 对非 git 宿主直接硬拒并给 git init 指路——证据绑定 git 树,非 git 宿主的 finish 不可达(ADR-0019)。

目标循环命令

lzy loop register <slug> --title "…" [--tier heavy]   # 进入 planning;tier 默认 light
lzy loop plan <文件> [--review "…"] [--force]
lzy loop start                          # 记录基线 tree hash + 实测并发纪律行
lzy loop subject add <路径>             # 声明兄弟仓根(仅 executing;校验 git 仓/无包含关系)
lzy loop subject remove <路径>          # 移除 subject(missing 死锁出口;证据过期语义照走)
lzy loop subject list                   # 列 subject 集(空=单树 host)
lzy loop tier heavy                     # tier 升级,只升不降(机器门=采纳时点)
lzy loop claim [<id>] [--release]        # 步级认领(匿名、48h 互斥);无参列可认领集
lzy step done <ID> [--note "…"] [--evidence "…"] [--evidence-file <文件>]…
lzy loop status                         # 进度、下一步、证据新鲜度、tier/subjects/快照
lzy loop verify                         # 证据时效审计(退出码 1 = 过期/未绑定);逐树头哈希/脏态行
lzy evidence red <Fid> --evidence "…"   # 红半绑自己的面(waive-red --reason=一行豁免的机器形态)
lzy dag dependents <id|surface>         # 「什么依赖 X」(中央账本,只读)
lzy dag stale                           # 失效预览:对照现行复合指纹(只展示不进门)
lzy attest comparator --file <json>     # 对照判决落 attestation(HEAVY finish 强制 MATCH)
lzy loop finish                         # 终验门:全部 done+证据新鲜+全树 clean(HEAVY 另需 MATCH 对照);落终验 attestation 并自动归档
lzy loop export                         # 重导出证据包
lzy loop handoff --snapshot <文件>       # 登记干净交接;下个 Stop 放行一次
lzy loop cost                           # 积分成本报表(常设系数+促销 overlay,只读)
lzy loop list [--root <目录>]           # 只读扫同级仓的目标循环
lzy loop history                        # 目标谱系(证据包∪存根∪尾注,只读)
lzy loop abandon | lzy loop reset       # 放弃 / 清状态

计划门

计划是带两类条目的 markdown 清单:

- [N1] 在 src/api/export.ts 实现导出接口
- [N2] 实现 CSV 序列化与引号转义规则
deps: N1
- [F1] `curl localhost:3000/export` 返回 200 且可按 CSV 解析(qa-executor)

已知未知

决策完备指「没有悬而未决的抉择」,不是「没有未验证的前提」。HEAVY 计划因此 以一节显性的已知未知收尾:列 1–3 条计划默默依赖的假设,每条带证伪 途径——什么信号证明它错、怎么查。写「无」可以,但须一行说明扫过哪里。

这节与计划门互补而非放松:它陈述的是未验证前提,不是推迟的决策——门照样 逐行扫描全节,段内出现真正的 TBD 与任何其他行一样被拒。评审者对照隐藏风险 审它:每条是否可证伪、「无」是否可信?

证据纪律

续跑预算

ZCode 给每会话一个 3 次 stop-continuation 的共享池,后台任务通知也从这里 扣。LazyZCode 的 Stop 钩子每会话至多花 2 次,有意预留 1 次。计数按 sessionId 隔离(曾有一个全局计数的探针劫持了无关会话——这条约束现在是结构性的)。 钩子任何异常一律 fail-open:循环绝不困住不属于它的会话;预算花完后用户的 明确停止永远赢。

SessionStart 重注入循环状态,新会话接着上一个停下的地方干。

项目记忆

对一个没人画过地图的代码库做 HEAVY 规划,是在浪费计划门。lazyzcode:init-deep ——插件的第二个技能——构建分层项目记忆:一张根 AGENTS.md 地图,加上 够格子目录的分层地图(构建入口、直接文件数 > 40 的目录、根文件已提及的目录)。 ZCode 原生读取 AGENTS.md,地图免费搭进每一个未来会话——不需要任何钩子。

技能的契约是保守的:先出草稿,你点头才写盘;已有文件只给补丁建议、绝不覆盖; 不写密钥、不写本机路径。它只动 AGENTS.md 这一层——个人教训在 zw 收尾时归 宿主原生 memory。

lzy agents-md 列出够格目录与覆盖缺口;lzy doctoragents-md 行巡逻 采纳情况(warn-only:没有根地图的仓库是 skip,不催)。HEAVY 规划在有地图时 先看地图。

无人值守

无人值守就是同一个目标循环挂上日程。引擎自带自动化以 zw 继续(无人值守:…) 唤起新会话;唤起节奏天然错峰——lzy doctorschedule 行从你实测的限流 集中时段反推对侧 8 小时窗口,再对照已知平台高峰计价表(GLM/DeepSeek,写死的 UTC+8 静态表、人工维护)标注重叠并给出计价安全窗。计价表会过期——把该行当作 「实测限流 + 声明式计价」,不是保证。

护栏是结构性的,不是口头承诺:无人值守会话只继续已开的目标——绝不注册 新目标、绝不写或采纳计划,因为决策完备门需要人。没有可继续的目标就干净退出; 唤起本身受续跑预算、429 判死、串行子代理、≥1 小时间隔约束。

0.2.0 起唤起内还有执行通道lzy loop drive 在一次唤起内拉起多个 headless 引擎段、逐段推进 executing 目标。段间查门——运行持分钟级租约(单运行时互斥、 心跳续期),每次运行配新开一份墙钟+积分预算,HIGH+ 风险目标在 spawn 之前就被 机器拒。每段的 lzy 写都带本运行 fence 令牌——被接管的运行写路径 fail-closed 停手,绝不污染循环状态。收束干净且可枚举:done、预算尽、段数尽、连续两段 零推进(stuck)——另有两因只存在于休眠 H3R 原型的车道(原型休眠时恒不出现):高危步 停摆(h3r)、或在工具边界被拦下的高危命令(PreToolUse)——除 done 外的每次收束都由机器自写 7 字段交接快照并登记标记, 下一会话(或人工 zw 继续)从盘面接续。lzy doctordrive 行报告本机通道 可用性:

lzy loop drive [--wall-ms N] [--max-segments N] [--mode m] [--workers N | --fast]

workers 波编排(0.2.4)。 lzy loop drive --workers N(糖 --fast≡N=2)每波在兄弟 worktree 上拉起 N 条工人链:步按认领门分派,工人各自在自己的 worktree 提交,波终 merge 回宿主并对全部已取证 F 项屏障重锚。合并冲突走干净收束、分支留人工。入口前提=env-auth 且 H3R 唤醒开关关闭;实测代价 turns≈2×、小任务可能反慢——启用前读实验报告 (docs/reviews/2026-fast-exp-report.md §1.3)。

宿主自动化仍是唯一定时唤起面——drive 是醒着之后跑的东西(也是你在无人值守 窗口里可以自己跑的)。

夜间战报不必等开电脑:把结果推到你自己的 IM 机器人 webhook(零服务端, lzy 不内置任何通知通道),配方见无人值守回执

纪律角色

三只只读角色随插件 agents/ 目录分发,引擎自动发现。用 Agent 工具以角色作 subagent_type 派发:

角色 用途
lazyzcode:explorer 计划前侦察:摸清相关代码区,用 file:line 证据回答规划者的问题。大仓库可走 codegraph 索引。
lazyzcode:plan-reviewer 计划评审门:审计决策完备性、N/F 合法性、F 项真实表面、隐藏风险。返回 VERDICT: PASSVERDICT: REVISE
lazyzcode:qa-executor 证据执行:在真实表面跑一项 F 项验证,原样报告实际观察——命令与原始输出。对抗证据造假。

三只全部只读:不改代码,其价值在于结论来自仓库本身,而非主代理的假设。

钩子与生命周期

钩子 事件 干什么
session-start.js SessionStart 重注入目标循环状态,新会话接续上一个。
trigger.js UserPromptSubmit 分层触发匹配;命中发起则注入 zw 引导。
comment-checker.js PostToolUse(Edit/Write) 对新内容中的 TODO/FIXME/XXX/HACK 标记与调试残留(console.logconsole.debugdebugger)做提示。每次至多 5 处、300 字符、只提示不阻断——且只在有开放目标循环的工作区生效。
stop.js Stop 循环开着时带剩余步骤上下文请求续跑(每会话至多 2 次);一次性消费交接标记并放行(不耗预算)。
tripwire.js PostToolUseFailure 同工具失败连击绊线:同一工具反复失败/空转时告警一次(工具空转逃逸契约的执法面);只提示不阻断。
h3r-pretool.js PreToolUse(Bash) 命令层 H3R 门,默认休眠:只在无人值守 lzy loop drive 段内(drive 注入的 LZY_SEGMENT_ID 在场)且 LZY_ABLATE_H3R_PRETOOL1反向开关,与家族语义相反)时生效——命令文本命中 H3R 词表即 deny,并写命中标记供 drive 干净收束消费(7 字段快照、exit 0)。交互会话没有 drive 注入的段标——以免门为常态,前提是 env 卫生(门校验 <整数>:seg-<整数> 形状,残留 export 降级为无门),且它就是恢复路径(ADR-0022)。

六条命令都经 plugin/hooks/run-hook 启动:引擎用自己的环境拉起钩子,而 GUI 直启的 ZCode 可能 PATH 里没有 node。一份清单服务两个平台家族——POSIX shell 执行无扩展名的 run-hook 脚本,Windows 的 cmd.exe 经 PATHEXT 把同一 名字解析到 run-hook.cmd 孪生。启动器在 POSIX 兜底 nvm(取最高版本)与 Homebrew 位置(Windows 兜底 nvm-windows 与 Program Files),落空则记 /tmp/lzy-hook-launcher.log(Windows 为 %TEMP%\lzy-hook-launcher.log)并以 0 退出(fail-open)。lzy doctorhook-node 检查报告解析结果。

限流纪律

GLM 套餐实行账号级并发限流([1302] / 429)。没有可以配置绕开的固定阈值: 实测余量随套餐档位、时段、账号状态浮动——lzy doctor 从引擎日志(近 2 日)实测, 报告去重后的 429 回合、判死回合、最长连撞,以及(数据连贯时)经验并发带 (「N 会话干净 / M 会话撞线」)。仅警告,不翻退出码。

zw 技能承载的行为规则:

无人值守(宿主自动化):挂载方式与只继续协议见无人值守;窗口来自 lzy doctorschedule 行——实测集中段对照声明式计价高峰表, 不是拍脑袋。

CLI 参考

项目记忆:lazyzcode:init-deep 技能生成分层 AGENTS.md 地图(根 + 有资格子目录), 草稿先行——未经你点头不落任何盘;lzy doctor 每次跑都巡逻覆盖。

lzy install                     部署插件 + 注册表 + 官方启用
lzy sync [--watch]              重新部署载荷(热重载;--watch 持续监听)
lzy status                      快速体检(退出码 0 = 无 fail 级检查)
lzy doctor                      深度本地诊断(零遥测)
lzy uninstall                   删缓存 + 注册表条目
lzy loop register <slug> --title <标题> [--tier heavy]   建目标(planning;HEAVY 无 PASS 评审机器拒)
lzy loop plan <文件> [--review <判决>] [--force]   采纳 N/F 清单(快照+绑 planHash)
lzy loop supersede <文件> [--review <判决>]   执行中改计划的 forward-only 出口(旧 attempt 置 superseded、开新代次,采纳门重走)
lzy loop start                  planning → executing;记录基线 tree hash + 打印实测并发纪律行
lzy loop subject add <路径>     声明兄弟仓根(仅 executing;校验+去重)
lzy loop subject remove <路径>  移除 subject(missing 死锁出口)
lzy loop subject list           列 subject 集
lzy loop tier heavy             tier 升级,只升不降(机器门=采纳时点)
lzy loop claim [<id>] [--release]  步级认领(多工人;阻塞校验;48h 互斥)
lzy loop risk <level>              risk_class 升级(low|med|high|restricted;只升不降;ADR-0020)
lzy loop lease acquire|heartbeat|release|reclaim  运行级认领(分钟级互斥;fence 令牌;
                                  reclaim=僵尸租约出口;ADR-0020)
lzy loop budget init|spend|remaining  运行预算(墙钟+积分双硬顶;ADR-0020)
lzy loop status                 进度、下一步、证据新鲜度、tier/subjects/快照
lzy loop verify                 证据时效审计(退出码 1 = 过期/未绑定/无目标);逐树头哈希/脏态行
lzy step done <ID> [--note <注记>] [--evidence <证据>] [--evidence-file <文件>]…
lzy loop finish                 终验门:全部 done + 证据新鲜 + {host}∪subjects 全树 clean(HEAVY 另需 MATCH 对照);落终验 attestation+原子归档
lzy loop export                 重导出证据包(<slug>.report.md)
lzy loop cost                   积分成本报表(常设系数+促销 overlay,只读)
lzy loop list [--root <目录>]   跨仓目标循环清单(只读)
lzy loop history                目标谱系(证据包∪存根∪尾注,只读)
lzy loop attempts               attempt 世系(attempt.json ∪ 中央账本派生,只读)
lzy loop abandon                放弃,留档
lzy loop reset                  清循环状态(含会话计数、孤儿临时文件)
lzy agents-md                   AGENTS.md 分层审计(退出码 1 = 缺口/超限)
lzy version                     打印版本

旗标:--note 上限 300 字符、--evidence 上限 4000、--evidence-file 可重复 (每 F 项 ≤4 个、单个 ≤20MB);--force=true--force 等价;--watch=<值> 会警告(它不吃值)。

诊断

lzy status 跑基础检查;lzy doctor 在其上加跑深度项。退出码:fail 级 发现翻成 1;warnskip 永不翻。

检查 含义
payload 仓库插件清单可读
install 注册表条目在且健康
files 部署缓存与仓库载荷逐文件一致
enabled 引擎把插件列为已启用
codegraph Codegraph MCP/CLI 在场性(缺席 = skip
loop 本目录目标循环进度(无循环 = skip;循环开着为 warn
hooks 钩子语法自检(worker 内 vm 解析)+ hooks.json 注册校验
node Node 版本下限(≥ 22)
hook-node 钩子启动器从哪条路径解析 node
lzy-path lzy 能否在 PATH 上解析
state .lazyzcode/ 卫生(孤儿临时文件、goal 状态)
claims 认领巡逻:谁认领了进行中目标、stuck 停拉标记;零认领 = 资格制下无人会被拉回(warn,不翻退出码)
host-git 宿主工作区是否 git 仓(非 git 时 warn 带 git init 指路——证据绑定 git 树,ADR-0019)
handoff 交接标记在场提示(下个 Stop 消费即放行)
handoff-usage 匿名放行计数 registered/consumed(跨 reset 永续)
ledger 提交账本巡逻:goal 起点后提交缺 Goal: 尾注的比例(warn,不翻退出码)
waterline 近 5h 滚动积分 vs 自参照警戒线(sqlite3 缺席时如实报降级)
orphan-wake 本仓 unbound wake automation 的空转巡逻(无挂载即 skip)
h3r-words H3R 词表载荷:在场、schema 合法、与 CLI 读者同序。缺 = warn——唤醒态后果按读者分岔:drive 侧门硬拒(throw),命令层钩子 fail-open 放行(ADR-0022 失败语义)
lock 锁竞争窗:获锁次数 / 其中需等待次数 / 等待合计与最长 / 等待超时次数(对照 LOCK_WAIT_MS;无样本 = skip;超时 >0 = §⑩-4 预注册触发条件命中,warn。读数为下限——无锁读-合-写近似计数,最可能丢增量的时刻正是拥塞最重的时刻)
platform 按平台报引擎候选命中态(命中=ok+引擎路径)
agents-md AGENTS.md 分层覆盖审计 + 地图落后提示(基点后覆盖域 ≥50 提交;根缺失 = skiplzy agents-md 详单)
rate-limit 近 2 日引擎日志的 GLM 套餐 429 压力
transport 传输死亡(请求未达服务端类故障,如 ENETDOWN):独立分族计数,绝不进并发带数学
content 内容审核杀流(provider 内容审核中途杀流,如 1301):独立分族计数,原地重试必复现,绝不进并发带数学
band-by-provider 按 provider 分桶经验带(完成侧净桶×429 脏桶);窗内有 429 且 ≥2 provider 才出行——自身无 429 的行如实标注「无脏面样本」
cost 模型档位建议(「成功即降档」):零限流窗+低滚动水位建议常规目标试轻量档;纯建议文本
schedule 错峰窗口建议:实测集中段反推 + 计价高峰对照与安全窗提示(UTC+8 静态表人工维护;无集中段证据 = skip

状态与配置

LazyZCode 没有配置文件。一切皆推导:

路径 内容
.lazyzcode/loop/goal.json 当前目标:步骤、状态、证据绑定
.lazyzcode/loop/sessions/<sessionId>.json 每会话 Stop 钩子计数
.lazyzcode/loop/salvage/<slug>.md 可回收工件存根(循环 reset/abandon 时盘点:未提交改动、带尾注提交、资产指针);lzy loop status 在无 goal 与有 goal 两种视图下都会显示
.lazyzcode/plans/<slug>.md 计划文档
.lazyzcode/evidence/ 归档的取证材料
引擎插件缓存 已部署载荷(lzy install/sync 管理)
LazyZCode 注册表 安装记录(安装器管理)

环境变量:LZY_ZCODE_ENGINE 整体替换默认引擎候选列表(默认: /Applications/ZCode.app/Contents/Resources/glm/zcode.cjs)。这就是全部配置面。

隐私:零遥测;诊断本地计算、本地输出。

兼容性与限制

安全与信任面

LazyZCode 在你机器上跑什么、装在哪里、以及它刻意不防什么:


LazyZCode 以 MIT 许可发布。工作流受 lazycodex(MIT)启发; oh-my-openagent(OmO, SUL-1.0)仅贡献思想。文档结构参照 lazycodex 文档并注明出处。