claudecode/README.md
fengmengqi 4a04faf926 feat: 添加 Web 前端及服务端 SSE 流式支持,扩展多模型兼容
后端:
  - server: 实现完整的 HTTP 会话管理(CRUD)+ SSE 事件流推送,
    支持双通道架构(POST 发消息 + GET SSE 接收流式响应)
  - runtime: ContentBlock 新增 Thinking / RedactedThinking 变体,
    支持思考过程和已编辑思考的序列化/反序列化
  - api: 注册 GLM 系列模型(glm-4/5 等)到模型注册表,
    扩展 XAI/OpenAI 兼容提供商的请求构建逻辑

  前端:
  - 基于 Ant Design X 构建完整聊天界面:Bubble.List 消息列表、
    Sender 输入框、Conversations 会话管理、Think 思考过程折叠、
    ThoughtChain 工具调用链展示
  - XMarkdown 集成:代码高亮、Mermaid 图表、LaTeX 公式、
    自定义脚注、流式渲染(incomplete 占位符)
  - SSE Hook 对接服务端事件流,手动管理 AssistantBuffer 累积 delta
  - 深色/浅色主题切换,会话侧边栏(新建/切换/删除)
2026-04-10 16:29:27 +08:00

3.8 KiB
Raw Blame History

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

发行版本说明

许可

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