doc: update README

This commit is contained in:
qixinbo
2026-04-02 21:22:16 +08:00
parent a4c2078e6e
commit a7b7903f51
2 changed files with 41 additions and 43 deletions
+20 -22
View File
@@ -80,7 +80,9 @@ cp .env.example .env
> 5. 点击下方的“生成授权码”,使用手机 QQ 扫码或按提示发送短信
> 6. 验证通过后将获得一串 **16位随机字母组合**,将其复制填入 `.env` 文件中的 `SMTP_PASSWORD` 字段
### 2. 打包 wheel(产物输出到根目录 `dist/`)📦
### 2. 生产模式(推荐,无需 Node.js)📦
#### 2.1 打包 wheel(产物输出到根目录 `dist/`
如需自行打包发布,请按以下顺序执行:先构建前端,再构建后端 wheel,并将产物输出到项目根目录 `dist/`(与 `backend/` 同级)。
@@ -97,23 +99,23 @@ uv build --wheel --out-dir ../dist
构建完成后,wheel 位于项目根目录 `dist/`,例如 `dist/dataclaw-0.1.0-py3-none-any.whl`
### 3. 标准部署(推荐,无需 Node.js)📦
#### 2.2 安装与启动(使用 2.1 的 wheel)
请确保你已安装 Python 3.11 或以上版本。发布包已内置前端静态资源,生产部署无需安装 Node.js。
请确保你已安装 Python 3.11+ 与 `uv`。生产模式使用已打包的 wheel(2.1 产物),无需安装 Node.js。
```bash
# 建议先创建虚拟环境
uv venv
# 在项目根目录创建独立虚拟环境(不依赖 source 激活)
uv venv .venv
source .venv/bin/activate
# 安装 DataClaw(示例:安装根目录 dist 下的 wheel)
# 安装已打包的 wheel 到该虚拟环境
uv pip install ./dist/dataclaw-*.whl
# 启动服务(默认 http://127.0.0.1:8000
dataclaw start
```
常用服务控制命令:
常用服务控制命令(同一虚拟环境)
```bash
# 查看运行状态
@@ -134,21 +136,17 @@ export DATA_ROOT=/absolute/path/to/data
若未设置,默认使用仓库根目录下的 `data/`。服务状态文件与日志默认位于 `DATA_ROOT/run/`
### 4. 开发模式(需要 Node.js)🧪
### 3. 开发模式(需要 Node.js)🧪
如果你要调试前端代码或重新构建前端产物,请使用前后端分离开发模式:
如果你要调试代码,请使用开发模式。开发模式直接跑源码,不依赖 wheel。
```bash
cd backend
# 创建虚拟环境(可选但强烈建议
uv venv
source .venv/bin/activate
# 安装依赖
# 安装/同步后端依赖(会在 backend/.venv 中准备环境
uv sync
# 启动 FastAPI 服务器
uv run uvicorn app.main:app --reload --port 8000
uv run uvicorn main:app --reload --port 8000
```
```bash
@@ -162,7 +160,7 @@ npm run dev
*提示:请确保* *`nanobot`* *核心库已根据项目工作区的要求正确链接或以可编辑模式 (editable mode) 安装。*
### 5. 语音识别服务(可选)🎙️
### 4. 语音识别服务(可选)🎙️
若你希望使用聊天输入框中的语音输入能力,请单独启动 `whisper` 服务:
@@ -183,14 +181,14 @@ uv run python main.py
3. 填写服务地址(例如 `http://localhost:8001`);
4. 点击「测试连接」通过后保存。
### 6. 初始账号配置 👤
### 5. 初始账号配置 👤
系统首次注册的用户将自动成为管理员。您可以在登录页面直接点击“注册”按钮创建您的管理员账号(例如:用户名 `admin`,密码 `admin`),随后即可登录并管理项目、数据源和用户。
### 7. A2A 模式使用指南 🤖
### 6. A2A 模式使用指南 🤖
A2AAgent2Agent)用于让 DataClaw 把任务委托给远端 Agent,并保持任务可跟踪(状态流、产物流、取消、重试)。
#### 7.1 在前端启用 A2A(推荐)
#### 6.1 在前端启用 A2A(推荐)
1. 进入 **Skills** 页面,切到 **A2A** 标签页。
2. 点击新增远端 Agent,填写:
@@ -209,7 +207,7 @@ A2AAgent2Agent)用于让 DataClaw 把任务委托给远端 Agent,并保
- `a2a_first`: 先远端,失败按回退链执行
- `local_first`: 先本地,按需再回退
#### 7.2 API 示例(生产常用)
#### 6.2 API 示例(生产常用)
以下示例假设服务地址为 `http://127.0.0.1:8000`,并已获取登录令牌 `${TOKEN}`
@@ -286,7 +284,7 @@ curl -X POST http://127.0.0.1:8000/api/v1/a2a/tasks/<task_id>/webhooks \
}'
```
#### 7.3 一个完整实战流程
#### 6.3 一个完整实战流程
场景:你有一个“本地数据分析 Agent”,还接入了“外部行业知识 Agent-B”。
@@ -302,7 +300,7 @@ curl -X POST http://127.0.0.1:8000/api/v1/a2a/tasks/<task_id>/webhooks \
- 为长任务配置 webhook,避免客户端断线丢失进度。
- 在项目级 rollout 配置灰度比例,先小流量启用 A2A 再全量放开。
#### 7.4 本地调试 A2A(双实例联调)
#### 6.4 本地调试 A2A(双实例联调)
推荐在本机同时启动两个后端实例:
- 实例 A(调用方):`http://127.0.0.1:8000`