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

122 lines
3.8 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
- 你想使用的模型的提供商凭据
你可以通过环境变量或在项目根目录创建 **`.env`** 文件来配置 API 密钥:
**配置 Claude (推荐):**
```bash
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)
## 许可
有关许可详情,请参阅仓库根目录。