使用说明
Orbit Rust SDK
OpenCode的完全Rust重写 --开源AI编码代理。
我们正在用100%Rust从头开始重建OpenCode,以获得更好的性能、更低的内存占用和真正的原生体验。
注: 这是从OpenCode衍生出来的开源后端SDK。Orbit(我们的统一开发环境)是一个使用此SDK的独立专有产品。
为什么是Rust?
| Aspect | Types/Bun | Rust |
|---|---|---|
| 记忆 | 约200-500MB运行时间 | 约20-50MB |
| 初创公司 | 1-3秒 | <100ms |
| 二进制大小 | 需要节点/Bun运行时 | 单个静态二进制文件 |
| 原生集成 | FFI管理费用 | 零成本Tauri集成 |
| 并发 | 事件循环限制 | 与async/await的真正并行性 |
通过在Rust中重写,我们得到:
- 即时启动 --无运行时初始化
- 最小内存 --对于与重型IDE一起运行至关重要
- 本地Tauri整合 --无缝桌面应用程序,无IPC开销
- 单二进制分布 --无依赖关系,无node_modules
- 真并发 --无阻塞的并行工具执行
这是什么?
Orbit Rust SDK 是一个开源的AI代理后端,处理:
- LLM提供商沟通(Anthropic、OpenAI、谷歌、AWS Bedrock、本地模型)
- 工具执行(bash、文件操作、代码分析)
- 会话管理和会话状态
- 实时流媒体和事件处理
- OAuth身份验证流程(Claude Pro、ChatGPT Plus、GitHub Copilot)
此SDK源自 OpenCode 并且正在用Rust重写。它是 免费开源 供社区使用、贡献和发展。
轨道 (我们的代理UDE——统一开发环境)使用此SDK,但它是一个独立的闭源产品。
当前状态
阶段:积极发展
我们正在系统地将TypeScript代码库逐个转换为Rust:
| 板条箱 | 状态 | 描述 |
|---|---|---|
orbit-core |
✅ 完成 | ID生成、锁、超时、通配符、文件系统、全局路径 |
orbit-bus |
🔄 进行中 | 事件发布/订阅系统 |
orbit-storage |
⬜ 计划 | JSON文件存储 |
orbit-project |
⬜ 计划 | 项目/实例上下文 |
orbit-config |
⬜ 计划 | 配置管理 |
orbit-permission |
⬜ 计划 | 权限系统 |
orbit-provider |
⬜ 计划中的 | 人工智能提供商适配器(Anthropic、OpenAI、谷歌、AWS) |
orbit-session |
⬜ 计划 | 会话管理 |
orbit-tools |
⬜ 计划 | 代理工具(bash、读、写、编辑、glob、grep) |
orbit-lsp |
⬜ 计划 | LSP客户端集成 |
orbit-mcp |
⬜ 计划 | 模型上下文协议客户端 |
orbit-server |
⬜ 计划 | 带SSE的HTTP API |
快速开始
# Check compilation
cargo check --workspace
# Run tests
cargo test --workspace
# Build release
cargo build --release
# Test crates during development
cargo run -p orbit-cli -- test-core
开发CLI
我们提供了一个简单的测试CLI,用于在构建板条箱时对其进行验证:
# Show available commands
cargo run -p orbit-cli -- help
# Test orbit-core
cargo run -p orbit-cli -- test-core
# More commands added as crates are completed
建筑
orbit-rust-sdk/
├── Cargo.toml # Workspace manifest
├── crates/
│ ├── orbit-core/ # Foundation utilities
│ ├── orbit-bus/ # Event pub/sub
│ ├── orbit-storage/ # JSON file storage
│ ├── orbit-project/ # Project/instance context
│ ├── orbit-config/ # Configuration
│ ├── orbit-permission/ # Permission system
│ ├── orbit-provider/ # AI provider adapters
│ ├── orbit-session/ # Session management
│ ├── orbit-tools/ # Agent tools
│ ├── orbit-lsp/ # LSP client
│ ├── orbit-mcp/ # MCP client
│ ├── orbit-server/ # HTTP API server
│ └── orbit-cli/ # Development test CLI
├── docs/
│ ├── conversion/ # Conversion planning docs
│ ├── providers/ # Provider auth documentation
│ └── workflow/ # Development workflow guides
└── OpenCode-reference/ # Original TypeScript source
板条箱依赖关系图
orbit-core
/ | \
orbit-bus orbit-storage orbit-config
\ | /
orbit-project
|
orbit-permission
/ \
orbit-provider orbit-tools
\ /
orbit-session
/ | \
orbit-lsp orbit-mcp orbit-server
文档
| 文档 | 描述 |
|---|---|
docs/workflow/Workflow.md |
主要转换工作流程指南 |
docs/workflow/MODULE_MAPPING.md |
TypeScript→ Rust模块映射 |
docs/providers/PROVIDER_AUTH.md |
Claude、Codex、Copilot的OAuth流 |
docs/providers/RUST_AI_SDK_ALTERNATIVES.md |
Vercel AI SDK的Rust替代品 |
每个板条箱还有一个 CONVERSION.md 映射其TypeScript源代码的文件。
贡献
我们欢迎捐款!无论您是:
- 将TypeScript移植到Rust --选择一个模块并开始转换
- 添加功能 --新工具、提供商或改进
- 修复bug --在TS或Rust代码库中
- 改进文档 --更好的示例、指南和解释
这个SDK是 免费开源用它,叉它,在它上面建造。
转换工作流
- 检查
crates/<crate-name>/CONVERSION.md对于TypeScript→ 锈蚀映射 - 遵循中的模式
docs/workflow/Workflow.md - 测试用
cargo run -p orbit-cli -- test-<crate> - 提交PR
致谢
特别感谢 OpenCode 和 异常 (SST) 用于构建原始的开源AI编码代理。
OpenCode证明了一个完全开源、与提供商无关的人工智能代理可以与专有解决方案相媲美。我们正在利用他们的出色工作,并在Rust中重建它,以进一步提高性能。
许可证
MIT许可证
版权所有(c)2025递归实验室 版权所有(c)2024-2025 SST/OpenCode(原创作品)
看 许可证 了解详情。
Orbit Rust SDK
Built on the foundations of OpenCode