Genkan
Genkan 讓 MCP 用戶端透過瀏覽器擴充功能與原生訊息主機, 操作你已經登入的 Chromium 瀏覽器, 不需要偵錯埠。程式碼是唯一的事實來源: 當某個頁面描述一項行為時, 擁有該行為的檔案才是權威。安全頁面說明這座橋接承諾什麼、止於何處; 其餘頁面說明如何使用、執行與修改它。
我想要...
| 目標 | 閱讀 |
|---|---|
| 安裝執行檔與擴充功能, 並執行第一次工具呼叫 | 快速入門: CLI |
| 檢查安裝是否健康, 或解讀「server not reachable」 | CLI: doctor 與 status |
| 向瀏覽器註冊原生訊息主機, 或移除註冊 | CLI: doctor --fix 與 uninstall |
| 准入一個 MCP 用戶端, 或撤銷一個 | CLI: 受信任用戶端 |
| 立刻停止一切, 稍後再解除停止 | CLI: 緊急開關 (kill switch) |
| 變更工具被允許做的事 | CLI: 主機持有的策略 |
| 閱讀日誌與稽核日誌 | CLI: 日誌與稽核 |
解讀一列出乎意料的 doctor 輸出, 或復原無法讀取的緊急開關記錄 | 疑難排解 |
| 從 WSL 使用這座橋接 | 疑難排解: 在 WSL 下執行 |
| 知道這座橋接承諾攻擊者做不到什麼, 以及承諾止於何處 | 安全: 標準線 |
| 查看每個工具能觸及什麼、會觸發哪種確認 | 工具風險矩陣 |
| 回報安全問題 | 事件回應: 回報 |
| 在修改某項安全決策前, 先理解當初為何這樣決定 | 安全設計依據 |
| 知道擴充功能收集與儲存什麼 | 隱私權政策 |
| 查看各程序如何連接, 以及每一跳之間傳遞什麼 | 架構: 總覽 |
找到由 Rust 核心擁有、並由 moon run gen 產生為 TypeScript 的跨程序契約 (工具目錄、錯誤分類、能力、協定版本、身分、線路封包) | 架構: 協定邊界契約 |
| 修改與安全相關的東西 | 審查標準 |
| 設定工具鏈並執行閘門 | 開發: moon |
| 對隔離的 Chrome 執行瀏覽器測試套件, 絕不對你自己的瀏覽器執行 | 測試 |
| 新增一個工具 | 貢獻: 新增工具 |
| 發行一個版本 | 發行 |
| 知道哪種變更會推動哪個版本號 | 發行: 版本 |
| 權衡是否將擴充功能發布到 Chrome 線上應用程式商店 | 發行: Chrome 線上應用程式商店 |
頁面一覽
使用
- 快速入門: 安裝、首次使用、建議的強化、解除安裝。
- CLI: doctor、註冊、登記、受信任用戶端、緊急開關、策略、日誌與稽核, 以及各自對應的疑難排解。
- 疑難排解: 逐一症狀說明, 從出乎意料的
doctor輸出列, 到緊急開關記錄的復原、版本不一致, 以及兩種 WSL 模式。 - 隱私權政策: 擴充功能可以存取什麼、儲存什麼, 以及絕不會送出什麼。
安全
- 安全: 一句話的承諾、利害所在與誰受信任、四個跳點及各由什麼把守、你要確認什麼、止於何處, 按作業系統分述。
- 信任邊界: 審查者的帳冊, 按跳點分述: 機制細節、每一項已接受的殘餘風險、策略帳冊、不變量。
- 工具風險矩陣: 每個工具的影響範圍與保護措施。
- 事件回應: 回報、分級處理、緩解、揭露。
- 安全設計依據: 每項決策為何這樣做, 以及否決了什麼。
- 審查標準: 需要額外審查的部分、失敗即安全的預設值, 以及在做安全相關變更前該讀什麼。
參考
- 架構: 元件、協定、資料流、安全模型、關鍵限制、技術選型, 以及 Rust 核心產生的契約。
貢獻
- 開發: 工具鏈、目錄配置、moon 工作、測試、容器、模糊測試。
- 發行: release-please 管線、附帶總和檢查碼與來源證明的預先建置壓縮檔、SBOM、何時推動哪個版本, 以及 Chrome 線上應用程式商店的決定。
- CONTRIBUTING: 開發流程, 從分支、提交與同步規則到壓縮合併。
- 測試: 各測試套件, 以及瀏覽器測試只對隔離的 Chrome 執行、絕不對你日常使用的瀏覽器執行的規則。