Mole 深度研究代理 – 執行預算限制、引用驗證的終端工具
Mole 直接從終端機提供執行預算限制、引用驗證的研究服務
Mole 會將自然語言問題分解、搜尋網路、提取主張、根據來源檢查每項主張,並合成包含豐富引用的答案——同時保證總成本絕不會超過使用者指定的預算。
預算限制消除意外支出
每一次模型呼叫在執行前都會進行預留,並在執行後根據具有非負約束的帳本進行結算。
- 使用
--usd 0.50來限制在搜尋 API 與 LLM 綜合使用達到 50 美分後停止執行。 - 當模型定價未知時,使用
--tokens 200000作為僅限 Token 的上限。 - 該專案在測試語料庫中的 超支率為 0%,這意味著從未有任何執行超過上限。
"永遠不要花超過你預算的錢」——一位使用者在 HN 上詢問如何防止 LLM 超支。Mole 的預留系統保證搜尋與 LLM 的成本總和絕不會超過配置的限制;Token 限制與定價表會在每次呼叫前套用,且快取不會影響預留邏輯。
原文引用驗證保證主張的完整性
每項主張必須包含出現在來源頁面中的原文引用;否則該主張將被捨棄。
- 生存下來的主張會連同其來源 URL 與精確引用一併儲存。
- 在執行後的驗證階段,會針對來源重新閱讀主張;任何不匹配的地方都會被標記,而不是被靜默忽略。
- 報告的指標顯示 100% 的主張完整性 與 100% 的引用準確度。
本地數據隱私邊界
Mole 可以讀取 CSV、TSV、JSON、JSONL 或類 Parquet 檔案(目前尚不支援 Parquet),且不會將任何行數據發送給 LLM。
- 模型僅接收假設模板與欄位名稱;它會渲染確定性的 SQL 並回傳聚合結果(計數、平均值、統計檢定、≥ 5 筆記錄的分組)。
mole crossings命令會列出確切有哪些資訊離開了機器。
安裝 – 單一靜態二進位檔,多種套件管理器
| 方法 | 平台 | 備註 |
|---|---|---|
| Script (curl) | Linux/macOS, amd64 & arm64 | 驗證 SHA-256,安裝至 ~/.local/bin 或 /usr/local/bin |
| Homebrew | macOS & Linux | brew install lajosdeme/mole/mole (與無關的 mole 工具衝突) |
| AUR | Arch Linux | yay -S mole-research-bin (預編譯) 或 yay -S mole-research (從原始碼構建) |
| .deb/.rpm | Debian/Ubuntu | 從 releases 頁面下載 |
go install |
任何支援 Go 1.25+ 的 OS | go install github.com/lajosdeme/mole/cmd/mole@latest |
所有發行版都會產生兩個靜態二進位檔 (mole 與 mole-mcp) 且無執行時依賴;SQLite 帳本會在首次使用時於 XDG 數據目錄下建立。
配置 – API 金鑰安全地儲存在磁碟上
mole config set search.provider tavily # 或 brave
mole config set search.tavily-key <key>
mole config set llm.provider anthropic # 或 openai-compatible
mole config set llm.api-key <key>
mole config set llm.model claude-sonnet-5
mole config set llm.cheap-model claude-haiku-4-5
mole doctor # 驗證配置
金鑰儲存在 ~/.config/mole/config.json 中,權限為 0600,絕不儲存在環境變數中。任何與 OpenAI 相容的端點(DeepSeek, Ollama, vLLM 等)皆可運作,且可以使用本地託管的模型,在不產生金錢成本的同時仍會計算 Token 以進行預算執行。
核心使用模式
1. 自主深度研究
mole research "how much electricity does the bitcoin network use?" --usd 0.50
- 該工具在單次執行中完成規劃、搜尋、提取、驗證與回答。
- 選項:
--max-sources、--max-depth、--json(用於機器可讀輸出)。
2. 無需額外支出的後續查詢
mole ask <session-id> "what did the Cambridge estimate say?"
- 重用先前收集的主張;僅需單次 LLM 呼叫即可組織答案。
3. 結構化數據集提取
mole research "largest UK supermarket chains and their revenue" \
--mode dataset \
--schema 'company:text!,revenue:number=annual revenue in GBP,employees:number' \
--usd 0.50
mole dataset <session-id> --format csv > chains.csv
- 行數據會跨來源合併;CSV 會包含一個
contested欄位,用於標記數值不同的欄位。
3. 本地檔案的隱私分析
mole connect add sales./exports/sales.csv
mole research "how does spend differ between regions?" --actors local_compute --usd 0.30
mole crossings <session-id>
- LLM 永遠看不到原始行數據;僅回傳聚合統計數據。
MCP 伺服器模式 – 為編碼代理提供程式化存取
mole serve # 監聽於私有 Unix socket
用戶端配置其 mcpServers 指向 mole-mcp。用戶端配置中不儲存憑證;守護進程會安全地持有它們。
工具箱模式 – 讓周邊代理擁有模型控制權
mole serve --toolkit
- 外部編碼代理使用其自身的模型進行推理;Mole 提供確定性的操作(搜尋、引用驗證、SQL 渲染)。這在配合 Claude Code, Qwen Code 或任何已支付模型 Token 訂閱服務時非常理想。
透明度 – 來自真實執行的誠實指標
| 指標 | 數值 |
|---|---|
| 預算超支 | 0% |
| 主張完整性 | 100% |
| 引用準確度 | 100% |
| 落地率 (主張重新閱讀) | 80% |
| 矛盾精準度 | 70% (含確認階段) |
| 合併精準度 / 召回率 | 1.000 / 1.000 |
這些數據是由 mole eval <session-id> 產生的;任何無法計算的指標會報告為「不可用」,而不是靜默預設為零。
Hacker News 社群回饋
- 利益衝突備註 – 一位評論者連結到另一個名為 “Mole” 的不同專案 (tw93/Mole) 並警告潛在的命名混淆。
- 預算處理問題 – 一位使用者詢問如何將意外的 LLM Token 使用量控制在預算內;答案是 Mole 在每次呼叫前會預留成本並封頂總支出,而 Token 限制提供了額外的安全網。
- 功能與代碼比例 – 一則評論稱該代碼庫是「為了一個相當基礎的功能寫了大量的代碼」,反映出實作相對於其核心功能顯得過於沉重。
- 關於誠實的幽默 – 一則輕鬆的評論稱讚了「誠實數據」部分,強調了專案的透明度。
- 澄清 – 使用者詢問與普通網路搜尋相比,「深度研究」意味著什麼;Mole 的流水線(規劃、主張提取、驗證、矛盾檢測)將其與簡單的檢索區分開來。
貢獻與質量標準
- Pull requests 需要簽署貢獻者許可協議 (CLA)。
- 專案執行 falsify-your-own-fix:變更後,撤銷機制並確認測試失敗。
- 代碼必須通過
gofmt -l.、go build./...以及無跳過的go test./...。
授權
Mole 根據 Apache-2.0 授權發布。
Sources
相關
- Dispatch
- Dispatch
- 專案
- 專案
- Dispatch