AI 代理整合
透過 milmil CLI 讓 Claude Code、Cursor、Codex 等任意終端 AI 代理控制 milmil。
milmil 的代理自動化能力透過同一個 CLI 二進位(milmil)暴露——也就是
人類管理員日常使用的那個工具。任何能呼叫 shell 指令的 AI 代理都能直接
驅動它,不需要為某個代理單獨做整合。
快速開始
安裝 CLI
從 GitHub Releases 下載
對應平台的二進位——cli-v* 標籤下提供 linux、darwin、windows
×amd64、arm64 的預編譯版本。
# 範例:Linux amd64
VER=0.1.0
curl -L https://github.com/milmil-dev/milmil/releases/download/cli-v${VER}/milmil_${VER}_linux_amd64.tar.gz | tar xz
sudo mv milmil /usr/local/bin/
milmil version產生 API Token
在 milmil Web 介面:設定 → API Tokens → 新增。用代理名稱命名(例如
claude-code-laptop)。mlml_… Token 只會顯示一次,務必立即複製。
CLI 登入
milmil auth login --server http://localhost:8080
# > Token (mlml_...): mlml_...
# Logged in as "admin" to http://localhost:8080驗證:
milmil auth status憑證儲存在 ~/.config/milmil/credentials,權限 0600。可透過
--server / --token 旗標或 MILMIL_SERVER / MILMIL_TOKEN 環境
變數在單次指令中覆寫。
讓代理認識 milmil
在打算使用代理的目錄下執行:
# Claude Code:
mkdir -p .claude/skills/milmil
milmil generate-skill --format claude > .claude/skills/milmil/SKILL.md
# Codex / Aider / 任何讀取 AGENTS.md 的代理:
milmil generate-skill --format agents-md >> AGENTS.md
# Cursor:
milmil generate-skill --format cursor > .cursorrules輸出的 shim 只有 3-5 行,告訴代理:使用者提到 milmil 時,先執行
milmil agents-guide。完整指南(約 140 行,內嵌在二進位中)涵蓋
情境食譜、常見陷阱與稽核流程。
v0.1 支援的能力
v0.1 的 CLI 表面採用「一個子指令對應一個服務端 API」的單純對映:
| 子指令 | 作用 |
|---|---|
library list / add / scan / stats | 管理媒體庫 |
search anime <q> | 本機資料庫的模糊標題搜尋 |
episode list / watch-url | 檢視已比對 Bangumi 動畫的集數 |
watch resolve <title> --episode <n> | 標題+集號 → Web 觀看 URL + 直播流 URL |
match auto / list / apply / undo | 手動/腳本比對,以及精準復原與時間區間復原 |
audit list / show | 瀏覽每一次自動化動作 |
token list / revoke | 依代理管理 Token |
執行 milmil agents-guide 取得面向情境的版本。所有改動伺服器狀態的
請求都會寫入 milmil 稽核紀錄,包含呼叫方 Token 名稱、時間戳與 JSON
快照。
v0.2 即將推出
下列指令在腳手架中已規劃但尚未接線:
subscribe命名空間 ——subscribe add/list/undo將隨 伺服器端的 macro 端點落地。該端點會寫入一個父稽核條目,把每個子動作 串連起來,實現「一次 undo 全部還原」。v0.1 期間請使用 Web 介面的 「想看」開關 + RSS 規則編輯器。match auto --confidence-floor X—— v0.1 接受此旗標但視為 no-op(stderr 會出現警告)。伺服器現有的比對器有自己內部的接受 門檻;自主信心下限將隨/match/automacro 端點在 v0.2 上線。match suggest --file <id>—— 後端 API 尚未定義。
稽核與復原
milmil audit list --since 1h
milmil audit list --action match.apply --since 7d
milmil audit show <audit_id>
# 精準復原
milmil match undo --id <audit_id> --dry-run # 預覽
milmil match undo --id <audit_id> --yes # 套用
# 時間區間批次復原(會還原該區間內所有 match.apply,包括 Web 介面
# 手動操作的)
milmil match undo --since 5m --dry-run
milmil match undo --since 5m --yesv0.1 的外部追蹤器反向同步(Bangumi、AniList)會回報
failed: dep not configured。完整接線會隨 v0.2 的 macro 端點一併
推出。
支援的 Skill 格式
| 格式 | 輸出 | 慣例位置 |
|---|---|---|
claude | 含 frontmatter 的 Skill markdown | ~/.claude/skills/milmil/SKILL.md(全域)或每個專案各自放置 |
cursor | .cursorrules 檔案內容 | 專案根目錄 |
agents-md | AGENTS.md 片段 | 附加到專案的 AGENTS.md |
新增格式只需在 CLI 倉庫加一個檔案:
api/cmd/cli/skill_templates/<format>.md,milmil generate-skill --format <format> 即會自動識別。
每個代理獨立一組 Token
最佳實務是為每個代理 + 每台裝置單獨核發 Token。它們可獨立撤銷,稽核 紀錄也會記錄每個動作由哪個 Token 觸發:
milmil token list # 列出所有 Token
milmil token revoke claude-code-laptop --yesmilmil token revoke 會拒絕撤銷目前 CLI 工作階段所用的 Token——如需
撤銷該 Token,請先用 milmil auth login 切換到另一組 Token。