Argus
Health Warn
- No license — Repository has no license file
- Description — Repository has a description
- Active repo — Last push 0 days ago
- Low visibility — Only 7 GitHub stars
Code Fail
- os.homedir — User home directory access in codex/plugins/argus/hooks/argus.js
- process.env — Environment variable access in codex/plugins/argus/hooks/argus.js
- fs module — File system access in codex/plugins/argus/hooks/argus.js
- fs.rmSync — Destructive file system operation in codex/plugins/argus/hooks/core.js
- process.env — Environment variable access in codex/plugins/argus/hooks/core.js
- fs module — File system access in codex/plugins/argus/hooks/core.js
- os.homedir — User home directory access in codex/src/argus.js
- process.env — Environment variable access in codex/src/argus.js
- fs module — File system access in codex/src/argus.js
Permissions Pass
- Permissions — No dangerous permissions requested
No AI report is available for this listing yet.
先覆述、確認後、才動手!專為 Claude Code 與 OpenAI Codex 設計的確認優先(Confirm-First)防護閘門,確認前強制攔截工具呼叫,杜絕 AI 誤解與亂改程式碼。
Argus
Argus 是一套給 Claude Code 與 OpenAI Codex 使用的 AI 協作工具包,以官方 Plugin 形式安裝。目前包含:
| 工具 | 用途 | 支援平台 |
|---|---|---|
| confirm-first | 動手前先用白話覆述需求重點,你確認後才放行工具 | Claude Code、OpenAI Codex |
| session-relay | 在 Claude Code 接手 Codex App Session 的工作,Codex 額度用完也能用 | Claude Code |
安裝指南
執行環境需求:
- Node.js:confirm-first 的 Hook 使用。
- Python 3.11+:session-relay 使用,只需標準函式庫。
Claude Code
啟動 Claude Code 時載入本機外掛目錄,所有工具都會一起載入:
claude --plugin-dir /path/to/Argus
OpenAI Codex
透過 Codex 官方 Plugin Marketplace 註冊並安裝(目前提供 confirm-first):
codex plugin marketplace add .
codex plugin add argus@argus
codex features enable default_mode_request_user_input
提示:
default_mode_request_user_input讓 Default 模式支援選項卡片。如欲關閉實驗功能警告,可在config.toml中加入suppress_unstable_features_warning = true。
confirm-first:確認優先
在 AI 執行任務或呼叫任何工具前,先用白話文提煉需求重點與假設,並在獲得你的明確確認後才放行工具執行,防止 AI 誤解需求或產生非預期的程式碼變動。
特色與效益
- 精準對齊需求:AI 僅根據輸入提煉最多 5 點白話需求重點與假設,杜絕「你說 A、它做 B」。
- 工具底層硬性攔截:在確認前,Hook 會硬性擋下所有工具呼叫(檔案讀寫、終端指令等),絕不偷偷執行。
- 節省 Token 與還原成本:一次對齊共識,避免因 AI 理解偏差而需繁瑣重試或使用
git reset救災。
適用情境
- 架構重構與跨模組修改:改動範圍大時,防止 AI 隨意改動非目標檔案。
- 長篇或模糊的需求:先讓 AI 整理出理解與「(假設)」清單,釐清盲點後再動工。
- 關鍵與不可逆操作:資料庫結構、生產設定或敏感邏輯調整時,提供人工確認閘門。
使用方式
在提示詞開頭輸入對應指令即可啟用閘門:
- Claude Code:
/argus:confirm-first 幫我把登入頁改成雙欄版面 - OpenAI Codex:
$confirm-first 幫我把登入頁改成雙欄版面
Argus 會先覆述重點並跳出確認選項:
需求重點:
1. 將現有單欄登入表單調整為雙欄網格佈局
2. 左欄保留登入輸入框與送出按鈕
3. 右欄加入品牌宣傳橫幅與說明文字
4. (假設)維持既有表單驗證與 API 串接邏輯
[以上理解正確嗎?]
- 正確,開始執行:放行閘門,AI 嚴格依覆述重點開始執行任務
- 需要修正:補充修改說明,AI 將重新整理重點再次確認
- 取消此請求:中止任務並解除閘門
運作原理
採用輕量的雙狀態機(idle / pending):
- 觸發進入 Pending:收到啟動指令後進入
pending狀態,並注入確認技能規則。 - 工具調用攔截:在
pending期間,PreToolUsehook 會拒絕除提問工具(Claude 的AskUserQuestion或 Codex 的request_user_input)以外的所有工具調用;Claude 另外放行用來載入AskUserQuestion的ToolSearch。 - 放行回歸 Idle:使用者選擇「正確,開始執行」或「取消此請求」後,狀態清除回歸
idle,放行或結束操作。
session-relay:接手 Codex Session
在 Claude Code 接手 Codex App Session 的工作。直接讀取本機的 Codex Session 紀錄,不需要 Codex 可用,額度耗盡、無法登入時也能接手。
特色與效益
- 不佔主對話 Context:原始紀錄只由隔離的 Sub-agent 讀取,主對話只拿重建後的
handoff.md,長 Session 也不會塞爆 Context。 - 交接的是目前狀態:像
/compact一樣壓縮成接續用的摘要,但只留目前有效的內容:後面的決定蓋過前面的;中斷的 Session 依執行紀錄判斷哪些真的完成、哪些只做到一半;推測的內容標「(推定)」,可能沒做完或待確認的標「(需確認)」。 - 先確認再接手:列出 5 點以內的重點讓你確認或修正,確認後才以這份內容繼續工作。
- 私人紀錄不進版控:來源與交接檔都留在專案的
.claude/handoffs/<id>/,並自動加上.gitignore,不會被 commit。
使用方式
/argus:session-relay <Codex-Session-UUID>
流程是 Read → Reconstruct → Confirm → Promote → Continue:
- Read:讀出 Session,寫成
source.json(完整內容)與source.md(可讀版)。 - Reconstruct:隔離的 Sub-agent 讀完整份來源,重建 Session 結束當下的狀態,寫成
handoff.md。 - Confirm:列出重點,選擇「正確,開始接手」、「需要修正」或「取消交接」。
- Promote → Continue:確認後
handoff.md標記為verified,Claude Code 以它為準接續工作;需要細節時再回頭查來源。
設計與驗收見 Handoff 文件。
單獨使用 Session Reader
讀取步驟也可以單獨執行,把 Session 轉成與 Agent 無關的 JSON,供其他工具交接使用:
python -B scripts/codex_session_reader.py <Session-ID> --output D:\handoff\context.json
執行契約、錯誤碼與測試方式見 Session Reader 文件;本機 Schema 調查見 分析紀錄。
開發與測試
建置 Codex 外掛套件
若修改了共用核心或 Codex adapter,需重新建置發布目錄:
# 建置產生套件
node scripts/build-codex.js
# 檢查產生套件是否與原始碼同步
node scripts/build-codex.js --check
執行測試
# confirm-first 與外掛套件
node --test "tests/*.test.js"
# session-relay
python -B -m unittest discover -s tests
除錯排查
設定環境變數 ARGUS_DEBUG=1,confirm-first 的執行歷程與 hook stdin 將寫入各平台狀態目錄中的 debug.log。
Reviews (0)
Sign in to leave a review.
Leave a reviewNo results found