English · 实现原理 · 安装细节 · 从 V5 升级 · 账本格式(开发者) · 更新记录
PAPOP 是一套给 AI Agent 用的项目规则 + 记账工具。装好之后,你让 Agent 做一个要花好几天、好几次对话的项目,它不会做着做着忘了目标,也不会把你没批准的东西当成批准过。
- Agent: 能自己读写文件、运行命令、一步步把事做完的 AI。它和普通聊天机器人不同,会真的动手改你电脑上的文件。
- Harness: 你用来和 Agent 对话的那个软件,比如 Claude Code、Codex(ChatGPT 桌面版 / 命令行)、OpenCode、ZCode、DeepSeek Harness。你在 Harness 里选一个文件夹,Agent 就在这个文件夹里工作。
和 Agent 做一个大项目时,常见这些麻烦:
| 麻烦 | 为什么会这样 | PAPOP 怎么办 |
|---|---|---|
| 聊久了,Agent 忘了最初要做什么 | Agent 只记得当前对话;对话太长会被"压缩",换一个新对话就全忘了 | 目标、计划、进度、你的每个决定都写进项目里的文件。新对话里 Agent 先读文件,再向你复述现状 |
| 你随口说了句"你帮我做吧",它就当所有事都批准了 | 没有明确的"审批"环节 | 严格模式有 4 个关卡:确认需求、审批目标、审批每一阶段的计划、验收成果。每一关都要你明确表态 |
| 计划改了,它还拿旧的批准当依据 | 批准没和具体内容绑在一起 | 每次批准都和那一版的内容绑定;内容被改过,工具会拒绝继续 |
| "当时为什么这么定"想不起来 | 聊天记录翻不到,或者已经被压缩 | 你的原话一字不改地记下来,可以按关键词查 |
| 同一个坑踩了一遍又一遍 | 新对话不知道以前出过什么问题 | 同一类问题第 3 次出现时,Agent 会问你要不要记成经验,以后先读经验再动手 |
记账全部由 papop 工具完成:编号、时间、状态都由工具写。Agent 只写内容(需求复述、目标、计划、交付说明),你只负责审批和验收。
- 你开一个新对话,只说"继续",Agent 会告诉你:这个项目要做什么、做到第几阶段、你批准过什么、带了什么条件、现在在等谁。
- 每到需要你拍板的地方,Agent 会停下来,把要审的内容简要讲给你听,等你回复。
- 你说"停",它立刻停手;换了对话也不会自己接着做,等你说"继续"。
- 删除文件、推送代码、部署、付费这类事,不管什么模式,它都会先问你。
- Agent 说"做完了"不算数,要你看过实际成果、说"验收通过"才算。
- 一个 Harness,已经能正常和 Agent 对话。
- Python 3.12 或更高版本。 安装器和
papop工具都用它运行。- 不确定有没有:Windows 上按
Win + R,输入cmd回车,在黑色窗口里输入python --version回车。显示Python 3.12.x或更高就可以。 - 没有:去 python.org 下载安装。Windows 安装时,记得勾选第一页底部的"Add python.exe to PATH"。
- 不确定有没有:Windows 上按
- 一个专门放项目的文件夹,比如
D:\我的Agent项目。PAPOP 会把规则装进这个文件夹,以后在这里做的项目都受它管。这个文件夹叫工作区。
-
下载发布包
portable-agent-project-operating-protocol-v6.3.1.zip,完整解压到一个新文件夹。 -
Windows: 双击
install.bat。macOS / Linux: 在终端里进入解压后的文件夹,运行sh install.sh。 -
在弹出的窗口里依次选:
窗口里的选项 怎么选 1 · 安装范围 你已经有自己写的全局规则(比如 ~/.claude/CLAUDE.md),选"仅工作区",PAPOP 不会动它们;没有,选"全局规则 + 工作区",顺便装一套通用的 Agent 行为规则2 · Harness 装了的会自动勾上,一般不用改。选了"仅工作区"时这一项不可选 3 · 工作区 点"浏览一个目录",选你准备好的文件夹。每个工作区选一个默认模式:拿不准就选严格模式(下面"两种模式"有说明) -
点"检查并安装"。这一步只检查、不写文件,会列出每个文件是"新建""覆盖"还是"追加"。
-
看一眼没问题,点"确认安装(开始写入)"。已有的同名文件会先备份到工作区的
.papop-backups/。 -
在 Harness 里打开这个工作区文件夹,开一个新对话,问它:"你加载了哪些规则?现在是什么模式?"它能答出 PAPOP 和你选的模式,就说明装好了。
没有图形界面的电脑会自动改用命令行问答,问的内容一样。更多细节(各 Harness 的全局目录、重复安装、卸载)见 安装细节。
下面是在严格模式下做一个小项目的样子。你只需要用平常说话的方式回复,不用记任何命令。
- 你说: "开始一个新项目:写一个打印 Hello 的脚本。" Agent 建好项目,先和你讨论需求:用什么语言、放在哪里、要不要别的功能。它不会一上来就写代码。
- Agent 交来"需求复述":把它理解的需求写成一段话请你确认。你说: "对。"(不对就直接说哪里不对。)
- Agent 交来"Goal":项目最终要什么、怎么算完成。你说: "批准。"
- Agent 交来本阶段的"Plan":这一阶段做什么、怎么验证。你说: "批准。"
- Agent 施工,每做完一步记一句进展。这期间你可以不管,也可以随时插话。
- Agent 交来"交付说明":成果在哪、怎么验证的、结果如何。你去看实际成果,没问题就说"验收通过",有问题就说哪里不行,它会返工。
- 项目大的话,会从第 4 步开始进入下一阶段,直到 Goal 全部达成。
- Agent 交来"完成申请",逐条对照 Goal 写明怎么满足的。你说: "确认完成。"项目结束。
flowchart TD
A[讨论需求] --> B{你确认需求复述}
B -- 不对 --> A
B -- 对 --> C{你审批 Goal}
C -- 要改 --> C
C -- 批准 --> D{你审批本阶段 Plan}
D -- 要改 --> D
D -- 批准 --> E[Agent 施工]
E --> F{你验收交付}
F -- 不通过 --> E
F -- 通过 --> G{Goal 全部达成?}
G -- 没有 --> D
G -- 达成 --> H{你确认项目完成}
H -- 还差点 --> D
H -- 确认 --> I[项目完成]
| 时间点 | 你要做的事 |
|---|---|
| 开始一个项目 | 说"开始一个新项目:……",把最终想要什么说清楚。只是问问题、聊天时,Agent 不会建项目 |
| Agent 交来需求复述、Goal、Plan | 认真看,再回复(怎么回复见下一节)。同一时刻只有一项在等你,不用说编号 |
| Agent 施工中 | 可以不管。想改做法、想停,随时说 |
| Agent 说"做完了"、交来交付说明 | 打开实际成果看,别只看它的描述。满意说"验收通过" |
| Agent 要删文件、推送、部署、付费等 | 它会先停下来问你。看清楚它要做什么、影响什么,再说"可以"或"不行" |
| 你想让它某件事之前先问你 | 直接说,比如"部署前先问我"。这条会一直记着,换对话也不忘 |
| 对话太长、想压缩上下文 | 最好在一个阶段验收完之后再压缩,这时记录最完整。压缩后它会自己重新读状态 |
| 换一个新对话继续 | 只说"继续"。听它复述现状,哪里不对马上纠正 |
| 想暂停、不做了 | 说"停"或"这个项目不做了" |
| 项目重要,想留一份备份 | 说"备份一下这个项目" |
- 同意: "批准""可以""行""没问题"都可以。
- 同意,但有条件: 直接说,比如"批准,但先别部署"。这个条件会一直显示在状态里,施工时 Agent 必须遵守。条件说得太含糊(比如"细节你看着办"),它会先问清楚。
- 要修改: 说哪里不行,比如"第 3 步换个做法"。你的原话会被记下,作为修改意见。
- 拿不准: 比如回一句"差不多吧",Agent 会先问清楚,不会当成批准。
你没回复,不等于同意。Agent 绝不能替你批准,也不能把它自己的话当成你的原话。
| 模式 | 适合谁 | 关卡由谁过 |
|---|---|---|
| 严格模式 | 想每一步都把关;第一次用 PAPOP 的人 | 需求复述、Goal、Plan、交付都等你 |
| 自主模式 | 愿意把项目交给 Agent,只在关键处看一眼 | Agent 自己审核需求复述、Goal、Plan、交付,记为"自主通过",和你的批准分开记录 |
自主模式也有几条它不能自己做主:
- 第一版需求复述和 Goal 之后,再改需求或 Goal,都要你批准。Agent 不能自己把目标改松;
- 项目完成只能由你确认;
- 下面这些事,两种模式都要先问你。
不管哪种模式,Agent 都必须先问你的事:
- 删除文件或数据、覆盖你的改动、改写版本历史这类做了就难撤回的事;
- 发送消息、发布、付费、推送代码、部署、改线上环境这类会影响到外面的事;
- 你在批准条件里限制过的事;
- 你说过"……之前先问我"的事。
安装时给工作区选的模式,只是新项目的默认值。项目建好后想换,跟它说"这个项目改成自主模式"(或严格模式)即可,它会记下你的原话再换,不会自己换。
| 你说 | 会发生什么 |
|---|---|
| "第 2 步换个做法" | Agent 交一版新 Plan 等你批准。你不批准的话,旧 Plan 仍然有效,它按旧的继续做 |
| "新的不行,旧的也先别按着做了" | 它立刻停手,记一条"按旧版施工前先问我",再改一版交给你。你批准新版后,这条限制才取消 |
| "验收标准改一下" | Agent 交一版新 Goal。批准后,原来的 Plan 继续做 |
| "我还想加一个功能" | Agent 交一份新的需求复述。你确认后,旧的 Goal 和 Plan 都作废,要重写 Goal;正在做的阶段没交付的部分记为"终止" |
拿不准属于哪一种时,Agent 会问你。
| 情况 | 会发生什么 |
|---|---|
| 你说"停""先别做了" | 立刻停手并记下你的原话。换了对话也不会自己接着做,等你说"继续" |
| Agent 卡住了(缺信息、缺权限) | 它记下卡在哪、需要什么,然后告诉你 |
| 对外的动作结果不明(比如推送时断网) | 它记下来,不会自己重做,先查清楚或问你 |
| 你说"这个项目不做了" | 项目取消。以后你明确说要重新开始,它才会重新打开 |
一般不需要,Agent 会告诉你。想自己核对的话:
-
Windows 上打开工作区文件夹,在资源管理器顶部的地址栏输入
cmd,回车,会打开一个黑色窗口。 -
输入下面这行,回车:
.agent-protocol\tools\papop.cmd statusmacOS / Linux 在终端里进入工作区,运行
sh .agent-protocol/tools/papop.sh status。
它会显示项目名、第几阶段、现在在等谁、下一步是什么。顶部出现【在等你】【已暂停】这类标记时,说明需要你处理。这个命令只读,不会改任何东西。
你的工作区/
├── AGENTS.md 给 Agent 看的规则
├── CLAUDE.md 只有一行,让 Claude Code 也去读 AGENTS.md
├── .agent-protocol/tools/ papop 工具
├── .papop-backups/ 安装时备份的旧文件
└── tasks/
└── task1_20261026_项目名/ 一个项目一个文件夹,换对话也一直用它
├── .agent-state/ 记账的文件("账本"),由工具写,请不要手改
├── UserInput/ 你给 Agent 的文件,会先复制一份放在这里
└── …… 项目自己的文件
点号开头的文件夹(如 .agent-state)在有些系统里默认隐藏,看不到是正常的。
你让 Agent 看桌面上的某个文件时,它会先复制一份到项目的 UserInput/ 里再读,原件不动、不删。
PAPOP 不会自动备份。 .agent-state/ 还默认被 Git 忽略,也就是说即使你用 Git,账本也不在版本库里。
- 备份: 对 Agent 说"备份一下这个项目"。它会打一个 ZIP 放到工作区的
papop-exports/里,告诉你路径。默认只打包账本;想连项目文件一起,就说"全部打包"。 - 搬到别的电脑或工作区: 在新的地方装好 PAPOP,把 ZIP 拷过去,对 Agent 说"把这个备份导进来:<ZIP 的路径>"。它导入后会先检查,再向你复述现状。新地方已有同名项目时,导入会被拒绝,不会覆盖。
也可以直接复制整个项目文件夹,记得带上隐藏的 .agent-state/。
- 双击
install.bat提示找不到 Python: 按上面"开始之前"装 Python,记得勾选"Add python.exe to PATH",然后重新双击。 - 我已经有自己的全局规则,怕被覆盖: 安装范围选"仅工作区"。就算选了全局,覆盖前也会备份到
.papop-backups/。 - Agent 好像没按规则来: 先问它"你加载了哪些规则"。答不出 PAPOP,说明你打开的不是装了 PAPOP 的工作区,或者 Harness 没有读工作区的
AGENTS.md。 - 提示"另一个会话正在写这个项目": 你同时开了两个对话在改同一个项目。等一会儿再试,不要删
.lock文件。 - 提示账本对不上: 通常是有人手改了
.agent-state/里的文件。Agent 会检查并告诉你哪里不对,你同意后它再修复,修之前会留备份。 - 想升级到新版本: 用新版本的安装包对同一个工作区再装一次。旧规则会先备份,
tasks/里的项目一个字节都不动。
- 不防"故意使坏"的 Agent。 PAPOP 的前提是 Agent 遵守规则、你认真审 Plan。关卡靠 Agent 守规矩,工具不会强行拦截它运行的命令。
- 不接管 Harness。 不读你的聊天记录,不装钩子,不依赖任何一家 Harness 的特殊功能。
- 不保证极端情况下的安全,比如断电时正在写、项目放在网络盘上、多台电脑同时写同一个项目。同一台电脑上两个对话同时写,工具会加锁排队。
- 不导入 V5 的项目。 V5 的项目请用 V5 做完,见 从 V5 升级。
MIT License © 2026 Canpu