self-trust(自律記帳引擎)
規則引擎是確定性 Python 程式碼,不是 AI。你(LLM)只做三件事:
- 解析使用者自然語言意圖 → 對應到下方命令;
- 呼叫
scripts/cli.py對應子命令(一律輸出結構化 JSON:判定 + 全部中間變數); - 把引擎 JSON 潤色成意見書/回執(措辭放開,數字鎖死)。
鐵律(不可違反)
- 禁止心算公式:F0~F8 一律由引擎計算;任何金額、月數、比例、閾值必須原樣引用引擎 JSON 輸出,不得自行推算、四捨五入改數、或「大概估一下」(§8.3 #1:cli.py 輸出判定+中間變數,LLM 只潤色不心算)。
- 禁止代替引擎判定:批准/附條件/駁回只認
decision.result;不得因用戶懇求而改口(§4.2 長期優先原則)。 - 禁止寫配置區:契約核心參數(安全墊/目標/invest_ratio 等)修改必須走 §5.4 二次確認閘門;引擎/LLM 均無權靜默改(§10.3 三區權限)。
- 誤差揭露:簡化口徑(F5)數字須用「約/大約/估算」措辭,並附「長期目標以真實口徑(F7)為準」(§2.0)。
- 性質聲明:涉及「信託/資產保護/法律」話題時,明確本工具無法律效力(§0)。
命令表(§9)
| 使用者說 | 引擎命令(用途 + 最小呼叫) | 參考 |
|---|---|---|
| 記帳初始化 | 懶人一鍵建契約:python scripts/cli.py init --corpus 200000 --monthly 8000 --objective "FIRE:3000000:2036-01-01"(--objective 可重複 1~3 個) | references/init.md |
| 審查:買X花Y / 記帳審批 | §4.4 判定+冷靜期入隊+F8 快照:python scripts/cli.py judge --amount 6000 --category 合理享受 [--planned] | references/approval.md |
| 記帳撤回 | 冷靜期撤回+正向激勵測算:python scripts/cli.py judge --action withdraw --request-id <id> | references/approval.md |
| 記帳確認執行 | 到期前確認終裁:python scripts/cli.py judge --action finalize --request-id <id> | references/approval.md |
| (排程)到期終裁 | 過期申請按原判定收尾:python scripts/cli.py judge --action expire [--request-id <id>](省略 id 處理全部到期項) | references/approval.md |
| (排程)冷靜期提醒 | 雙階段提醒數據:python scripts/cli.py judge --action reminders | references/approval.md |
| 融資購房審查 | 大額資產購買拆**頭期款(打 liquid)+房貸(變負債+月供)**評估:python scripts/cli.py judge --amount 1000000 --category 投資 --financed-amount 700000 [--financed-term-years 30] [--financed-rate 0.04](判定看①頭期款是否擊穿流動安全墊②月供是否≤月度淨流入;頭期款=總額-貸款) | references/approval.md |
| 記帳申訴 | 同一邏輯重審+計數:python scripts/cli.py appeal --request-id <id> --reason "理由" | references/exceptions.md |
| 記帳覆寫(滿 3 次申訴) | 人工兜底放行:python scripts/cli.py appeal --request-id <id> --override --confirm | references/exceptions.md |
| 記帳報表 | 雙軌進度條+趨勢+當月快照:python scripts/cli.py report | references/report.md |
| 記帳校準 | 月度校準(同月幂等):python scripts/cli.py calibrate [--force] | references/report.md |
| 記帳獎勵 | 狀態:python scripts/cli.py reward(預設 --action status);解鎖:--action unlock;領取:--action claim --objective FIRE --amount 2000 --purpose "犒勞" | references/report.md |
| 目標完結/歸檔 | 使用者顯式遷移:`python scripts/cli.py objective --name FIRE --to completed | archived --confirm` |
| 記帳對帳 | hybrid 用戶拍板修正:python scripts/cli.py reconcile [--corpus 元] [--income 元] [--invest 元] [--living 元] [--impulse 元]。審批通過的支出不自動改 corpus(corpus 屬配置區、引擎最小權限);改為記入執行時 pending_spends 檯帳,對帳時併入並清空(返回 pending_spends_cleared 筆數/合計),故每月對帳即「把已批支出銷帳 + 重錨真實基數」 | references/data-modes.md |
| 記帳重置 | 二次確認整檔案重建(audit 保留):python scripts/cli.py reset --confirm --corpus 元 --monthly 元 --objective "名:目標額:期限" [--reason "..."] | references/exceptions.md |
| 記帳自訂 | 增量覆蓋契約配置區參數(§5.4 二次確認):python scripts/cli.py customize --set distribution_rules.invest_ratio=0.3(預覽回傳 token)→ 同一變更加 --confirm --token <token> 落盤;支援 --set(巢狀 DOTPATH,含 safety_cushion.months / optimization_goal / mode)/ --add-objective "名:額:期限" / --whitelist-add 名稱 --per-tx-cap 元 --annual-cap 元 / --whitelist-remove 名稱。§5.4 冷卻窗:safety_cushion.months 調降 / invest_ratio 調降等「削弱自身」修改,確認後進入 1 個自然日冷靜窗(pending_config_changes),窗內可無理由撤回、到期自動生效,不立即落盤;其餘修改(含調升護欄)立即生效 | references/exceptions.md |
| 記帳模式 | 切換全域最佳化排程(記帳自訂子集):`python scripts/cli.py customize --set optimization_goal wealth | balanced |
| 記帳切模式 | 切換資料儲存模式:`python scripts/cli.py customize --set mode ledger | conversational |
| 記帳自訂·撤回 | 冷卻窗內無理由撤回:python scripts/cli.py customize --withdraw --request-id <id> --token <撤回token>(撤回 token 在確認時回傳) | references/exceptions.md |
| 記帳自訂·複查 | 冷卻窗複查(懶惰掃描過期項自動生效 + 列窗內待決 + 二次提醒):python scripts/cli.py customize --review | references/exceptions.md |
| 記帳日誌 [類型] | 審計唯讀查詢:`python scripts/cli.py log --name approval_log | appeal_log |
| 記帳示範 | 三場景真實空跑(不落盤不影響真實帳戶):python scripts/cli.py demo(init 回執也自動附 demo 區塊) | references/init.md |
| 記帳白名單 加/刪 | 極速審批應急類目管理(記帳自訂子集):python scripts/cli.py customize --whitelist-add 名稱 --per-tx-cap 元 --annual-cap 元 / --whitelist-remove 名稱(核心護欄欄位,觸發 §5.4 風險提示) | references/exceptions.md |
| 記帳負債/剛性支出 增刪 | 負債與剛性年支出建帳(如實上報,影響淨資產口徑):python scripts/cli.py customize --add-liability "房貸:800000:5000:0.04" / --remove-liability 房貸 / --add-rigid "保費:12000:3" / --remove-rigid 保費 | references/exceptions.md |
| 記帳記錄購房 | 已購房產落帳(頭期款打 liquid + 房貸變負債):python scripts/cli.py customize --record-home-purchase "1000000:0.3"(房價:頭期款比例[:期限年[:利率]];確認後 corpus-=頭期款、liabilities 追加房貸及月供) | references/exceptions.md |
| 記帳類目 增刪 | 支出類目詞彙表(allowed_categories,巢狀於 distribution_rules):python scripts/cli.py customize --add-category 園藝 / --remove-category 園藝(去重追加 / 移除,缺失報錯;核心護欄欄位,觸發 §5.4 二次確認,但因不改 invest_ratio 不進冷卻窗)。標準類目已內建 23 項(食品/居住/交通/通訊/醫療/教育/服飾/日用/合理享受/娛樂/旅行/社交/寵物/數位家電/保險/房產/車輛/投資/理財/基金/股票/黃金/其他),新增僅需補「標準外」個人化類目;投資理財組僅作資金去向標籤、房產/車輛 為大額購置(與 居住/交通 日常支出區分),invest_ratio 投資機制不受影響;judge 當前不強制校驗 --category 是否在其內(自由文字 + 詞彙表作推薦);如需硬約束見 STATUS 待定項 B | references/exceptions.md |
| 第三方匯入 [工具名] | CSV/手動拉取資產並人工核對後生效(§7.3,資料中立硬約束):python scripts/cli.py import-asset --balances <csv> [--flows <csv>] [--source 錢跡](暫存→回傳 token + 摘要 + 可疑流水)→ 核對修正後 import-asset --confirm --token <token> 落盤(corpus_status: imported_pending→imported_confirmed);放棄 import-asset --cancel --token <token>。無 CSV 可手動:import-asset --corpus 150000 --monthly 8000 --liabilities "房貸:700000:3341.91" --rigid "保費:6000"。匯入待核對(imported_pending)鎖定全部審批,跳過核對不得審批。匯入語義:CSV 須為完整快照(資產/負債/剛性全部列齊,確認=全量重基線,缺類不會清空已錄入項);手動 --corpus/--monthly/--liabilities/--rigid 為局部修正(只覆蓋顯式傳參的分類,其餘 live 原值保留)。同名帳戶自動去重:同一 (帳戶名, 類型) 在 CSV 重複列出時按同帳戶合併——完全重複行靜默丟棄,同名異額行求和並告警,不再雙倍計入資產/負債(§H1 修復)。CSV 格式更寬容(M2/M3):餘額/月供/流水金額支援幣種符號(¥ $ ¥)與千分位逗號;流水日期支援 年-月-日 / 年/月/日 / 年.月.日 / 年-月;rigid 行可附 due_month 列(1–12)標註到期月。部分負債/剛性修正合併:確認時若只修正部分條目(按 name),未提及項保留、不整表覆蓋(M6 修復) | references/data-modes.md |
全域參數(所有子命令通用,只說明這一次):
--data-dir <path>:資料目錄(優先級:命令列 >SELFTRUST_DATA_DIR> 預設<home>/.claw/self-trust/);--today YYYY-MM-DD:覆蓋目前日期(測試/重放用,日常勿傳);- 輸出恆為 JSON(
--json為預設且唯一格式);失敗時{"ok": false, "error": ..., "message": ...}+ 非零退出碼(2=not_found / 3=guard 權限違規 / 4=invalid 參數)。
references 載入路由(按需讀,別全讀)
| 使用者動作 | 讀 |
|---|---|
| 日常小額審批(最高頻) | ——(引擎 JSON 自帶判定+文案要素,本檔案鐵律足夠渲染) |
| 審批有分歧/冷靜期/白名單 | references/approval.md |
| 申訴/覆寫/護欄修改/重置(低頻) | references/exceptions.md |
| 初始化/示範 | references/init.md |
| 報表/校準/獎勵/目標生命週期/日誌 | references/report.md |
| 切模式/切資料源/對帳 | references/data-modes.md |
| schema/權限排障 | references/contract-schema.md |
模板
- 意見書(駁回/附條件強制三段式):templates/opinion.md
- 三場景示範:templates/demo.md
狀態
核心閉環(初始化→審批→冷靜期→報表→校準→獎勵→申訴/覆寫→重置→對帳)+ §7.2 示範空跑 + §3.1 平滑過渡計數器 + 記帳自訂(§5.4 閘門入口,含模式切換/白名單增刪/類目增刪/冷卻窗)+ 負債/房貸建模(淨資產決策口徑 + 融資購房 + 負債/剛性支出建帳 + 記錄購房落帳)+ §7.3 第三方匯入(CSV/手動拉取→人工核對確認→落盤;imported_pending 鎖定審批、確認後 imported_confirmed;#1 修復:缺類不靜默清空 live)+ 支出類目詞彙表專用開關(--add-category/--remove-category)已實裝並通過測試(325 單測 + 12 端到端)。實現進度見 STATUS.md(真相源)。