品牌重塑: - 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
123 lines
3.7 KiB
Markdown
123 lines
3.7 KiB
Markdown
# 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)
|
||
|
||
## 许可
|
||
|
||
有关许可详情,请参阅仓库根目录。
|