# Claw Code Claw Code 是一个使用安全 Rust 实现的本地编程代理(coding-agent)命令行工具。它的设计灵感来自 **Claude Code**,并作为一个**净室实现(clean-room implementation)**开发:旨在提供强大的本地代理体验,但它**不是** Claude Code 的直接移植或复制。 Rust 工作区是当前主要的产品界面。`claw` 二进制文件在单个工作区内提供交互式会话、单次提示、工作区感知工具、本地代理工作流以及支持插件的操作。 ## 当前状态 - **版本:** `0.1.0` - **发布阶段:** 初始公开发布,源码编译分发 - **主要实现:** 本仓库中的 Rust 工作区 - **平台焦点:** macOS 和 Linux 开发工作站 ## 安装、构建与运行 ### 准备工作 - Rust 稳定版工具链 - Cargo - 你想使用的模型的提供商凭据 ### 身份验证 兼容 Anthropic 的模型: ```bash export ANTHROPIC_API_KEY="..." # 使用兼容的端点时可选 export ANTHROPIC_BASE_URL="https://api.anthropic.com" ``` Grok 模型: ```bash export XAI_API_KEY="..." # 使用兼容的端点时可选 export XAI_BASE_URL="https://api.x.ai" ``` 也可以使用 OAuth 登录: ```bash cargo run --bin claw -- login ``` ### 本地安装 ```bash cargo install --path crates/claw-cli --locked ``` ### 从源码构建 ```bash cargo build --release -p claw-cli ``` ### 运行 在工作区内运行: ```bash cargo run --bin claw -- --help cargo run --bin claw -- cargo run --bin claw -- prompt "总结此工作区" cargo run --bin claw -- --model sonnet "审查最新更改" ``` 运行发布版本: ```bash ./target/release/claw ./target/release/claw prompt "解释 crates/runtime" ``` ## 支持的功能 - 交互式 REPL 和单次提示执行 - 已保存会话的检查和恢复流程 - 内置工作区工具:shell、文件读/写/编辑、搜索、网页获取/搜索、待办事项和笔记本更新 - 斜杠命令:状态、压缩、配置检查、差异(diff)、导出、会话管理和版本报告 - 本地代理和技能发现:通过 `claw agents` 和 `claw skills` - 通过命令行和斜杠命令界面发现并管理插件 - OAuth 登录/注销,以及从命令行选择模型/提供商 - 工作区感知的指令/配置加载(`CLAW.md`、配置文件、权限、插件设置) ## 当前限制 - 目前公开发布**仅限源码构建**;此工作区尚未设置 crates.io 发布 - GitHub CI 验证 `cargo check`、`cargo test` 和发布构建,但尚未提供自动化的发布打包 - 当前 CI 目标为 Ubuntu 和 macOS;Windows 的发布就绪性仍待建立 - 一些实时提供商集成覆盖是可选的,因为它们需要外部凭据 and 网络访问 - 命令界面可能会在 `0.x` 系列期间继续演进 ## 实现现状 Rust 工作区是当前的产品实现。目前包含以下 crate: - `claw-cli` — 面向用户的二进制文件 - `api` — 提供商客户端和流式处理 - `runtime` — 会话、配置、权限、提示词和运行时循环 - `tools` — 内置工具实现 - `commands` — 斜杠命令注册和处理程序 - `plugins` — 插件发现、注册和生命周期支持 - `lsp` — 语言服务器协议支持类型和进程助手 - `server` 和 `compat-harness` — 支持服务和兼容性工具 ## 路线图 - 发布打包好的构件,用于公共安装 - 添加可重复的发布工作流和长期维护的变更日志(changelog)规范 - 将平台验证扩展到当前 CI 矩阵之外 - 添加更多以任务为中心的示例和操作员文档 - 继续加强 Rust 实现的功能覆盖并磨炼用户体验(UX) ## 发行版本说明 - 0.1.0 发行说明草案:[`docs/releases/0.1.0.md`](docs/releases/0.1.0.md) ## 许可 有关许可详情,请参阅仓库根目录。