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 编排器)。
- 无强制自动更新或遥测。
- 无闭源供应商锁定。
工作原理(高层架构)
- CLI / REPL –
scode可以交互式启动,或通过传入提示字符串调用,输出纯文本、JSON 或流式 SSE。 - 运行时 – 一个 Rust 运行时负责会话、权限、沙箱和配置。它加载一个 FsBackend 实现,决定文件的存储位置:
StdFsBackend– 本地文件系统(独立 CLI)。NexusVfsFsBackend– 通过 gRPC 的远程 VFS(边缘/开发模式)。KernelFsBackend– 进程内内核风格系统调用(托管代理模式)。
- 工具与插件 – 内置 bash、文件 I/O、grep、网络搜索等辅助功能,以及用于自定义“技能”的插件系统。
- 模型适配器 – 轻量级包装器,将 ACP 调用转换为 Anthropic、OpenAI、xAI、Gemini 或模拟后端的 API。
- 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。
相关
- 项目
- 项目
- 项目
- 项目
- 项目