Go to file
fengmengqi d8d77824f4 feat: 合并上游 Rust 实现,扩展 API/运行时/工具链能力
将 claw-code/rust/crates 的完整实现合并到主 workspace,涵盖
  9 个 crate 的更新与 2 个新 crate 的引入。

  API 层:
  - 用原生 Anthropic 客户端(anthropic.rs)替换 claw_provider,
    新增 prompt cache 减少重复请求开销
  - 新增 HTTP 客户端构建器统一代理配置,OpenAI 兼容端增加
    DashScope/Qwen 支持与抖动重试
  - MessageRequest 扩展 temperature/top_p 等模型调参字段
  - SSE 解析器增加 provider 上下文感知的错误信息

  运行时(~11,000 行新增):
  - 新增 bash 命令安全校验、分支锁碰撞检测、配置文件校验
  - 新增会话存储与控制面、MCP 生命周期状态机与服务端实现
  - 新增权限执行引擎、策略引擎、插件生命周期管理
  - 新增 worker 启动编排、任务/定时任务注册表、信任解析器
  - 保留 Windows cmd /C fallback

  命令/插件/工具:
  - commands 大幅重写,扩展 sandbox、doctor、plan 等 slash 命令
  - plugins 新增 PostToolUseFailure hook 与宽容加载机制
  - tools 新增 PDF 提取与 lane 补全工具

  新增 crate:mock-anthropic-service(测试)、telemetry(遥测)

  适配 claw-cli/server:ClawApiClient→AnthropicClient 重命名,
  SlashCommand::parse 返回 Result,移除 session 级 Thinking 变体,
  TokenUsage/ConversationMessage 补充序列化支持
2026-04-13 14:39:17 +08:00
.github/workflows feat: Claw Code 重命名及架构升级 2026-04-02 15:14:31 +08:00
crates feat: 合并上游 Rust 实现,扩展 API/运行时/工具链能力 2026-04-13 14:39:17 +08:00
docs/releases feat: Claw Code 重命名及架构升级 2026-04-02 15:14:31 +08:00
frontend feat: 合并上游 Rust 实现,扩展 API/运行时/工具链能力 2026-04-13 14:39:17 +08:00
.claw.json feat: 添加 Web 前端及服务端 SSE 流式支持,扩展多模型兼容 2026-04-10 16:29:27 +08:00
.env feat: 添加 Web 前端及服务端 SSE 流式支持,扩展多模型兼容 2026-04-10 16:29:27 +08:00
.gitignore feat: 添加 Web 前端及服务端 SSE 流式支持,扩展多模型兼容 2026-04-10 16:29:27 +08:00
Cargo.lock feat: 合并上游 Rust 实现,扩展 API/运行时/工具链能力 2026-04-13 14:39:17 +08:00
Cargo.toml feat: 合并上游 Rust 实现,扩展 API/运行时/工具链能力 2026-04-13 14:39:17 +08:00
CLAUDE.md feat: 添加 Web 前端及服务端 SSE 流式支持,扩展多模型兼容 2026-04-10 16:29:27 +08:00
CLAW.md feat: 添加 Web 前端及服务端 SSE 流式支持,扩展多模型兼容 2026-04-10 16:29:27 +08:00
CONTRIBUTING.md feat: Claw Code 重命名及架构升级 2026-04-02 15:14:31 +08:00
README.md feat: 添加 Web 前端及服务端 SSE 流式支持,扩展多模型兼容 2026-04-10 16:29:27 +08:00

Claw Code

Claw Code 是一个使用安全 Rust 实现的本地编程代理coding-agent命令行工具。它的设计灵感来自 Claude Code,并作为一个净室实现clean-room implementation开发:旨在提供强大的本地代理体验,但它不是 Claude Code 的直接移植或复制。

Rust 工作区是当前主要的产品界面。claw 二进制文件在单个工作区内提供交互式会话、单次提示、工作区感知工具、本地代理工作流以及支持插件的操作。

当前状态

  • 版本: 0.1.0
  • 发布阶段: 初始公开发布,源码编译分发
  • 主要实现: 本仓库中的 Rust 工作区
  • 平台焦点: macOS 和 Linux 开发工作站

安装、构建与运行

准备工作

  • Rust 稳定版工具链
  • Cargo
  • 你想使用的模型的提供商凭据

你可以通过环境变量或在项目根目录创建 .env 文件来配置 API 密钥:

配置 Claude (推荐):

ANTHROPIC_API_KEY="..."
# 使用兼容的端点时可选
export ANTHROPIC_BASE_URL="https://api.anthropic.com"

Grok 模型:

export XAI_API_KEY="..."
# 使用兼容的端点时可选
export XAI_BASE_URL="https://api.x.ai"

也可以使用 OAuth 登录:

cargo run --bin claw -- login

本地安装

cargo install --path crates/claw-cli --locked

从源码构建

cargo build --release -p claw-cli

运行

在工作区内运行:

cargo run --bin claw -- --help
cargo run --bin claw --
cargo run --bin claw -- prompt "总结此工作区"
cargo run --bin claw -- --model sonnet "审查最新更改"

运行发布版本:

./target/release/claw
./target/release/claw prompt "解释 crates/runtime"

支持的功能

  • 交互式 REPL 和单次提示执行
  • 已保存会话的检查和恢复流程
  • 内置工作区工具shell、文件读/写/编辑、搜索、网页获取/搜索、待办事项和笔记本更新
  • 斜杠命令状态、压缩、配置检查、差异diff、导出、会话管理和版本报告
  • 本地代理和技能发现:通过 claw agentsclaw skills
  • 通过命令行和斜杠命令界面发现并管理插件
  • OAuth 登录/注销,以及从命令行选择模型/提供商
  • 工作区感知的指令/配置加载(CLAW.md、配置文件、权限、插件设置)

当前限制

  • 目前公开发布仅限源码构建;此工作区尚未设置 crates.io 发布
  • GitHub CI 验证 cargo checkcargo test 和发布构建,但尚未提供自动化的发布打包
  • 当前 CI 目标为 Ubuntu 和 macOSWindows 的发布就绪性仍待建立
  • 一些实时提供商集成覆盖是可选的,因为它们需要外部凭据 and 网络访问
  • 命令界面可能会在 0.x 系列期间继续演进

实现现状

Rust 工作区是当前的产品实现。目前包含以下 crate

  • claw-cli — 面向用户的二进制文件
  • api — 提供商客户端和流式处理
  • runtime — 会话、配置、权限、提示词和运行时循环
  • tools — 内置工具实现
  • commands — 斜杠命令注册和处理程序
  • plugins — 插件发现、注册和生命周期支持
  • lsp — 语言服务器协议支持类型和进程助手
  • servercompat-harness — 支持服务和兼容性工具

路线图

  • 发布打包好的构件,用于公共安装
  • 添加可重复的发布工作流和长期维护的变更日志changelog规范
  • 将平台验证扩展到当前 CI 矩阵之外
  • 添加更多以任务为中心的示例和操作员文档
  • 继续加强 Rust 实现的功能覆盖并磨炼用户体验UX

发行版本说明

许可

有关许可详情,请参阅仓库根目录。