claudecode/rust/README.md
fengmengqi 05a778bad9 feat: Claw Code 重命名及架构升级
品牌重塑:
  - Claude Code → Claw Code
  - .claude → .claw 配置目录
  - CLAUDE_* → CLAW_* 环境变量

  新增功能:
  - 多 Provider 架构 (ClawApi/Xai/OpenAI)
  - 插件系统 (生命周期/钩子/工具扩展)
  - LSP 集成 (诊断/代码智能)
  - Hook 系统 (PreToolUse/PostToolUse)
  - 独立 CLI (claw-cli)
  - HTTP Server (Axum/SSE)
  - Slash Commands 扩展 (branch/worktree/commit/pr/plugin等)

  优化改进:
  - Compaction 支持增量压缩
  - 全局工具注册表
  - 配置文件统一为 .claw.json
2026-04-02 15:14:31 +08:00

123 lines
3.7 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 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 和 macOSWindows 的发布就绪性仍待建立
- 一些实时提供商集成覆盖是可选的,因为它们需要外部凭据 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)
## 许可
有关许可详情,请参阅仓库根目录。