DuDuClaw 完整功能清單
v1.24.0 核心 + 2026-07/08 新增 | 最後更新:2026-08-16(v1.61.0)
說明:以下各章為 v1.24.0 基準。緊接其後的**「新增」**區塊涵蓋此後落地的功能(權威清單見
CHANGELOG.md)。本檔已與英文版同步。
2026-08 新增(v1.54 – v1.61)
Section titled “2026-08 新增(v1.54 – v1.61)”| 功能 | 說明 |
|---|---|
| 校準式 forward model + held-out 學習閘(v1.54) | 行動前的信心預測以 proper score(Brier/RPS,拒用 log score)計分並做 Murphy 分解,證據來自外部工具結果而非自我陳述;無程式化證據的歸納型教訓先進 shadow,樣本外以 Wilson 信賴下界(多候選 Bonferroni 校正)贏過凍結基準才轉正;只給三種誠實結論(SUPPORTED / CANDIDATE / INDISTINGUISHABLE_FROM_LUCK)。預設開啟,可在儀表板逐層關閉(39-calibrated-forward-model.md) |
| 通知治理(v1.55) | 所有主動推播必附 L1/L2/L3 級別;勿擾時段延後並合併投遞 L1/L2(L3 照發);每日摘要預設關、無事不寄;每類通知的行動率量測(notify.stats,精確率 <50% 標記 broken);決定卡按下後就地收斂;通道推播附儀表板深連結(40-notification-governance.md) |
| 統一待辦決定管線(v1.55) | 五種決定來源(goal needs_human / 啟動核准 / 通用審批 / 安裝簽核 / 自動規則跳閘)收斂為單一 action-id 編碼、單一授權模型(關閉 goal 按鈕先前不驗身分的缺口)與統一收件匣;新增第四顆「交給我」接手動作;一人決定後所有收件者的卡片同步收斂 |
| 真人接手(v1.55) | 已驗證的管理者在通道對話中直接發言即接手:AI 對該對話暫停回覆(預設 60 分鐘,/takeover 查詢/延長/提前結束);接手期間所有把 AI 訊息送進該對話的路徑一律凍結、延後或丟棄,L3 級審批照發。v1.56 起改為 opt-in(預設關),原預設開會讓個人版跟自己的 AI 對話被噤聲(42-human-takeover.md) |
| 常駐感知(v1.55) | 外部資料流(http_poll / command / file_tail / websocket,預設關)以 tick 事件接進 autopilot 匯流排,數值欄位自動衍生 prev_/delta_/pct_ 比對欄位;喚醒 agent 前可選本地模型初篩;TickHub 記憶體環形緩衝;SSRF/DNS rebinding 防護;經真實行情流多輪活測強化(41-resident-sensing.md) |
| 跨喚醒「近期自身行動」注入(v1.55) | 每次喚醒開場注入該 agent 近 24 小時實際工具呼叫的稽核摘要(含失敗與被攔截的行動),讓「你是否做過某事」以耐久紀錄為準,不再只信即時工具狀態 |
| 五通道引用回覆上下文(v1.55) | 在 Telegram / Discord / Slack / Teams / WhatsApp 回覆(引用)訊息時,被引用內容帶進 agent 輸入;mention-only 群組中回覆 bot 的訊息視同提及;Telegram 轉發訊息標注原始來源 |
| 白話化經驗法則(v1.55) | Playbook 規則以白話句呈現(零 LLM 模板改寫)並附「為什麼有這條」證據;通道指令 /rules;注入規則帶編號,AI 能指出回答依據的是哪一條 |
| Telegram Mini App 審批卡(v1.55) | 高風險審批卡可選掛「查看詳情」web-app 按鈕(完整說明、事前模擬後果、到期倒數、同意/拒絕);initData 簽章驗證,授權與按鈕同一套(43-telegram-miniapp.md) |
| 學習管線可觀測性(v1.56) | 記錄了 source_facts 的規則在來源事實被取代時標記 source-stale(注入時降權並標示);達標後才被關卡擋下的整合失敗記錄原因(consolidation_failures.jsonl);對話路徑的規則結算接上 held-out 閘;歸納型 shadow 候選在對話側也能累積樣本外紀錄、真的轉得了正 |
| 分版與設定硬化(v1.56) | 個人版併發上限限「同時執行的目標任務數」(預設 2,排隊不拒絕、fail-open;RFC-27),永不設 AI 員工數量上限;多人團隊版專屬畫面改由 gateway 分派入口伺服器端把關;agent.toml [model] account_pool 真的會篩選帳號輪替候選;儀表板建立員工必須明確選模型 |
| 真 ACP server(v1.57) | duduclaw acp 實作 Agent Client Protocol v1(stdio JSON-RPC),Zed / JetBrains / nvim 的 agent panel 直連 AI 員工,走與通訊頻道同一條 gateway 回覆管線,即時串流 tool_call / plan / 訊息分塊;A2A 的 acp-server 指令行為不變 |
| Remote MCP + OAuth 2.1(v1.57) | 規範原生 POST /mcp 端點(版本協商、無狀態模式、Origin 錨定白名單)+ 最小而完整的 OAuth 2.1 授權面(RFC 9728/8414/7591、PKCE S256、操作者同意、refresh 輪替),claude.ai 自訂連接器 / Claude 行動版 / MCP Inspector 可直連自架 DuDuClaw |
| 五通道文字裁決(v1.57) | 回覆決定卡並送出整句裁決詞(同意/拒絕/重試/完成/中止/暫停,中英皆可)就等於按下按鈕:Telegram / Discord / Slack / LINE / Teams,同一套授權、重複按壓保護與行動率記帳;補上智慧手錶一鍵決定的缺口 |
| 本地模型市集(v1.57) | 選用途 → 依本機記憶體算出的硬體適配燈 → 一鍵安裝(自動挑量化版本,來源為五家品質驗證過的 HF 發布者);MoE 雙軌判定讓 16GB 機器也能被合理推薦 30B-A3B 級模型(45-local-model-marketplace.md) |
| 工作狀態:跨喚醒權威狀態(v1.57) | 每 agent 鍵值化工作狀態 + 交接註記,自動注入每一次喚醒(排程/心跳/目標迴圈/通道)作為唯一權威;只收顯式工具更新且 reason 必填 + 取代鏈歷史、expected_value CAS、ttl_hours 當日規則到期、32-key 上限;[memory] working_state_enabled,預設開(44-working-state.md) |
| 排程執行有記憶、看得到(v1.57) | 成功的排程/派工執行現在也餵進同一條蒸餾/知識管線(每 agent 每小時節流)並落執行紀錄頁。先前純排程驅動的 agent 跑再久也零記憶、零紀錄 |
| 生態系與散發面(v1.57) | 六個免費產業入門包(安全邊界一字不減)、pack registry 安裝/發佈(客戶端 sha256 + minisign 驗證)、CONTRIBUTING.md + pack 自製教學、公開網站聊天 widget(訪客模式,預設關)+ WordPress 外掛、Chrome / VS Code 擴充、穿戴裝置逐字稿直灌(POST /ingest/transcript)、duduclaw tunnel、LINE 加好友 QR/NFC;外部 MCP 工具面改 scope 驅動;Homebrew 通路廢棄 |
| 目標任務管理台 /goals(v1.58) | 儀表板直接指派目標給 AI 員工(與 /goal 同一套語義)、每目標完整逐輪執行時間軸(tasks.timeline)、人工介入就地操作;儀表板所有 needs_human 裁決統一走與通道按鈕相同的 fail-closed tasks.goal_decide 路徑 |
| 預測與驗證頁(v1.58) | LLM→LWM 迴圈可視化:預測 → 執行 → 觀測 → 對照;逐輪預測 vs 實際(forward.chain);每 agent 預測能力判定卡(Brier + Murphy 分解,三態誠實標籤);世界模型狀態桶首次可讀;MAV 逐面向裁決、執行紀錄連結、重派/無進展訊號與預測子誤差逐輪落庫 |
| 通道 OTP 候選鏈 + 設定整合(v1.58) | 登入驗證碼送信改為「全域 token 優先,再逐一嘗試各 agent 專屬 bot token」(去重、排序),修復 bot 綁到單一員工後 OTP 靜默失敗;agent 通道設定與通道管理共用同一個編輯對話框;側邊欄「新功能」(newIn)標籤機制上線 |
| 信念迴圈(v1.59) | 對外部世界的結構化信念記帳(belief_submit / belief_settle / belief_stats MCP 工具);確定性三向 Brier 結算,對照提交時基準值並與 TickHub 交叉核對(agent 不能自報現實);校準統計與信念對照兩個程式化注入鉤點;/foresight 信念與驗證分頁(46-belief-loop.md) |
| 每目標契約欄位 + 自主研究(v1.59) | 建目標時可設 duration_hours(到期未過驗收 → needs_human)與 risk_boundary(留空套五行基本款),逐輪注入並成為 MAV safety 面向檢核基準;/goal 支援 時限:/邊界: 段;可勾選要求結構化預測;當日信念失準的員工自動獲派晚間研究目標 |
| 派工引擎預設開 + 排程器活性(v1.59) | [dispatch] enabled 預設改 true(指派目標開箱即跑),儀表板熱切換;/healthz 在 cron/heartbeat 迴圈停擺逾 5 分鐘時回 503:修復排程層全滅、容器卻連日顯示 healthy 的事故 |
| 兩段式裁決 + 判官硬化(v1.60) | MAV 判官團之前先跑便宜的第一階段評估器(continue/candidate_complete/blocked,預設開;任何故障降級直跑 MAV,絕不自動通過);四條判官紀律(反棘輪、只稽核不自建證據、反契約外擴張、自稱完成不是證據);修掉截斷面板與 PASS 誤判兩個 fail-open 洞;gap 指紋停滯偵測;提前收工偵測;resume_on_restart 預設 pause |
| 可換判官 seam(v1.60) | [dispatch] judge = mav / evaluator_only / external / human_only:外部判官任何故障一律降級回 MAV(變嚴、留稽核),其 feedback 視為未受信 DATA;未知值回退 mav;設定→自動化有下拉選擇器 |
| 目標契約凍結(v1.60) | 建立時把驗收標準凍結成不可變 acceptance_criteria_baseline,判官與評估器一律讀這份基準;agent 身分改 goal 任務驗收標準一律拒絕並留稽核;/goal 未帶標準時附四要素引導與 outcome 式標準建議 |
| 目標迴圈人為信號 + 准入排隊(v1.60) | needs_human 帶封閉六類 pause_reason(觸發現場靜態標記,絕不從 LLM 敘述反解);逾時進度通報(progress_report_minutes);零 LLM 工具連擊 advisory(3/5/8 逐級);ephemeral spawn 超限改有界 FIFO 排隊(預設 queue);預算耗盡改交「最佳輪成品」(確定性挑選 + 差距清單,不再空手升級) |
| Agent Mail(v1.60) | 每 agent 信箱(/mail 頁):Gmail API / drop folder 入站,外發一律先建草稿過 ApprovalBroker 確認(背景 worker 是唯一寄信者),信件內容 DATA 圍欄,獨立不可外部授予的 scope,跨 agent 讀信過組織權限判定(47-agent-mail.md) |
| Agent 組態 preset P1(v1.60) | duduclaw preset 指令族 + agent create --preset,可具名複用的組態組合;綁定權威存 preset_bindings.toml,解析結果物化到 agent 目錄之外(防自改繞過),org 欄位帶值整包拒絕、敏感段靜默剝除;內建 9 個部門職務 preset |
| 統一交辦面板 + 計畫模式 + 靈感畫廊(v1.60) | 所有入口共用同一個交辦面板(個人版終於有主要動作按鈕),問一問 / 交辦 / 「想一想」三模式。計畫模式先產 3-8 條計畫停在 needs_human 等核准,核准後以 <execution_plan> 一次性注入;已結束的目標可「接著做」;靈感畫廊 /gallery 把 22 組產業團隊範例扇出成一鍵做同款卡片;任務詳情改四分頁(產物/檔案/變更/過程) |
| 產物 provenance + 交付安全(v1.60) | artifacts.jsonl 五種 origin 的 provenance ledger(declared/swept/uploaded/produced/unknown,exact/inferred 歸屬標示,絕不用時間窗猜方向);goal 驗收通過時封存產物副本進 attachments/(canonicalize 圈定、20MB/100MB 上限);📎DELIVER 前的零 LLM 交付閘(零位元組/magic 不符/zip 損壞硬失敗);[limits] DocumentLimits 守三個下游 office/zip 解析器;修補專家包解壓 header 謊報繞過 |
| 憑證 P1 + secret 參照收斂(v1.60) | secret://keychain 與 secret://file 本機 backend、tick 來源 headers 支援 secret://、憑證來源總表卡 + doctor --fix-residue;SecretRef/Secret 型別收斂七套手刻解密方言:修掉 secret:// 參照字面值被當真憑證送給 vendor API 的洩漏;WhatsApp webhook 驗簽改 fail-closed;ActionGuard 判官改吃 21 項封閉列舉 findings(攻擊者可控文字結構上進不了判官 prompt);MCP key 輪替即時生效、denied_tools/allowed_tools 補上 MCP 分派總門強制 |
| 十通道通知統一(v1.60) | autopilot notify、MCP send_message、提醒全部改走共用 create_sender 工廠,十通道全通(WebChat 誠實拒絕);修復 autopilot slack 通知從未送出過的活 bug 與 Google Chat / Teams 靜默跳過缺陷 |
| 進化量測硬化(v1.60) | AEE 提交閘拆 visible / held-out 兩維(fence-only:只否決不晉升);冠軍 bootstrap 改同形量測;duduclaw evolution clear-holdout-rotation 操作者出口;每輪 14 個旋鈕快照進 aee_round 事件;Code Mode Phase 0 量測閘(duduclaw cost tool-loop,四判準 PROCEED/REJECT/INSUFFICIENT_DATA) |
| cron 星期慣例修正(v1.61,BREAKING) | 數字星期欄在解析時從 Unix crontab 慣例(0/7=週日、1-5=週一到五)轉譯成 cron crate 的 Quartz 序數,排程器/heartbeat/MCP 驗證/儀表板共用同一份 normaliser:先前 * * 1-5 實際排的是週日到週四(週日幽靈觸發 + 週五整天靜默跳過);刻意照 Quartz 寫的排程升級後會位移一天 |
duduclaw migrate-from claude-code(v1.61) |
單向匯入 Claude Code 的 memory shard(→ semantic + SPO 時間記憶)、CLAUDE.md(→ agent wiki context 層,不佔注入預算)與對話逐字稿(噪音濾除只留人類 prompt + assistant 最終回覆,實測有效訊號僅約 1.5%);一律 origin=import(trust ≤ 0.7)、當 DATA、redaction 預設開、過注入掃描、skill 過安全掃描 fail-closed;需人工 --apply 才真正寫入 |
| 通道能力表(v1.61) | channel_capabilities.rs 單一權威表:11 通道 × 7 能力(檔案/照片上傳、互動按鈕、edit-in-place、typing、原生 markdown、引用回覆)+ 進度節流秒數;不支援的能力從靜默 no-op 改為留下結構化 log |
| minimal_context 上下文瘦身(v1.61) | 每次 spawn 官方 CLI 帶策展 --tools 清單 + --setting-sources project,local(保留 agent-file-guard hook):實測固定開銷 35,892 → 10,974 tokens/次(省 ~69%);estimate_tokens CJK 校準(修 ~22% 低估);MCP tools/list 依呼叫者 capability 過濾(discoverable ⊆ callable) |
| 憑證 P2/P3(v1.61) | 零重啟輪換:帳號池寫入即失效 rotator 快取、Telegram 每輪重解析 token、六個 webhook 通道 inbound 驗簽 per-request、Odoo 下次呼叫即重連(Discord/Slack 長駐 WS 仍需重啟);spawn env 改白名單擦洗(濾除所有 *_API_KEY/*_TOKEN/*_SECRET/*_PASSWORD,vendor 金鑰改呼叫端顯式注入);per-agent [capabilities] git_credentials(預設關)明確授權才恢復 SSH/GPG git push,留稽核;secret:// 收斂第二輪(account_rotator + mcp.rs) |
| 管理台與任務打磨(v1.61) | ⌘K 跨來源內容搜尋(對話/產物/記憶/wiki)、/files 搜尋 + 任務篩選 + 日期範圍、/goals 任務置頂/歸檔/重新命名 + 分頁(解除 20 筆硬截)、唯讀 /presets 頁、mail 拒絕備註、/goals 詳情併入四分頁 /tasks/:id 正式頁 |
2026-08 新增(v1.53)
Section titled “2026-08 新增(v1.53)”| 功能 | 說明 |
|---|---|
| 進化系統 v3:AEE + playbook | 預設進化標的從「整份改寫 SOUL.md」改為基因形 playbook 行為規則:Gate/Measure 閘門分離、champion + matches-or-improves 提交閘、條目級觀察窗;SOUL.md 對 agent 唯讀(38-aee-playbook-evolution.md) |
| E1 條目斷言 + 反 reward-hacking 稽核 | 每條新規則必附可機器檢查的斷言,對錄製 transcript 做零 LLM 重放(G-Assertions);提案提交前確定性篩查題庫題面洩漏 / 恆真空話 / 失敗抑制 |
| 任務層前瞻模型 | goal loop 上的 predict-act-verify 世界模型:四階退化統計預測(冷啟動零 LLM)、觀察證據保真度分級(原生工具事件 / 只有稽核日誌 / 無)、<state> 狀態區塊 + (狀態,行動) 訪問圖震盪偵測、確定性任務規則歸納;[task_forward_model],預設關 |
| 派工證據落地預檢 | 驗收判官之前的零 LLM 證據檢查:最終回覆必須與真實的非錯誤工具結果重疊;自我回音排除名單 + 輸入重疊扣除,防自我證明;[dispatch] grounding_precheck_enabled,預設開 |
| 記憶新穎度閘門 | 語意層近重複寫入在落地前被擋下並記遙測(0.92 字元 n-gram cosine),防假驚訝累積;時間取代/再確認路徑豁免;[memory] novelty_gate,預設開 |
| 有證據才歸納的反思 | MistakeNotebook 條目附程式化抽取的 TrajectoryEvidence;查無證據的自述錯誤不再參與規則歸納 |
| 行動前模擬審批 | needs_human / 審批請求附三步模擬軌跡預覽(15 秒上限,逾時降級不阻塞);知識庫引用限唯讀 namespace;儀表板渲染預覽 |
| Eval 錄製隔離 + 起步 CLI | --record 走臨時 .mcp.json 副本(eval home + 佔位金鑰,生產零副作用、金鑰不入 transcript);撞 max-turns 的失控 run 解析為 error_max_turns(可評測的失敗基線);duduclaw eval-scaffold 從 SOUL 規則產生題目草稿;duduclaw playbook migrate-soul 把舊 SOUL 規則遷成 playbook 草稿 |
| 稽核日誌作為證據源 | tool_calls.jsonl 記錄遮罩後的 result_text/input_text(三段遮罩、16MB 輪替、0600);系統發送者派工(goal-loop/cron/heartbeat/autopilot)歸屬到實際執行的 agent |
2026-07 中後期新增(v1.33 – v1.46)
Section titled “2026-07 中後期新增(v1.33 – v1.46)”| 功能 | 說明 |
|---|---|
統一 LLM provider 層(duduclaw-llm) |
一套正規化的 request/stream 形狀,涵蓋四種原生協議(Anthropic / OpenAI Responses / Gemini / OpenAI-compat,8 個 preset);ModelRegistry 定價 + FallbackRouter 冷卻;stdio MCP client + provider 無關的 tool loop,讓 API 模式 agent 取得完整工具面 |
Agent 行為評測(duduclaw eval) |
每 agent 的 golden-task 回歸:確定性 tool-call/regex/grounded 斷言 + 可選 LLM 判官;live 與 replay 兩種模式,exit code 可作 CI 閘 |
| HITL ApprovalBroker | 橫跨 MCP 工具 / autopilot / bus 任務的單一中斷/審批原語;SQLite 落地,TTL 過期 = DENY(fail-closed) |
| OpenTelemetry GenAI 追蹤 | opt-in 的 gen_ai.* span,可經 OTLP 匯出至 Langfuse/Grafana/Jaeger/Datadog;關閉時零開銷 |
| 通道 UX 層 | 各平台 markdown 渲染、輸入中指示,以及跨 8 個外部通道就地編輯的即時 todo 看板進度 |
| 自主目標迴圈 | /goal → 迴圈跑到完成,配三面向 MAV 驗收判官;卡住時經通道按鈕升級給人(34-goal-loop.md) |
| 迭代式看板輪次 | Task board revising 狀態機,含逐輪明細歷史 |
| 可信記憶與判官強化(v1.41) | 寫入時 origin 綁定 + 抗 Sybil 再確認、GovMem 晉升閘、Janus 規則觀察期、PORTICO 任務範圍能力授權、trace-grounded 評測斷言 |
| OS 原生感知與主動關懷 | 檔案監看 + 前景感知 → footprint temporal memory(重啟可續的快照)、內建主動關懷檢查、LLM 評分主動閘、一鍵 OS 自動化範本(33-os-native-perception.md) |
| Office 文件套件 | 真正的 docx/xlsx/pptx/pdf 產出、📎DELIVER 協議 + 未宣告產出 sweep、gateway 歸檔、含 LibreOffice 預覽的 Files 頁(31-office-document-suite.md) |
| 專家包生態系 | 可安裝的 AI 團隊:經安全掃描的安裝管線、含分類/部門分組的內建產業目錄、LLM 引導的包自製、部門 × 職級組織定位與 --attach-under(32-expert-packs.md) |
| 錄製 → skill | 瀏覽器(Playwright trace+HAR,憑證就地遮罩)與桌面錄製器,蒸餾成須核准的 SKILL.md 草稿(36-recording-to-skill.md) |
| 照片 → 桌面寵物 | 本地照片 → 去背 → 像素量化 → Codex-Pets 8×9 spritesheet;自主遊蕩引擎移動真正的置頂視窗(35-photo-desktop-pet.md) |
| 能力功能開關 | 16 組白話功能群組疊在原始 allow/deny 工具清單之上,背後是完整性防護的工具目錄 |
| Google Workspace / Notion / GitHub 原生工具 | Gmail/Calendar/Drive/Sheets、Notion、GitHub 的第一方 MCP 工具(v1.45;設定前預設隱藏) |
| 桌面殼層(Tauri 2) | 原生視窗包裝 gateway + 儀表板、tray、gateway 選擇器、透明桌面寵物 overlay 視窗 |
| 互動節奏防護 | 對話歷史框架 + 常駐節奏規則,打招呼永不重新觸發先前的重工具任務 |
2026-07 新增(v1.24.0 之後)
Section titled “2026-07 新增(v1.24.0 之後)”| 功能 | 說明 |
|---|---|
Aider 式程式碼符號圖(code_map MCP 工具) |
tree-sitter 符號圖疊在 HippoRAG-lite Personalized-PageRank 引擎上;依查詢相關度排序 repo 原始碼檔案 |
語意向量記憶(w_vec) |
FTS/graph 之外的第三個 re-rank 訊號;零依賴、CJK-safe 的 NgramHashEmbedder,以 DUDUCLAW_SEMANTIC_VECTORS=1 開啟 |
| 跨 session 使用者畫像 | 每使用者偏好 traits(temporal supersession)→ session-stable 的 ## About This User 回覆注入;user_profile_record / user_profile_get MCP 工具 |
| GDPR 匯出/抹除 | duduclaw gdpr export|erase <contact> 涵蓋記憶(triple + 自由文字提及 + key_facts,四表級聯,SHA-256 假名 tombstone)與 session 儲存(<channel>:<chat_id> prefix) |
| 記憶 PPR 效能量測 | duduclaw memory bench — P50/P95 延遲 + 分區建議(LightRAG 量測 gate) |
| 預算斷路器 | 每 agent 滑動視窗硬上限([budget] daily_cap_cents),到頂即於 choke-point 阻斷 LLM 呼叫;寫 budget_events.jsonl |
| 燒錢速率異常偵測 | 對每 agent 每日花費做滾動平均+標準差離群偵測(cost_anomaly.rs) |
| 稽核匯出 + SIEM sink | duduclaw audit — 正規化並串流 JSONL 稽核軌跡至 NDJSON / webhook |
| 出站 guardrail hook | opt-in [guardrails] — 送出前掃描憑證洩漏 / injection echo / deny 詞 / PII 去識別化 |
| CI 紅隊掃描 | duduclaw redteam — 由 CONTRACT.toml must_not 生成 jailbreak 變體,跑過 input-guard |
| 安全姿態報告 | duduclaw security — 現行防護的加權檢查清單 |
| 備份 / 還原 | duduclaw backup / restore — 時間戳家目錄封存 + SHA-256 sidecar(還原時驗證) |
| Session 重播 | duduclaw session replay <id> — 逐輪印出 session(可加 --tools) |
| MCP Bridge | [[mcp.external]] — 掛載外部 MCP server,deny-by-default 工具過濾 + env:// / secret:// 憑證;各 SaaS recipe 見 guides/mcp-bridge.md |
| Secret manager 後端 | 1Password Connect + Infisical adapter;secret://<backend>/<name> 解析接入 MCP Bridge |
| MCP/skill 信任分級 | 依 repo 最後 push 時間 + 擁有者類型分 official / active / orphan |
| Email 通道(部分) | 非同步 SMTP 送信(lettre,loopback 活體驗證)+ RFC822 入站解析;IMAP poll + 通道生命週期為 PENDING-LIVE |
| 通訊通道 | 現為九個(在下列 7 個之上新增 Google Chat + Microsoft Teams) |
| 功能 | 說明 |
|---|---|
| Multi-Runtime AI Agent 平台 | 統一 AgentRuntime trait — Claude / Codex / Gemini / Antigravity (agy) / OpenAI-compat 五後端自動偵測 |
| MCP Server(JSON-RPC 2.0) | 透過 stdin/stdout 向 AI Runtime 暴露 80+ 工具;註冊於 <agent>/.mcp.json(Claude CLI -p 僅讀取專案層級),gateway 啟動時自動建立/修復 |
| ACP/A2A Server | 兩個指令:duduclaw acp — IDE agent panel 用的 Agent Client Protocol v1(Zed / JetBrains / nvim;initialize / session/new / session/prompt 串流、未設定時回 AUTH_REQUIRED);duduclaw acp-server — A2A 協定(agent/discover / message/send / tasks/*、.well-known/agent.json AgentCard) |
| Agent 目錄結構 | .claude/、.mcp.json、SOUL.md、CLAUDE.md、CONTRACT.toml、agent.toml、wiki/、SKILLS/、memory/、tasks/、state/ |
| Sub-agent 編排 | create_agent / spawn_agent / list_agents + reports_to 階層 + D3.js 組織圖 + 系統 prompt 自動注入「## Your Team」名冊 |
| DelegationEnvelope | 結構化交接協議 — context / constraints / task_chain / expected_output |
| TaskSpec 工作流 | 多步驟任務規劃 — dependency-aware、auto-retry (3x)、replan (2x)、persistence |
| 長回應分頁 | 子 Agent 回報超過通道 byte budget 時,以 channel_format::split_text 分頁並標示 📨 **agent** 的回報 (1/N) |
| 孤兒回應恢復 | dispatcher 啟動時 reconcile_orphan_responses 原子重播 crash/Ctrl+C/hotswap 後殘留的 agent_response callback |
| 檔案式 IPC | bus_queue.jsonl 跨 Agent 委派,最多 5 hop 追蹤 |
| Per-Agent Channel Token | get_agent_channel_token 優先讀取每 agent bot_token_enc,修復 Discord thread 跨 bot 401 |
Multi-Runtime
Section titled “Multi-Runtime”| 功能 | 說明 |
|---|---|
| Claude Runtime | Claude Code SDK (claude CLI) + JSONL streaming + --resume 原生多輪 |
| Codex Runtime | OpenAI Codex CLI + --json streaming,以 AGENTS.md 檔案傳遞 system prompt |
| Gemini Runtime | Google Gemini CLI + --output-format stream-json,以 GEMINI_SYSTEM_MD env 傳遞 system prompt,--approval-mode yolo。Google 於 2026-06-18 退役個人版 Gemini CLI 後,保留給付費 GEMINI_API_KEY 用戶 |
| Antigravity Runtime(v1.24.0) | Google Antigravity CLI(agy,2026-06-18 Gemini CLI 後繼者),走 oneshot agy -p --dangerously-skip-permissions --print-timeout 300s。二進位自動解析(PATH → ~/.local/bin/agy);無 --system 旗標,故 system prompt + 歷史內嵌進 prompt(CJK-safe);認證 ANTIGRAVITY_API_KEY;自動把 agent 目錄預植進 agy 的 trustedWorkspaces(跨程序檔鎖)以免 headless 卡在信任提示;token 用量為估算(print 模式無統計) |
| OpenAI-compat Runtime | HTTP 端點(MiniMax / DeepSeek 等)REST API |
| RuntimeRegistry | 自動偵測已安裝 CLI,per-agent [runtime] 設定 |
| Cross-Provider Failover | FailoverManager 健康追蹤、冷卻、不可重試錯誤偵測 |
Session 記憶堆疊(v1.8.1 + v1.8.6)
Section titled “Session 記憶堆疊(v1.8.1 + v1.8.6)”| 功能 | 說明 |
|---|---|
| 原生多輪 Session | Claude CLI --resume + SHA-256 確定性 session ID + history-in-prompt fallback(stale session / 帳號輪替 / unknown stream-json error 自動重試) |
| Turn trimming | >800 chars → 首 300 + 尾 200 + [trimmed N chars],CJK-safe 字元切片 |
| Prompt Cache 策略 | Direct API 「system_and_3」斷點配置,多輪命中率 ~75% |
| 壓縮摘要注入 | 壓縮摘要(role=system)注入 system prompt,非對話輪次 |
| Instruction Pinning | 首訊息 → async Haiku 擷取 → sessions.pinned_instructions → 注入 system prompt 尾端(U-shape 高注意力) |
| Snowball Recap | 每輪 user message 前置 <task_recap>,零 LLM 成本、U-shape 注意力尾端 |
| Clarification 累積 | 代理人提問 + 使用者回答 → pinned instructions 追加(≤1000 字元) |
| P2 Key-Fact Accumulator | 每輪 2-4 則事實 → key_facts FTS5 表 → 注入 top-3(~100-150 tokens vs MemGPT 6,500,−87%) |
| CLI 輕量路徑 | call_claude_cli_lightweight() — --effort medium --max-turns 1 --no-session-persistence --tools "",25-40% 成本節省 |
| 穩定化旗標 | --strict-mcp-config + --exclude-dynamic-system-prompt-sections(10-15% token 節省);--bare 於 v1.8.11 移除(破壞 OAuth keychain) |
| CJK-Safe 字串切片 | duduclaw_core::truncate_bytes / truncate_chars 取代 31 處 byte-index 切片 |
通訊通道(7 個)
Section titled “通訊通道(7 個)”| 通道 | 協定 |
|---|---|
| Telegram | Long polling,檔案/照片/貼圖/語音、forums/topics、mention-only、語音轉錄 |
| LINE | Webhook + HMAC-SHA256 簽章、貼圖、per-chat 設定 |
| Discord | Gateway WebSocket、斜線指令、語音頻道(Songbird)、auto-thread(v1.8.14 修復 thread session id 跨輪飄移)、embed 回覆 |
| Slack | Socket Mode、mention-only、thread 回覆 |
| Cloud API | |
| 飛書 | Open Platform v2 |
| WebChat | 內嵌 /ws/chat WebSocket + React 前端(Zustand store) |
| 通道熱啟停 | Dashboard 驅動動態啟停 |
| Generic Webhook | POST /webhook/{agent_id} + HMAC-SHA256 簽章驗證 |
| Media Pipeline | 自動縮放(max 1568px)+ MIME 偵測 + Vision 整合 |
| Sticker 系統 | LINE 貼圖目錄 + 情緒偵測 + Discord emoji 等價映射 |
| 通道失敗追蹤 | channel_failures.jsonl + FailureReason 分類(RateLimited/Billing/Timeout/BinaryMissing/SpawnError/EmptyResponse/NoAccounts/Unknown) |
| Discord Gateway 強化(v1.9.2) | 真正的 op 6 RESUME — 跨重連保存 session_id + resume_gateway_url + sequence;select! 停滯看門狗於 2× 心跳沉默後中斷(修復 18 分鐘殭屍狀態);心跳 channel 容量 1→16 配 try_send;op 9 依 d.bool 選 RESUME 或 IDENTIFY 並加 1-5s jitter;close code 4007/4009/4003 清除 session;backoff 上限 300s→60s;處理 RESUMED dispatch |
進化系統 v3(2026-08-06):預設進化標的從「整份改寫
SOUL.md」改為 playbook(小顆粒、可個別退休的基因形規則;SOUL.md預設對 agent 唯讀)。下表的 GVU²(雙迴圈 / 4+2 層驗證 / SOUL.md 版本控制)現在描述的 是非預設的 legacy 路徑(agent.toml [evolution] legacy_soul_evolution = true)。現行預設(AEE、Gate/Measure 分離、champion + matches-or-improves、條目級觀察窗)見 38-aee-playbook-evolution.md 與 evolution-engine.md 第十二章。
| 功能 | 說明 |
|---|---|
| 預測驅動引擎 | Active Inference + Dual Process Theory,約 90% 零 LLM 成本 |
| 雙系統路由器 | System 1(規則)/ System 2(LLM 反思) |
| AEE(v3 預設) | Agentic Evolution Engine — Generator 內迴圈(≤3 輪)→ Gate(確定性、有否決權)/ Measure(分數、無否決權)分離 → champion + matches-or-improves 提交閘 → 條目對自己連結的 eval case 各自 confirm/rollback |
| Playbook(v3 預設) | 基因形行為規則(category/signals_match/eval_cases/success_streak),擴建自既有 rule_lifecycle 儲存,0.92 cosine 去重,容量 + 過期/封存生命週期 |
| GVU² 雙迴圈(legacy) | 外迴圈(Behavioral GVU — SOUL.md 改寫)+ 內迴圈(Task GVU — 即時重試);經 legacy_soul_evolution = true 選入 |
| 4+2 層驗證(legacy) | L1-Format / L2-Metrics / L2.5-MistakeRegression / L3-LLMJudge / L3.5-SandboxCanary / L4-Safety |
| MistakeNotebook | 跨迴圈錯誤記憶 — 記錄失敗模式、防止退化;條目現在附確定性 TrajectoryEvidence(哪個工具/斷言失敗),查無證據的自述診斷不再參與反思歸納(v3) |
| SOUL.md 版本控制(legacy) | 24h 觀察期 + 原子回滾 + SHA-256 指紋 — 適用 legacy GVU 路徑;SOUL.md 超上限死鎖現在經受控 consolidate 重寫解除,不再凍住 agent(v3 Phase 0) |
| MetaCognition | 每 100 次預測自動校準誤差閾值,新增對稱回升規則,閾值不再單向漂移(v3 Phase 0) |
| Adaptive Depth | MetaCognition 驅動 GVU 迭代深度(3-7 輪) |
| Deferred GVU(legacy) | gradient 累積 + 延遲重試(最多 3 次 deferral、72h 跨度、9-21 輪有效迭代) |
| 停滯偵測器(v3) | 每 30 分鐘掃描 evolution.db 的連續拒絕 / 連續 D 天零 apply / 重複拒絕原因訊號,發到 Activity Feed + 儀表板 |
| ConversationOutcome | 零 LLM 對話結果偵測(TaskType / Satisfaction / Completion),zh-TW + en |
| Agent-as-Evaluator | 獨立 Evaluator Agent(Haiku 成本控制)進行對抗式驗證 |
| Orchestrator 模板 | 5 步規劃(Analyze → Decompose → Delegate → Evaluate → Synthesize)+ 複雜度路由 |
Wiki 知識分層(v1.8.9)
Section titled “Wiki 知識分層(v1.8.9)”| 功能 | 說明 |
|---|---|
| 4 層架構 | L0 Identity / L1 Core / L2 Context / L3 Deep — Vault-for-LLM 啟發 |
| 信任權重 | trust (0.0-1.0) frontmatter;搜尋以 trust-weighted score 排名 |
| 自動注入 | build_system_prompt() 於 CLI / 頻道 / dispatcher 三條路徑注入 L0+L1 至 WIKI_CONTEXT |
| FTS5 全文索引 | SQLite unicode61 tokenizer + CJK 支援,寫入/刪除時自動同步,wiki_rebuild_fts 手動重建 |
| 知識圖譜 | wiki_graph MCP 工具輸出 BFS 限制的 Mermaid 圖;節點形狀依分層而異 |
| Dedup 偵測 | wiki_dedup — 標題匹配 + 標籤 Jaccard 相似度(≥0.8) |
| 反向 backlink 索引 | 掃描 related frontmatter + body markdown 連結 |
| 搜尋篩選 | min_trust / layer / expand(1-hop related/backlink 擴充) |
| 共享 Wiki | ~/.duduclaw/shared/wiki/ 跨 Agent SOP / 政策 / 規格;wiki_visible_to 可見度控制;MCP 工具 shared_wiki_ls/read/write/search/delete/stats、wiki_share;.scope.toml SoT 政策(見「身分與存取」) |
| CLAUDE_WIKI 模板 | 新 Agent 建立時納入 CLAUDE.md,教導 LLM 使用 wiki MCP 工具 |
| 功能 | 說明 |
|---|---|
| 7 階段生命週期 | 啟動 → 壓縮 → 萃取 → 重構 → 蒸餾 → 診斷 → 差距分析 |
| GitHub 即時索引 | Search API + 24h 本地快取 + 加權搜尋 |
| 技能市集 | Web Dashboard 瀏覽、安裝、安全掃描 |
| 技能自動合成 | 差距累積器 → 從情境記憶合成(Voyager 啟發)→ 沙箱試用(TTL)→ 跨 Agent 畢業 |
| 技能合成排程器(W19-P1,v1.22.0) | 讓「對話 → skill」萃取依排程自主執行 — config.toml [skill_synthesis] auto_run / dry_run / interval_hours / lookback_days + dashboard skill_synthesis.get/update RPC;skill_synthesis_threshold 為 u32 計數(修好 registry 掃描拒絕 0.7 的型別錯誤) |
| Skill 安全掃描器(Rust-native) | skill_lifecycle::security_scanner 掃描候選技能,無 Python 依賴 |
本地推論引擎
Section titled “本地推論引擎”| 功能 | 說明 |
|---|---|
| llama.cpp | Metal/CUDA/Vulkan/CPU(透過 llama-cpp-2 crate) |
| mistral.rs | Rust 原生,ISQ、PagedAttention、Speculative Decoding |
| OpenAI 相容 HTTP | Exo/llamafile/vLLM/SGLang |
| 信心路由器 | LocalFast / LocalStrong / CloudAPI 三層路由 + CJK-aware token 估算 |
| InferenceManager | 多模式自動切換:Exo P2P → llamafile → Direct → OpenAI-compat → Cloud API |
| llamafile 管理 | 子程序生命週期、零安裝跨 6 OS |
| Exo P2P 叢集 | 分散式推論,235B+ 模型跨機器、cluster discovery、endpoint failover |
| MLX Bridge | Apple Silicon mlx_lm + LoRA 本地反思 |
| 模型管理 | model_search(HuggingFace)/ model_download(resume + mirror)/ model_recommend(硬體感知) |
| 功能 | 說明 |
|---|---|
| Meta-Token(LTSC) | Rust 原生無損 BPE-like,結構化輸入 27-47% 壓縮率 |
| LLMLingua-2 | Microsoft token 重要性剪枝,2-5x 有損壓縮 |
| StreamingLLM | Attention sink + 滑動窗口 KV-cache,無限長對話 |
| 策略選擇器 | compress_text strategy 參數 — meta_token / llmlingua / streaming_llm / auto |
| 功能 | 說明 |
|---|---|
| ASR | Whisper.cpp(本地)/ SenseVoice ONNX(本地)/ OpenAI Whisper API / Deepgram(streaming) |
| TTS | Piper ONNX(本地)/ MiniMax T2A(自動偵測 CJK/Latin)/ Edge TTS / OpenAI TTS |
| VAD | Silero ONNX |
| 音訊解碼 | symphonia:OGG Opus / MP3 / AAC / WAV / FLAC → PCM |
| Discord Voice | Songbird 整合 |
| LiveKit | WebRTC 多 Agent 語音房 |
| ONNX Embedding | BERT WordPiece tokenizer + ONNX Runtime |
| 功能 | 說明 |
|---|---|
| 3 階段防禦 | 確定性黑名單(<50ms)/ 混淆偵測(YELLOW+)/ Haiku AI 判讀(RED only) |
| 威脅等級狀態機 | GREEN → YELLOW → RED 自動升降級,24h 無事件降一級 |
| Ed25519 認證 | 挑戰-回應式 WebSocket 認證 |
| AES-256-GCM | API 金鑰靜態加密、per-agent 隔離 |
| Prompt Injection 掃描 | 6 規則類別 + XML 分隔標籤保護 |
| SOUL.md 漂移偵測 | SHA-256 指紋比對 |
| CONTRACT.toml | 行為邊界 + duduclaw test 紅隊測試(9 場景);自動注入所有 runtime 的 system prompt |
| RBAC | 角色存取控制矩陣 |
| 統一多源審計日誌 | audit.unified_log 合併 security_audit.jsonl / tool_calls.jsonl / channel_failures.jsonl / feedback.jsonl |
| JSONL 審計日誌 | async 寫入,格式相容 Rust AuditEvent schema |
| Unicode 正規化 | NFKC 偵測同形字攻擊 |
| Action Claim Verifier | 工具呼叫聲明的簽章驗證 |
| 容器沙盒 | Docker (Bollard) / Apple Container / WSL2 — --network=none、tmpfs、read-only rootfs、512MB limit |
| Secret 洩漏掃描 | 20+ 模式(Anthropic/OpenAI/AWS/GitHub/Slack/Stripe/DB URL 等) |
| 敏感資料遮蔽(RFC-23,v1.14.0) | duduclaw-redaction crate — 內部資料(Odoo / shared wiki / file tools)以 <REDACT:CATEGORY:hash8> token 取代後才送 LLM,受信邊界(user channel reply、白名單工具 egress)自動還原;AES-256-GCM SQLite vault(per-agent 32-byte key,0o600)、TTL 7d 兩階段 GC、5 個內建 profile、五層 enable/disable resolver、JSONL audit 10MB rotation |
| 功能 | 說明 |
|---|---|
| 情節/語意分離 | Generative Agents 3D 加權檢索(Recency × Importance × Relevance) |
| FTS5 全文搜尋 | SQLite 內建 |
| 向量索引 | Embedding 語意搜尋(ONNX BERT / Qwen3-Embedding) |
| 記憶衰減排程 | 每日背景執行 — 低重要度 + 30 天以上歸檔,歸檔 + 90 天以上永久刪除 |
| 認知記憶 MCP 工具 | memory_search_by_layer / memory_successful_conversations / memory_episodic_pressure / memory_consolidation_status |
| 聯邦記憶 | 跨 Agent 知識共享(Private / Team / Public) |
| Key-Fact Accumulator | key_facts + FTS5 — 跨 session 輕量記憶(見 Session 記憶堆疊) |
| Temporal Memory(F1,v1.19.0) | memories 經冪等遷移新增時序/知識圖譜欄位(valid_from/valid_until/superseded_by/supersedes/subject/predicate/object/confidence/metadata);store_temporal() 對同一 (agent, subject, predicate) 自動衝突解析並串接 supersession chain;search() 預設僅過濾現行有效列;get_history() / get_at() 提供鏈與時間點查詢 |
| Reflexion Loop(F2,v1.19.0) | 橋接既有 MistakeNotebook — F2a 將近期未解決錯誤注入作答 prompt(## Past Mistakes to Avoid,CJK-safe 比對 + recency fallback);F2b 將 ≥3 則同 MistakeCategory 錯誤整併為一條語意記憶規則(reflexion.rs)後標記來源已解決。觸發訊號 = ErrorCategory Significant/Critical(MetaCognition 自適應) |
memory_fetch_batch(F3,v1.19.0) |
MCP 工具 + get_by_ids 一次以 ID 取回 ≤100 筆(命名空間/擁有權強制,部分命中 → missing_ids) |
| Bi-temporal + build-time provenance(D1) | memories 經冪等遷移新增 ingested_at(transaction-time 軸,有別於 world-time 的 valid_from)+ invalidated_by_event/invalidated_at(哪個 source_event 於何時關閉一列)。store_temporal() 的取代由 world-time 的 valid_from 決定(可容忍亂序:較早的事實會以有界歷史區段插入而不擾動現行事實;無 valid_from 的寫入維持既有的攝入順序行為);再次觀察到相同事實會再確認(metadata reaffirmed_by,≤20,並累加 access_count),而不新增一列 |
memory_get_history / memory_get_at(D1) |
時序讀取 API 的 MCP 揭露 — 完整取代鏈(含 provenance 欄位)與某 (subject, predicate) 三元組的時間點查詢(scope memory:read) |
memory_invalidate_by_origin(D1) |
來源回溯原語 — 讓某精確 origin 的所有現行有效事實過期(只過期、不刪除;可選限定某截止時間之後),並將 origin_trust ≤ 0.1 級聯至 derived_from 的後代;歷史保留(invalidated_by_event = "origin_purge")。scope admin |
| 圖檢索演進(D3) | HippoRAG-lite graph 獲得四項 fail-safe 改良(未啟用時逐位元組相同):(1) per-agent 持久化圖快取(RwLock),由每筆更動三元組寫入遞增的 per-agent 世代計數器失效,僅在超過 GRAPH_CACHE_MIN_TRIPLES = 500 時啟用;(2) 透過 entity_alias(agent_id, canonical, alias) 的實體別名合併 — 在建圖+seeding 前把表面形式收斂到同一節點,正規化+鏈攤平;(3) 附掛到邊上的述詞邊標籤(PPR 不變),餵給 engine.export_graph(agent, limit) → 可序列化 {nodes, edges} 快照(隔離事實加註旗標)供 D6 策展 UI;(4) 可選的 embedding seeding(graph_embed_seed)— PPR seed = whole-word FTS ∪ query embedding 最鄰近實體向量(同模型 cosine,top-k,惰性 entity_embedding 快取),預設關閉 |
memory_alias_add / memory_alias_list(D3) |
管理實體別名的 MCP 工具 — add 把 alias 收斂到某 canonical 實體(scope memory:write),list 回傳 (canonical, alias) 配對(scope memory:read);命名空間隔離 |
| Decision Continuity(RFC-24,v1.23.0) | 當 agent 提出列舉式選項(方案 A/B/C),每個選項固化進 Temporal Memory 的 semantic 層(獨立於對話壓縮),待決事項回合間重新注入;稍後「用方案 C」(跨回合 / session / 程序)從持久狀態解析而非猜測。偵測確定性、零 LLM;decision_resolve / decision_list MCP 工具 + Dashboard 面板 + Prometheus 計數器;per-agent opt-in [memory] decision_continuity = true(TTL decision_ttl_days,預設 7) |
Git Worktree 隔離(v1.6.0)
Section titled “Git Worktree 隔離(v1.6.0)”| 功能 | 說明 |
|---|---|
| L0 隔離層 | 每任務 git worktree — 比容器沙箱便宜,防止並行 Agent 檔案衝突 |
| 原子合併 | dry-run pre-check → abort → 乾淨時真實合併;全域 Mutex 保護 |
| Snap 工作流 | create → execute → inspect → merge/cleanup;純函數決策邏輯 |
| 友善分支名 | wt/{agent_id}/{adjective}-{noun},50×50 word list |
| copy_env_files | 路徑遍歷 jail + 拒絕 symlink + 1MB 大小上限 |
| AgentExitCode | 結構化退出碼 — Success / Error / Retry / KeepAlive |
| 資源上限 | 每 agent 5 個、全域 20 個 |
帳號與成本管理
Section titled “帳號與成本管理”| 功能 | 說明 |
|---|---|
| 多帳號輪替 | OAuth + API Key,4 種策略(Priority/LeastCost/RoundRobin/Failover) |
| 雙 dispatch 路徑 | 子 Agent dispatcher 與頻道回覆皆走 rotator |
| CostTelemetry | SQLite token 追蹤 + 快取效率分析 + 200K 價格懸崖警告 |
| 預算管理 | 每帳號月度上限 + 冷卻 + 自適應路由(cache_eff <30% → 本地) |
| Direct API | 繞過 CLI,cache_control: ephemeral,95%+ cache hit rate |
| 失敗分類 | FailureReason 枚舉 + 分類 zh-TW 訊息 + channel_failures.jsonl 紀錄 |
| 二進位探測 | which_claude() / which_claude_in_home() 掃描 Homebrew / Bun / Volta / npm-global / .claude/bin / .local/bin / asdf / NVM |
瀏覽器自動化
Section titled “瀏覽器自動化”| 功能 | 說明 |
|---|---|
| 5 層路由 | API Fetch / 靜態爬取 / 無頭 Playwright / 沙盒容器 / Computer Use |
| 能力閘門 | agent.toml [capabilities] 預設拒絕 |
| Browserbase | 雲端瀏覽器(L5 替代) |
| bash-gate.sh | Layer 1.5 allowlist(需 DUDUCLAW_BROWSER_VIA_BASH=1) |
| 功能 | 說明 |
|---|---|
| Docker | Bollard API,全平台 |
| Apple Container | macOS 15+ 原生 |
| WSL2 | Windows Linux 子系統 |
| 功能 | 說明 |
|---|---|
| CronScheduler | cron_tasks.jsonl + cron_tasks.db 永久化(v1.8.12),schedule_task MCP schema 修正(含 agent_id + name) |
| ReminderScheduler | 一次性提醒(相對 5m/2h/1d 或 ISO 8601),direct / agent_callback 兩種模式 |
| HeartbeatScheduler | 每 Agent 統一排程 — bus polling + GVU 沉默喚醒 + cron |
| 排程器級任務板拉取(v1.9.3) | poll_assigned_tasks 移入 HeartbeatScheduler::run tick — 每 30s 掃描整個 agent registry(不再略過 enabled=false 的 agent);1 小時 LIKE-marker 冷卻防止 stampede |
duduclaw evolution finalize CLI(v1.9.1) |
一次性回收應已結束的 SOUL.md 觀察窗;--dry-run / --agent 篩選;作為 30 分鐘 ObservationFinalizer 背景任務的後備 |
任務板與 Activity Feed
Section titled “任務板與 Activity Feed”| 功能 | 說明 |
|---|---|
| 任務板 | SQLite 後端任務管理 — status / priority / assignment 追蹤 |
| Dashboard RPC | tasks.list/create/update/remove/assign、activity.list 供 Web UI |
| Agent MCP 工具 | tasks_list、tasks_create、tasks_update、tasks_claim、tasks_complete、tasks_block、activity_list、activity_post — Agent 可見自身佇列、認領工作、回報進度 |
| 即時 Activity Feed | WebSocket 串流 activity 事件 |
| 系統 prompt 注入 | 待辦任務(最多 5 筆)自動注入 Agent system prompt |
Autopilot 規則引擎
Section titled “Autopilot 規則引擎”| 功能 | 說明 |
|---|---|
| 事件匯流排 | tokio::broadcast(容量 8192)— TaskCreated / TaskStatusChanged / ChannelMessage / AgentIdle / CronTick |
| 規則條件 | all / any + eq/neq/in/gt/lt/contains 運算子 |
| 動作型別 | delegate(enqueue bus task)、notify(通道)、run_skill(skill 名稱 + 目標經 alphanumeric allowlist + canonicalize() 路徑圍堵驗證) |
| 規則 CRUD | Dashboard RPC autopilot.list/create/update/remove/history + agent MCP autopilot_list;寫入時驗證結構 |
| 三態斷路器 | 每規則 Closed / Open / HalfOpen — 60s 內 10 次觸發轉 Open(60s 冷卻),再 HalfOpen probe;防止自我增強迴圈;轉換記入 history + Activity Feed |
| events.db 橋接 | SQLite(WAL + 單調遞增 id + 7 天 prune)取代舊 events.jsonl — 無 rotation race、無 partial-line 風險 |
可靠性與治理
Section titled “可靠性與治理”| 功能 | 說明 |
|---|---|
Durability 框架(duduclaw-durability,v1.9.4) |
五大支柱 — idempotency(key 去重)、retry(指數退避 + jitter)、circuit_breaker(三態 + probe_inflight 計數)、checkpoint(可恢復任務進度)、dlq(死信佇列)。用於 gateway LLM fallback + 持久化 cron |
治理層(duduclaw-governance,v1.9.4) |
PolicyRegistry 支援 YAML 載入 + 熱重載 + agent 優先合併 + fail-safe(非法政策略過、malformed YAML 不 panic)。四種 PolicyType — Rate / Permission / Quota / Lifecycle |
| 配額管理 | 每 agent / 每政策 soft + hard 配額強制;error_codes.rs 標準化治理錯誤(QUOTA_EXCEEDED / POLICY_DENIED / …)。預設集於 policies/global.yaml(如 default-rate-mcp 200/min) |
LLM Fallback 鏈(gateway/llm_fallback.rs,v1.9.4) |
主模型 timeout/503/429/overloaded 自動切換 fallback;純函數 is_llm_fallback_error / should_attempt_model_fallback 有單元測試;hard-deadline arm 回傳 Err("hard timeout") 確保 fallback 可靠觸發 |
| Evolution Events 系統(v1.9.4) | 30+ 事件 schema(schema.rs)、async batch+retry emitter(emitter.rs)、查詢介面(query.rs)、可靠性保證(reliability.rs);HTTP 端點呈現於 Web ReliabilityPage |
| 功能 | 說明 |
|---|---|
Identity Resolution(duduclaw-identity,RFC-21 §1,v1.11.0) |
IdentityProvider async trait — WikiCacheIdentityProvider(shared/wiki/identity/people/*.md)、NotionIdentityProvider(Notion databases/query + field_map)、ChainedProvider(cache → upstream,故障時優雅降級) |
identity_resolve MCP 工具 |
受 Scope::IdentityRead 閘控,回傳標準 ResolvedPerson 紀錄 |
| Sender 自動注入 | 頻道回覆將 XML 分隔的 <sender> 區塊注入 system prompt(每輪解析一次),使 SOUL.md「拒絕非成員」規則可由資料判定 |
| 共享 Wiki SoT 政策(RFC-21 §3,v1.11.0) | ~/.duduclaw/shared/wiki/.scope.toml 宣告命名空間擁有權 — agent_writable(預設)、read_only { synced_from }、operator_only;shared_wiki_write / shared_wiki_delete 遵循;wiki_namespace_status 揭示現行政策;檔案缺失/格式錯誤 ⇒ fail-safe 無政策 |
Live Forking(RFC-26)
Section titled “Live Forking(RFC-26)”| 功能 | 說明 |
|---|---|
Live Run Forking(duduclaw-fork) |
受 pydantic-deepagents 啟發的執行中分支 — 並行探索多種延續路徑 |
| AI Judge | 為並行分支評分以挑選最佳延續 |
| 預算控制 | budget.rs 限制 fork fan-out / 成本 |
CLI Runtime(PTY Pool)
Section titled “CLI Runtime(PTY Pool)”| 功能 | 說明 |
|---|---|
跨平台 PTY Pool(duduclaw-cli-runtime,v1.15.0) |
驅動真正的互動式 claude REPL(Win 10 1809+ 用 ConPTY、Unix 經 portable-pty 用 openpty),以 sentinel-framed in-band 回應協定 — 因應 Anthropic 對 OAuth 訂閱帳號封鎖 claude -p。預設關閉,per-agent 開啟 [runtime] pty_pool_enabled = true |
Worker Supervisor(duduclaw-cli-worker) |
受 [runtime] worker_managed = true 閘控的跨程序 worker 子程序;SIGTERM/SIGKILL 接入 gateway 優雅關機序列 |
pty_runtime.rs 轉接器 |
RuntimeMode::{FreshSpawn, PtyPool} per-agent 路由,acquire_and_invoke 介面;OAuth → 互動式 REPL,API-key → oneshot_pty_invoke + claude -p |
| 解除 Claude 綁定(v1.24.0) | 新增 CliKind::Antigravity;which_codex / which_gemini / which_agy 探測(與 which_claude 並列);resolve_program + worker spawn_session_default 四種 CliKind 全接(不再回 None/reject);cli_kind_for_provider() 依 [runtime] provider 推導 PtyPool 種別,取代兩處寫死的 CliKind::Claude。互動式 REPL 刻意維持 Claude-only(非 Claude provider 走 oneshot runtime_dispatch) |
| Runtime 狀態端點 | GET /api/runtime/status 僅 loopback JSON(Phase 8.5) |
| 可觀測性 | pty_pool_* Prometheus 計數器(acquires / cache-hit / spawn / eviction / invoke outcomes / duration histogram)、worker_health_misses_total、worker_restarts_total、pty_pool_managed_worker_active gauge |
| 優雅 fallback | 所有 PTY 路徑出錯時退回舊版 tokio::process::Command + claude -p — worker 缺失 / pool 不健康 / spawn 失敗皆可恢復 |
MCP HTTP/SSE 傳輸(W20)
Section titled “MCP HTTP/SSE 傳輸(W20)”| 功能 | 說明 |
|---|---|
| HTTP Server | duduclaw http-server --bind 127.0.0.1:8765 — Bearer 認證 REST + SSE |
| 端點 | POST /mcp/v1/call(單次 JSON-RPC 工具呼叫)、GET /mcp/v1/stream(長連 SSE)、POST /mcp/v1/stream/call(async + SSE push)、GET /healthz(免認證) |
| 速率限制 | Token bucket OpType::HttpRequest,60 req/min |
| SSE 連線管理 | mcp_sse_store.rs 以 broadcast channel 管理 SSE 連線 |
ERP 整合
Section titled “ERP 整合”| 功能 | 說明 |
|---|---|
| Odoo Bridge | 15 個 MCP 工具(CRM/銷售/庫存/會計)、JSON-RPC 中間層 |
| Edition Gate | CE/EE 自動偵測、功能閘門 |
| 事件輪詢 | Odoo 狀態變化主動通知 Agent |
| Per-agent 認證隔離 | OdooConnectorPool keyed by (agent_id, profile),audit 紀錄帶 profile + ok=bool(v1.11.0 / RFC-21 §2) |
| Dashboard 測試後再儲存 | odoo.test 接受 inline params;credential 留空 fallback 到已儲存金鑰;inline 模式同樣套用 SSRF / HTTPS / db-name 驗證鏈(v1.13.1) |
RL 與可觀測性
Section titled “RL 與可觀測性”| 功能 | 說明 |
|---|---|
| RL Trajectory Collector | 頻道互動期間寫入 ~/.duduclaw/rl_trajectories.jsonl |
duduclaw rl CLI |
export / stats / reward — 複合獎勵(outcome × 0.7 + efficiency × 0.2 + overlong × 0.1) |
| Prometheus 指標 | GET /metrics — requests / tokens / duration histogram / channel status |
| Dashboard WS 心跳 | Server Ping 30s + 60s 空閒關閉;client ping RPC 25s |
| BroadcastLayer | tracing layer 即時串流至 WebSocket 訂閱者 |
記憶評測與 Python 層
Section titled “記憶評測與 Python 層”| 功能 | 說明 |
|---|---|
| LOCOMO 記憶評測(W21,v1.9.4) | python/duduclaw/memory_eval/ — retrieval_accuracy / retention_rate / locomo_integrity_check;cron_runner 每日 03:00 UTC;5 分鐘 smoke_test P0;build_golden_qa.py 建立黃金 QA 集;200 筆 data/golden_qa_set.jsonl;duduclaw-memory 批次查詢 API |
| Python Agents 路由(v1.9.4) | python/duduclaw/agents/ — 能力導向路由(capabilities/ manifest loader + matcher、routing/ router + resolution + memory_resolver) |
| Python MCP 範圍強制(v1.9.4) | python/duduclaw/mcp/ — API key 認證 + key masking;memory 工具(store/read/search/namespace/quota)在 execute() 入口嚴格強制範圍(memory:write / memory:read) |
Web 儀表板
Section titled “Web 儀表板”| 功能 | 說明 |
|---|---|
| 23 頁面 | Dashboard / Agents / Channels / Accounts / Memory / Security / Settings / OrgChart / SkillMarket / Logs / WebChat / OnboardWizard / Billing / License / Report / PartnerPortal / Marketplace / KnowledgeHub / Odoo / Login / Users / Analytics / Export |
| 技術棧 | React 19 + TypeScript + Tailwind CSS 4 + Base UI + CVA |
| DuDuClaw 設計系統(mds) | 共用 web/src/components/mds/ 元件庫(OKLCH token、四層表面、三層陰影、Inter/Geist Mono)+ nav-model.ts 分組側邊欄(個人/工作/公司/設定)+ web/DESIGN.md 設計規範;全頁面以共用元件建構,en/ja/zh i18n 同步 |
| 即時日誌串流 | BroadcastLayer tracing → WebSocket |
| Memory Key Insights | key_facts 卡片 + access_count badge + 時間戳 + 來源 metadata |
| Memory Evolution | SOUL.md 版本歷史 + 前後度量差異 + 狀態徽章 |
| Logs 歷史重寫 | 來源篩選 chips + per-source 計數 + 嚴重度下拉 + 嚴重度著色左框 + JSON 細節展開 |
| Toast 通知 | 模組級事件匯流排,max-5 queue,暖色 stone/amber/emerald/rose 變體,尊重 prefers-reduced-motion |
| OrgChart | D3.js 互動式 Agent 階層 |
| Session Replay | 對話回放元件 + 時間軸 |
| WikiGraph | 互動式知識圖譜 |
| 國際化 | zh-TW / en / ja-JP(600+ 翻譯鍵) |
| 深淺色主題 | 系統偏好 + 手動切換 |
| Experiment Logger | Trajectory recording,供 RL/RLHF 離線分析 |
| Marketplace RPC | marketplace.list 提供真實 MCP 目錄(Playwright / Browserbase / Filesystem / GitHub / Slack / Postgres / SQLite / Memory / Fetch / Brave Search) |
| Partner Portal | SQLite PartnerStore + 7 RPCs(profile/stats/customers CRUD) |
| 功能 | 說明 |
|---|---|
| 授權分層 | Free / Pro / Enterprise |
| 硬體指紋 | 授權綁定 |
| 產業模板 | 製造業 / 餐飲業 / 貿易業 |
| CLI 工具 | 12+ 子命令 |
| Partner Portal | 多租戶經銷商介面 |