sudoprivacy/sudocode

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

什么是 Sudo Code

Sudo Code 是一个 原生 Rust 命令行 AI 编程助手,专为大多数时间都在终端中工作(tmux、ssh、VS Code 内置终端等)的高级用户设计。它与大型语言模型 API(Anthropic、OpenAI、xAI、Gemini 或任何兼容的提供商)通信,但 不会将你锁定在任何供应商——你提供自己的 API 密钥,二进制文件通过开放的 ACP 协议与它们通信。

该工具在 shell 中 内联运行:它从不接管屏幕,从不开启全屏 TUI,也可以像其他 Unix 命令一样被管道化。它可以交互式使用(REPL),也可以以一次性模式运行,还能为编辑器、浏览器或其他服务暴露一个无头 ACP 服务器来驱动它。

适合谁使用

理想用户 不适合的人
长期在终端中工作的工程师,希望完全了解代理的行为(例如,读取代理实际操作的源代码行)。 寻找点按式编程助手的初学者。
需要管理多个并行 AI 驱动任务并希望脚本化或管道化它们的人。 需要图形化界面或“直接给我答案”体验的用户。
自行掌控技术栈、固定版本并希望默认零遥测的团队。 任何希望工具隐藏其内部机制的人。

核心设计原则(它 始终 会做的事)

  • 开源,MIT 许可 – 整个代码库公开可见,可被 fork。
  • 模型无关 – 你自带 API 密钥;二进制文件可与任何支持的提供商配合使用。
  • 无头优先 – 同一个二进制文件支持 REPL、一次性 CLI 和 ACP 服务器。
  • 本地优先且无遥测 – 提示内容保留在你的机器上,除非你明确转发。
  • 仅内联 – 输出为纯 ANSI 文本;滚动缓冲区、tmux 窗格和 SSH 会话保持不变。
  • 稳定且版本固定 – 无静默更新;遵循语义化版本(semver)保证。
  • 一切皆文件 – 配置、会话日志(JSONL)和插件都存储在文件系统中,便于检查、awk 处理或回放。

从不会 做的事

  • 无隐藏的高级功能或付费墙 – 二进制文件即完整产品。
  • 无全屏 TUI;它从不劫持你的终端屏幕。
  • 无内置多代理仪表板 – 编排由外部工具完成(例如 Sudowork 平台或 Hydra 编排器)。
  • 无强制自动更新或遥测。
  • 无闭源供应商锁定。

工作原理(高层架构)

  1. CLI / REPLscode 可以交互式启动,或通过传入提示字符串调用,输出纯文本、JSON 或流式 SSE。
  2. 运行时 – 一个 Rust 运行时负责会话、权限、沙箱和配置。它加载一个 FsBackend 实现,决定文件的存储位置:
    • StdFsBackend – 本地文件系统(独立 CLI)。
    • NexusVfsFsBackend – 通过 gRPC 的远程 VFS(边缘/开发模式)。
    • KernelFsBackend – 进程内内核风格系统调用(托管代理模式)。
  3. 工具与插件 – 内置 bash、文件 I/O、grep、网络搜索等辅助功能,以及用于自定义“技能”的插件系统。
  4. 模型适配器 – 轻量级包装器,将 ACP 调用转换为 Anthropic、OpenAI、xAI、Gemini 或模拟后端的 API。
  5. ACP 服务器scode acp serve 通过 WebSocket/HTTP 暴露代理,使编辑器或网页 UI 可与其交互。

典型使用模式

# 启动交互式 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

安装方式

  • 一键脚本curl …/install.sh | sh 会下载适用于 macOS 或 Linux 的预构建二进制文件,验证其 SHA-256 校验和,并安装到系统目录(若无 sudo 权限则安装至 $HOME/.local/bin)。Windows 用户可从 Releases 页面下载 zip 包。
  • 从源码构建git clone … && cd sudocode/rust && cargo build --release 生成 ./target/release/scode

可扩展性

  • 插件/技能 – 将编译后的插件放入指定目录,即可从 CLI 调用;文档位于 docs/plugins.md
  • 权限与沙箱 – 对代理可读写内容的细粒度控制,详见 docs/permissions-and-sandbox.md
  • 认证 – 支持多种认证模式(OAuth 令牌、API 密钥、代理),详情见 docs/authentication.md

发展路线与生态系统

Sudo Code 被定位为一个 单一代理单元,其他 Sudowork 组件(如 Hydra 编排器、VS Code 插件等)可通过共享邮箱原语(Nexus VFS 上的 chat-with-me 流)驱动它。未来计划(见 sudo-code-roadmap.html)包括与 Nexus VFS 更紧密集成、更丰富的插件 API,以及从单个交互式会话扩展到由协作者代理管理的上百个代理集群。


许可证: MIT – 贡献者保留其自有版权,无需签署 CLA。

相关

  • 项目
  • 项目
  • 项目
  • 项目
  • 项目