opennori
v0.1.30
Published
OpenNori: human-centered Nori Contracts and evidence records for coding agents.
Maintainers
Readme
OpenNori
面向编码 agent 的人类可接受交付契约层。
阅读语言:English | 简体中文
OpenNori 帮助编码 agent 把自然语言目标转成可审阅的 Nori Contract:验收检查、项目上下文、证据,以及人可以判断的完成报告。
OpenNori 是一个整体安装的产品:agent 插件发现、打包 Skills、opennori CLI 和项目本地状态协同工作。正常用户路径留在 agent 对话里;CLI 负责让 setup、status、report、dashboard、恢复和自动化保持可复现。
OpenNori 不是阶段系统、计划模板、流程归档或 agent runtime。面向用户的闭环始终是:定义什么叫完成,逐条审阅 AC,为当前缺口收集证据,再判断目标是否完成。当某条 AC 达到 passing 或 waived,agent 应该先为这条 AC 相关改动创建 Git checkpoint,再进入下一条;它不会自动 push。目标完成后,agent 会先询问这些 commit 应该合并到哪个目标分支,再执行 merge、push、worktree 清理或起草下一个目标。
Worktree 隔离默认关闭;需要单独工作区时请明确提出。
大多数用户只需要记住五个词:Contract、AC、Evidence、Report 和 Current Gap;其他 OpenNori 名称只在需要时再了解。
开始使用
在这台机器上安装 OpenNori:
npx opennori setup在每个项目根目录初始化:
opennori init然后开启新的编码 agent 会话,对 agent 说:
使用 OpenNori 来完成这个目标。先从真实用户的完成判断理解目标,阅读相关项目上下文,需要澄清时每轮只问一个会改变完成定义的问题,再起草 Nori Contract,并在批准前逐条确认 AC。如果只是粗略想法,或者想接管刚才讨论过的 AC,也在同一句请求里说明。
健康回复应该是什么样
健康的 OpenNori 回复不应该直接跳到实现计划。它应该:
- 先检查相关项目上下文,而不是要求你重复一遍
- 一次只问一个会改变完成定义的问题,并给出推荐答案
- 把 AC 写成真实用户可以进入、操作、看到、复查或判断的事情
- 批准前逐条审阅 AC
- 在开放问题、缺失 grounding 或模糊 AC 修好前阻止 approval
如果草案只写“CRUD works”“dashboard shows state”或“settings are editable”,要求 agent 把 AC 改写成具体用户可见检查。
会保存什么
OpenNori 会把项目本地状态保存在 .opennori/ 下,让对话、报告和恢复可以复现。正常使用时,你主要通过 agent 对话工作,并使用只读的 status、report 和 dashboard 查看状态。
重要的可审阅资产包括:
- 当前 Contract 和逐条 AC evidence
- 最终 Report
- 执行偏好相关的 Project Profile
- 实现约束相关的 Architecture Baseline
大多数用户不需要为正常审阅手动打开 JSON。在普通用户项目中,把可审阅的 OpenNori 状态纳入版本控制,忽略临时 observation/cache 文件。完整目录布局见 Product Reference。
查看进展
常用的人类命令:
opennori status --root .
opennori report --root .
opennori dashboard --root .
opennori doctor --root .Dashboard 是只读的。用它查看当前缺口、证据和完成风险;确认和批准仍然发生在 agent 对话里。
更多细节
- Product Reference:完整产品概念、架构边界、dashboard/MCP 细节、高级命令和示例。
如果你在维护 Skill、CLI 集成或自动化,NoriBrief 是 opennori draft 的公开输入契约。可用 opennori draft --brief-schema --json 查看 schema,用 opennori draft --brief-example --json 查看示例。
开发
npm run check维护 OpenNori 源码仓库自身时,不要把这个仓库初始化成 OpenNori 项目,也不要用 Nori Contract 管理源码开发。只把 npm run check、opennori plugin sync --local --confirm 和 node ./bin/opennori.js ... 当作产品维护命令;本仓库会保持本地 .opennori/ 被忽略。
许可证
GPL-3.0-only
