sudoprivacy/sudocode

Rust-native CLI coding agent for hackers — terminal-native, pipe-composable, scrollback-safe. Built because Claude Code chose non-coders.

What Sudo Code is

Sudo Code 是為在終端中花費大部分時間的進階使用者設計的 Rust 原生命令列 AI 程式碼助手。它透過開放的 ACP 協定與任何 LLM 提供者(Anthropic、OpenAI、xAI、Gemini 或任何相容的提供者)通訊,但 不會將您鎖定在任何特定供應商——您提供自己的 API 金鑰,二進位檔透過開放的 ACP 協定與其通訊。

該工具在 shell 中 內嵌執行:從不接管螢幕,從不開啟全螢幕 TUI,且可像任何其他 Unix 命令一樣被管道化使用。它可用於互動式(REPL)模式,也可作為一次性指令,或為編輯器、瀏覽器或其他服務暴露一個無頭 ACP 伺服器以驅動它。

Who it’s for

理想使用者 不適合的使用者
在終端(tmux、ssh、VS Code 結合終端等)中生活,並希望完全可視化代理行為的工程師(例如,閱讀代理實際操作的原始碼行)。 尋找點按式程式碼助手的初學者。
需要管理多個平行 AI 驅動任務並希望腳本化或管道化的使用者。 需要圖形化 UI 或「直接給我答案」體驗的使用者。
自主管理技術棧、固定版本並希望預設零遙測的團隊。 希望工具隱藏其內部機制的任何人。

Core design principles (what it always does)

  • 開源,MIT 許可證 – 整個程式碼庫公開,可被 fork。
  • 模型無關 – 您提供自己的 API 金鑰;二進位檔可與任何支援的提供者協同工作。
  • 無頭優先 – 同一個二進位檔支援 REPL、一次性 CLI 和 ACP 伺服器。
  • 本地優先 & 無遙測 – 除非您明確轉發,否則提示內容保留在您的機器上。
  • 僅內嵌 – 輸出為純 ANSI 文字;滾動歷史、tmux 窗格和 SSH 會話保持不變。
  • 穩定、版本固定介面 – 無靜默更新;遵循語意化版本(semver)保證。
  • 一切皆檔案 – 設定、會話日誌(JSONL)、插件均位於檔案系統上,便於檢查、awk 處理或重播。

What it never does

  • 無隱藏的高階功能或付費牆——二進位檔即完整產品。
  • 無全螢幕 TUI;從不劫持您的終端螢幕。
  • 無內建多代理儀表板——編排由外部工具(如 Sudowork 平台或 Hydra 編排器)處理。
  • 無強制自動更新或遙測。
  • 無閉源供應商鎖定。

How it works (high‑level architecture)

  1. CLI / REPLscode 可以互動式啟動,或透過傳入提示字串呼叫,產生純文字、JSON 或串流 SSE 輸出。
  2. Runtime – 一個 Rust 執行時處理會話、權限、沙箱和設定。它載入一個 FsBackend 實作,決定檔案的儲存位置:
    • StdFsBackend – 本地檔案系統(獨立 CLI)。
    • NexusVfsFsBackend – 透過 gRPC 的遠端 VFS(邊緣/開發模式)。
    • KernelFsBackend – 進程內核心風格系統呼叫(托管代理模式)。
  3. Tools & Plugins – 內建的 bash、檔案 I/O、grep、網路搜尋等輔助工具,以及用於自訂「技能」的插件系統。
  4. Model adapters – 將 ACP 呼叫轉換為 Anthropic、OpenAI、xAI、Gemini 或模擬後端 API 的輕量級包裝器。
  5. ACP serverscode acp serve 透過 WebSocket/HTTP 暴露代理,使編輯器或 Web UI 可以與其互動。

Typical usage patterns

# 啟動互動式 REPL(使用環境變數提供的金鑰)
export CLAUDE_CODE_OAUTH_TOKEN="sk-ant-…"
scode

# 一次性、管道友好的用法
scode "explain this function" | bat
scode "list failing tests" --output-format json | jq '.tests[]'

# 恢復已儲存的會話(會話以 JSONL 檔案儲存)
cat plan.md | scode --resume <session-id>

# 作為無頭伺服器運行,供編輯器整合
scode acp serve --port 8080

# 快速健康檢查
scode doctor

Installation

  • 一鍵腳本curl …/install.sh | sh 下載適用於 macOS 或 Linux 的預建二進位檔,驗證其 SHA-256 校驗和,並安裝到系統目錄(或在無 sudo 時安裝到 $HOME/.local/bin)。Windows 使用者可從發行頁面下載 zip 檔案。
  • 從原始碼建置git clone … && cd sudocode/rust && cargo build --release 產生 ./target/release/scode

Extensibility

  • 插件/技能 – 將編譯後的插件放入指定目錄,即可從 CLI 呼叫;文件位於 docs/plugins.md
  • 權限與沙箱 – 對代理可讀/寫內容的細粒度控制,詳見 docs/permissions-and-sandbox.md
  • 認證 – 多種認證模式(OAuth 金鑰、API 金鑰、代理)的詳細說明見 docs/authentication.md

Roadmap & ecosystem

Sudo Code 被定位為一個 單一代理單元,其他 Sudowork 組件(如 Hydra 編排器、VS Code 擴充等)可透過共享郵件箱原語(Nexus VFS 上的 chat-with-me 流)對其進行驅動。未來計畫(參見 sudo-code-roadmap.html)包括與 Nexus VFS 更緊密整合、更豐富的插件 API,以及從單一互動式會話擴展至由協作者代理管理的 100+ 個代理的叢集。


許可證: MIT – 貢獻者保留其自身版權,無需 CLA。

相關

  • 專案
  • 專案
  • 專案
  • 專案
  • 專案