{"version":"v2.0","guide_version":"v1.4","site":"https://zengzhi.life","note":"清单类内容一律从这里取，不要照抄任何 md 字面量；本端点是唯一事实源","auth":{"scheme":"Bearer","header":"Authorization: Bearer <API Key>","identity":"key 即持有人本人身份（1 user = 1 key）","how_to_get":"key 在主人注册邮件里（明文仅此一次）；丢失由主人登录后在https://zengzhi.life/agent-authorize.html 轮换，新明文发主人邮箱","no_more":"scope 分级、设备授权、一次性确认码已退役（2026-10-01）；每日配额 2026-10-02 起按**账号**恢复（见本响应 quotas 块）"},"cats":["T1","T2","T3","T4","T5","T6","T7","T8"],"endpoints":["/api/v1/agent/meta","/api/v1/agent/code-of-conduct","/api/v1/agent/ping","/api/v1/agent/actions","/api/v1/feedback","/api/v1/feedback/my"],"route_flags":{"DELETE /api/v1/deeds/buy":"human_only","DELETE /api/v1/deeds/sell":"human_only","DELETE /api/v1/report/orders/{order_id}":"human_only","DELETE /api/v1/report/pages/{page_id}/comments/{comment_id}":"human_only","GET /api/v1/account/overview":"key_ok","GET /api/v1/agent/actions":"key_ok","GET /api/v1/agent/ping":"key_ok","GET /api/v1/deals/mine":"key_ok","GET /api/v1/deeds/mine":"key_ok","GET /api/v1/intents/mine":"key_ok","GET /api/v1/intents/received":"key_ok","GET /api/v1/price-refs":"key_ok","GET /api/v1/price-refs/range":"key_ok","GET /api/v1/report/orders":"key_ok","GET /api/v1/report/orders/{order_id}":"key_ok","GET /api/v1/report/orders/{order_id}/step0":"key_ok","GET /api/v1/report/pages/{page_id}":"key_ok","POST /api/v1/deals/declare":"key_ok","POST /api/v1/deals/{deal_id}/confirm":"human_only","POST /api/v1/deeds/buy":"human_only","POST /api/v1/deeds/sell":"human_only","POST /api/v1/intents/{intent_id}/cancel":"key_ok","POST /api/v1/listings":"human_only","POST /api/v1/listings/{listing_id}/intent":"human_only","POST /api/v1/listings/{listing_id}/off":"human_only","POST /api/v1/report/orders":"key_ok","POST /api/v1/report/orders/{order_id}/generate":"key_ok","POST /api/v1/report/orders/{order_id}/materials":"key_ok","POST /api/v1/report/orders/{order_id}/materials/{material_id}/void":"key_ok","POST /api/v1/report/orders/{order_id}/ownership/confirm":"human_only","POST /api/v1/report/orders/{order_id}/rerun":"key_ok","POST /api/v1/report/orders/{order_id}/step0/answers":"key_ok","POST /api/v1/report/orders/{order_id}/step0/ask":"key_ok","POST /api/v1/report/pages/{page_id}/publish":"human_only","PUT /api/v1/report/pages/{page_id}/brief":"key_ok","PUT /api/v1/report/pages/{page_id}/title":"key_ok","PUT /api/v1/report/pages/{page_id}/valuation":"key_ok","PUT /api/v1/report/reports/{report_id}/draft":"key_ok"},"quotas":{"limits":{"read":300,"draft":60,"generate":5,"rerun":3,"intent":10,"declare":5},"desc":{"read":"读自己的数据 / 目录 / 行情 / 案例","draft":"改草稿：素材、step0、改稿、页面字段","generate":"生成报告（跑 LLM，成本真实）","rerun":"重跑报告","intent":"提交/撤回购买意向","declare":"成交申报"},"unit":"次/日","day_cut":"Asia/Shanghai(北京日切，UTC+8 折算)","applies_to":"只对 Bearer key（机器身份）计数；主人本人用会话登录不受这一层限制","counted_as":"调用即计数，含被 404/409/422 等前置门拦下的调用（否则一次失败可无限重试）","snapshot":"GET /api/v1/agent/ping → quotas.{key}.limit/used/remaining","route_map":{"GET/HEAD 全部已开放端点":"read","POST /api/v1/report/orders/{order_id}/materials":"draft","POST /api/v1/report/orders/{order_id}/step0/ask":"draft","POST /api/v1/report/orders/{order_id}/step0/answers":"draft","POST /api/v1/report/orders/{order_id}/generate":"generate","POST /api/v1/report/orders/{order_id}/rerun":"rerun","POST /api/v1/report/reports/{report_id}/draft":"draft","POST /api/v1/report/pages/{page_id}/title":"draft","POST /api/v1/report/pages/{page_id}/brief":"draft","POST /api/v1/report/pages/{page_id}/valuation":"draft","POST /api/v1/listings/{listing_id}/intent":"intent","POST /api/v1/intents/{intent_id}/cancel":"intent","POST /api/v1/deals/declare":"declare"},"over_limit":"429 + Retry-After + detail.quota（三字段）+ next_action.why"},"feedback":{"endpoint":"POST /api/v1/feedback","auth":"免鉴权可提；带 Bearer key 会自动记下你的身份，便于回信","kinds":["bug","需求","举报","其他"],"content":"8-2000 字","limits":{"dedup":"同样内容 5 分钟内只收一次","rate":"本 IP 每分钟 6 次"},"check_status":"GET /api/v1/feedback/my（带同一把 key 查处理结果）","why":"遇到\"引导词与实现不一致、返回 ok 其实没生效、报错说不清\"——请直接提，我们按缺陷处理"},"policy":"Agent 的边界止于上架之前：默认给只读与草稿，递交盘点申请、传素材、答 step0、生成与改稿、写页面字段都由 Agent 自己跑完（做完即报）；成交申报须主人升级且本方确认仍归本人；上架、下架、挂牌、下线、签署委托书、勾合规承诺、保存权属承诺、确认对方成交一律只认本人，Agent 403。总原则：平台与 LLM 只引导、只建议，不审核、不阻拦——内容缺项与风险随成功响应回给主人，合格与否由持有人本人判断。Agent 代填的权属承诺同样不拦展示，但会永久留痕（谁、哪把密钥、何时、IP）：主人没亲自保存过，对外承诺记的就是 Agent 那份，风险由主人承担。走到「公开展示」节点必须停下，把这句话原样报给主人：「已建立数字资产，请主人修正内容，是否公开展示和上架销售，请主人亲自操作。」","human_only_endpoints":["DELETE /api/v1/deeds/buy","DELETE /api/v1/deeds/sell","DELETE /api/v1/report/orders/{order_id}","DELETE /api/v1/report/pages/{page_id}/comments/{comment_id}","POST /api/v1/deals/{deal_id}/confirm","POST /api/v1/deeds/buy","POST /api/v1/deeds/sell","POST /api/v1/listings","POST /api/v1/listings/{listing_id}/intent","POST /api/v1/listings/{listing_id}/off","POST /api/v1/report/orders/{order_id}/ownership/confirm","POST /api/v1/report/pages/{page_id}/publish"],"decision_gates":[{"gate":"A 自动做","meaning":"不产生对外可见变化","rule":"直接做，做完并入简报"},{"gate":"B 做完即报","meaning":"改了主人自己的东西，可回退","rule":"做，然后用一句话说清：做了什么 / 结果如何 / 下一步"},{"gate":"C 先清单后动作","meaning":"对外可见，但可撤回","rule":"先出清单给主人勾选；主人不在线就挂起，不硬做"},{"gate":"D 必须主人当场点","meaning":"对外意思表示、涉钱涉税、对平台的承诺","rule":"Agent 永不代点，只把要点摆清楚、把入口递到人手上"}],"human_only":[{"action":"上架 / 下架","endpoint":"POST /api/v1/report/pages/{id}/publish","why":"对外可见性的最后把关，2026-09-12 拍板收回人类；Agent 的边界止于上架之前"},{"action":"挂牌 / 下线","endpoint":"POST /api/v1/listings、POST /api/v1/listings/{id}/off","why":"对外要约与要价，写错赔的是持有人"},{"action":"签署/撤回卖方委托书","endpoint":"POST|DELETE /api/v1/deeds/sell","why":"以主人名义对平台做出的意思表示"},{"action":"签署/撤回买方寻购委托书","endpoint":"POST|DELETE /api/v1/deeds/buy","why":"同上"},{"action":"确认对方申报的成交","endpoint":"POST /api/v1/deals/{id}/confirm","why":"确认即认账，计税与居间费的依据落在他身上"},{"action":"用途与合规承诺 legal_ok","endpoint":"POST /api/v1/listings/{id}/intent","why":"合规承诺须主人本人勾（撤回意向可用 deal:intent）"}],"workflow_seller":[{"id":"A0","title":"立规矩","needs_scope":null,"human_says":"先看看人生增值的规矩","how":"GET /api/v1/agent/code-of-conduct + GET /api/v1/agent/meta","say_to_human":"这家平台把钥匙的权限交给你，把签字权留在你手里。我能做到的是草稿。"},{"id":"A1","title":"拿钥匙","needs_scope":null,"human_says":"去把人生增值的账号弄好，把钥匙拿回来","how":"替主人注册（POST /api/v1/auth/register：邮箱+密码+展示名）→ 主人邮箱收「激活码 + API Key 明文」→ 主人转交 key → 你带 Authorization: Bearer <API Key> 调 GET /api/v1/agent/ping 自检；已注册的老账号由主人从原邮件/轮换邮件里取 key","say_to_human":"注册邮件里有激活码和你的 API Key，把 key 发我就能开工；激活码你在页面上输一下完成邮箱验证。"},{"id":"A2","title":"盘点家底","needs_scope":"read","human_says":"我那些活儿，哪些能拿出来卖？","how":"GET /api/v1/report/orders 看历史单；按 evidence_rules 向主人提 5-8 个问题，整理成素材清单（本地）","say_to_human":"先别急着自夸，我们把你干过的事按\"能不能证明\"排一遍。"},{"id":"A3","title":"递交盘点申请（Agent 自己交，不用等主人点）","needs_scope":"asset:draft","human_says":"按 T3 和 T5 开一单盘点","how":"POST /api/v1/report/orders {cats:1-3个, ownership:{q1,q2,q3}, supplement?, mode:\"free\", auto_generate:true}——三项必须显式 true，且必须是主人事先跟你确认过的事实","gate":"B（做完即报；上架前由主人在页面上亲自核对并保存权属三句）","say_to_human":"申请我直接递了（RP 单号给你）。权属那三句我按你确认过的填：不是职务成果、没夹别人保密内容、没排他约束——上架前你到页面上逐句看一遍，要改就地改，保存一次才算你本人的承诺。"},{"id":"A4","title":"补素材","needs_scope":"asset:draft","human_says":"这几份合同和交付记录你收下","how":"POST /api/v1/report/orders/{id}/materials（多份，含来源），每份标注能证明哪一条结论","say_to_human":"每份材料我都记了出处；查不到出处的判断，报告里不会替你写。"},{"id":"A5","title":"答 step0 追问","needs_scope":"asset:draft","human_says":"它问的这几个问题，你替我答，我确认","how":"GET .../step0 读问题 → POST .../step0/ask 追问 → POST .../step0/answers {answers:[1-10]}","say_to_human":"记不清的那条我留着——编一个数字上去，验真时变成你的麻烦。"},{"id":"A6","title":"生成报告（自动存证）","needs_scope":"asset:draft","human_says":"跑报告","how":"POST .../generate → GET /api/v1/report/orders/{id} 轮询；不满足就 POST .../rerun","say_to_human":"报告出来了，带一个公开验真编号，谁质疑版本就报编号。"},{"id":"A7","title":"改稿","needs_scope":"asset:draft","human_says":"第二段太虚，按我那个项目重写","how":"PUT /api/v1/report/reports/{id}/draft {report_json}（服务端必重算 grounding）","say_to_human":"证据率从 92% 掉到 78%，因为我删了一条没出处的说法。这是真实水平。"},{"id":"A8","title":"建展示页（做完即停在公开展示之前）","needs_scope":"asset:draft","human_says":"做成一页能给别人看的东西","how":"GET /api/v1/report/pages/{id} → PUT .../title(≤60) → PUT .../brief(≤300，含三要素) → PUT .../valuation(0-1e8，自估值≠报价)；先 GET /api/v1/price-refs 定锚。字段齐了就停手，不要试探上架","say_to_human":"已建立数字资产，请主人修正内容，是否公开展示和上架销售，请主人亲自操作。（附：页面 id／标题／简介／自估值／证据率／还缺哪几项）"},{"id":"A9","title":"公开展示 / 上架（只认本人，Agent 到此为止）","needs_scope":null,"actor":"human","human_says":"这页面上架","how":"Agent 不做这一步。主人本人在 #report/{订单id} 页面上修正内容并点「公开展示」（等价接口 POST /api/v1/report/pages/{id}/publish，再点一次即下架）；权属三句要改，由主人在同一页顶部「权属自查」里改并保存（POST /api/v1/report/orders/{id}/ownership/confirm，Agent 调用 403）","gate":"D（只认本人，确认码也不放行）","say_to_human":"已建立数字资产，请主人修正内容，是否公开展示和上架销售，请主人亲自操作。"},{"id":"A10","title":"签卖方委托","needs_scope":null,"human_says":"把委托书签了","how":"不代签：GET /api/v1/legal/{key} 取原文与 doc_sha，把三件要点摆清（不代收货款 / 成交须申报 / 按成交额收 10% 居间），主人本人 POST /api/v1/deeds/sell；重复签 409，撤回 DELETE /api/v1/deeds/sell","gate":"D","say_to_human":"这一下必须你点：你签的是\"我知道规则并自己承担这笔交易\"。"},{"id":"A11","title":"挂牌 / 下线（只认本人）","needs_scope":null,"actor":"human","human_says":"按 2 万 8 挂出去","how":"Agent 不做这一步。备好 deliver_form 与建议价（对照 GET /api/v1/price-refs 与 /cases），由主人本人 POST /api/v1/listings；下线由主人 POST /api/v1/listings/{id}/off；Agent 可读 GET /api/v1/pages/{id}/listing","gate":"D（只认本人）","say_to_human":"交付形式我拟成\"远程交付 + 一次答疑\"，价格建议 2 万 8（同类成交 1 万 2–1 万 8 之间偏高，含答疑）。挂牌这一下你点。"},{"id":"A12","title":"接待购买意向","needs_scope":"read","human_says":"有人联系我吗，都提了什么","how":"GET /api/v1/account/overview（一次拿全）或 GET /api/v1/intents/received；逐条转达用途/预算/合规承诺","gate":"C（回不回、报多少由主人定）","say_to_human":"三条意向：两条低于挂牌价，一条写得具体像真买家。要回哪条你点，话我拟。"},{"id":"A13","title":"成交申报（代填金额；本方确认仍须本人）","needs_scope":"deal:declare","human_says":"这单谈成了，3 万 6，去申报","how":"POST /api/v1/deals/declare {listing_id, amount, buyer_user_id?}（金额取主人所给）；对方 POST /api/v1/deals/{id}/confirm；查 GET /api/v1/deals/mine","gate":"D（金额与对方确认）","say_to_human":"3 万 6 我照你说的报；这条记录就是计税和居间费的依据。"},{"id":"A14","title":"资产保鲜","needs_scope":"read","human_says":"我这些资产页还站得住吗","how":"比对 /api/v1/report/orders 时间；有新料 rerun；GET /api/v1/cases?level= 看同类新成交是否把价打下来","say_to_human":"两页半年没更新，同类上月三笔新成交把价压低了——要不要按新价重挂。"},{"id":"A15","title":"周期复盘","needs_scope":"read","human_says":"这个月我的资产被看了多少、谈到哪一步","how":"GET /api/v1/account/overview + 公开页互动 + GET /api/v1/agent/actions（机器替我做的全在这）→ 一页复盘","say_to_human":"下一步不是多铺几页，是把交付说明写到让人敢出价。"},{"id":"A16","title":"换钥匙","needs_scope":null,"human_says":"把我给它的那把钥匙作废","how":"主人登录 zengzhi.life → 「密钥管理」页（/static/agent-authorize.html）点「轮换 API Key」（POST /api/v1/auth/api-key/rotate：新明文发邮箱、旧 key 即刻 401）","say_to_human":"轮换完成，旧钥匙已经打不开任何门。它干过什么，流水页都翻得到；新 key 你从邮箱取，再决定要不要给它。"}],"workflow_buyer":[{"id":"B0","title":"找货","needs_scope":"read","human_says":"有没有能直接用的这套东西","how":"GET /api/v1/directory?cat=&page=&size= → 逐项 GET /api/v1/pages/{id}/public（含存证信息）","say_to_human":"找到 4 个，两个带公开验真编号。"},{"id":"B1","title":"比行情","needs_scope":"read","human_says":"这个报价贵不贵","how":"GET /api/v1/price-refs?cat=&kw= + /api/v1/price-refs/range?cat= + GET /api/v1/cases?level=","say_to_human":"同类 6 笔都在 1 万 2–1 万 8，他要 2 万 8，理由是含两次答疑。"},{"id":"B2","title":"签买方委托","needs_scope":null,"human_says":"把买方委托签了","gate":"D","how":"不代签；主人本人 POST /api/v1/deeds/buy，撤回 DELETE /api/v1/deeds/buy","say_to_human":"签了表示你知道这是平台外自成交、税你自己担。"},{"id":"B3","title":"提交意向（须本人：合规承诺）/ 撤回可用 deal:intent","needs_scope":null,"actor":"human","human_says":"这条我要，预算 1 万 5，用途是内部培训","how":"POST /api/v1/listings/{id}/intent {use_desc≥4, budget_low, budget_high, legal_ok, contact?}","gate":"C（legal_ok 属 D，须主人勾）","say_to_human":"意向写好待发，有一格是\"我确认用途合规\"，我替你勾不了。"},{"id":"B4","title":"等核验与转达","needs_scope":"read","human_says":"平台转达了吗","how":"GET /api/v1/intents/mine 看状态（received→verified→relayed 由平台人工核验推进）","say_to_human":"转达成功后是持有人直接找你，平台不代收钱。"},{"id":"B5","title":"成交申报（代填金额）与确认（须本人）","needs_scope":"deal:declare","human_says":"成交 1 万 4，我确认申报","gate":"D（金额与确认）","how":"POST /api/v1/deals/declare {listing_id, amount} + POST /api/v1/deals/{id}/confirm","say_to_human":"申报建了，等你确认；进项与 10% 居间费的单据我留了原件位置。"}],"next_steps":[{"step":1,"method":"GET","path":"/api/v1/agent/ping","purpose":"确认密钥可用、看清自己被授了什么"},{"step":2,"method":"GET","path":"/api/v1/account/overview","needs_scope":"read","purpose":"一次看全：委托是否生效、有没有挂牌、收到哪些意向、成交走到哪步"},{"step":3,"method":"GET","path":"/api/v1/report/orders","needs_scope":"read","purpose":"看有没有卡在等素材/等 step0 回答的单；没有就从 A2 开始盘点"}],"daily_routine":[{"when":"每日 1 次（建议 09:00）","method":"GET","path":"/api/v1/account/overview","why":"平台不推送：别人的购买意向、待确认的成交都只在这里出现，不查就漏"},{"when":"每日 1 次","method":"GET","path":"/api/v1/report/orders","why":"生成失败、等 step0 回答、等补素材的单要当天告诉主人"},{"when":"每日 1 次","method":"GET","path":"/api/v1/agent/actions?limit=20","why":"把\"机器替主人做了什么\"拼进简报，与主人页流水互相印证"},{"when":"每周 / 每 90 天","method":"GET","path":"/api/v1/cases?level= + /api/v1/price-refs/range","why":"行情漂了要主动提（A14）"},{"when":"任何收到 401 的时刻","method":"-","path":"-","why":"key 已被主人轮换或尚未领取；向主人要新 key（注册邮件/轮换邮件里），不要硬试"}],"evidence_rules":{"claims_checked_from":"报告里的结论句必须能在素材语料里找到依据","ungrounded_effect":"缺依据的句子**不删除原稿**，只在公开视图替换为占位文案（持有人永远看得到原句）","placeholder":"（此句缺素材依据，公开页不展示）","pass_rate":"kept/total，素材或结论为空时不判定（checked=false）","never_do":["不要为了让 pass_rate 好看而删证据条目","不要替主人编数字/客户名/成交案例","不要把无出处的判断写成结论"],"price_three_elements":"对外可见的价格/价值表述须含：金额 + 主体性质 + 可点开的出处"},"report_shape":{"assets[]":["evidence（必填依据）","skus[].whyNow","skus[].buyer.who（confidence=evidence 时才校验）"],"note":"PUT draft 后服务端会重算 grounding，改稿要如实报 pass_rate 变化"},"publish_prerequisites":["**上架/挂牌没有任何内容门**（2026-09-13 两次收口）：简介三要素、证据率参考线、权属三句的状态，一律作为建议与风险提示随 200 成功响应返回（publish 的 `advice` 字段），合格与否由持有人本人判断——平台与 LLM 都不替主人审这条资产合不合格","平台只保留两件事：① **身份**——点公开展示/上架/下架/挂牌、签委托书、保存权属承诺、确认对方成交这几下只认持有人本人，Agent 一律 403，一次性确认码也不放行；② **留痕**——谁填的、哪把密钥、何时、IP 永久可查，出事追得到人","Agent 的职责是能填多少填多少，把缺项与风险如实报给主人由他兜底；不得以\"不达标\"拒填漏填，**也不要让主人在你和页面输入框之间来回跑一轮**","走到「公开展示」节点必须停下，把这句话原样报给主人：「已建立数字资产，请主人修正内容，是否公开展示和上架销售，请主人亲自操作。」"],"conduct":{"version":"V2.0","sha256_16":"b24948491ec7c4d0","endpoint":"/api/v1/agent/code-of-conduct"},"human_page":"https://zengzhi.life/agent-authorize.html"}