feat: 将项目从nano重命名为beaver并更新相关配置

- 将所有环境变量前缀从NANO_改为BEAVER_
- 更新README.md文档内容,包括项目介绍、组件说明和快速开始指南
- 修改.gitignore文件,添加auth-portal运行时路径排除规则
- 更新app-instance镜像标签从nano/app-instance改为beaver/app-instance
- 增强技能安全检查器,支持工具前缀白名单功能
- 添加技能草稿重新检查安全性API端点
- 扩展证据选择器,收集工具调用名称用于技能学习
- 改进技能合成器,基于实际调用的工具生成工具提示
- 优化路由超时处理机制,增加重试逻辑
- 更新后端架构文档,添加可视化入口和基础概念说明
- 实现在WebSocket消息中传递工具迭代次数信息
This commit is contained in:
2026-05-20 18:01:06 +08:00
parent 3b0af173cc
commit 9d6cde2d23
63 changed files with 4894 additions and 1596 deletions

View File

@ -11,12 +11,12 @@
- `GET /healthz`
- `POST /api/instances/register`
- `POST /api/instances/resolve`
- `POST /api/instances/configure-provider`
- `DELETE /api/instances/{instance_id}`
## 关键环境变量
- `DEPLOY_CONTROL_API_TOKEN`
- `APP_INSTANCE_API_KEY`
- `DEFAULT_AUTHZ_BASE_URL`
- `DEFAULT_AUTHZ_OUTLOOK_MCP_URL`
- `DEFAULT_OUTLOOK_MCP_SERVER_ID`
@ -27,7 +27,7 @@
建议直接参考:
- [`.env.example`](/home/ivan/xuan/nano_project/deploy-control/.env.example)
- [`.env.example`](/home/ivan/xuan/beaver_project/deploy-control/.env.example)
默认实例 URL 形如:
@ -49,7 +49,7 @@ DEFAULT_OUTLOOK_MCP_SERVER_ID=outlook_mcp
## 本机启动
```bash
cd /home/ivan/xuan/nano_project/deploy-control
cd /home/ivan/xuan/beaver_project/deploy-control
uv run server.py
```
@ -58,8 +58,8 @@ uv run server.py
如果要容器化运行,需要挂载:
- Docker socket`/var/run/docker.sock`
- `/home/ivan/xuan/nano_project/app-instance`
- `/home/ivan/xuan/nano_project/router-proxy`
- `/home/ivan/xuan/beaver_project/app-instance`
- `/home/ivan/xuan/beaver_project/router-proxy`
并传入对应环境变量,让容器内脚本路径仍能访问这两个目录。
@ -72,20 +72,21 @@ uv run server.py
```bash
docker run -d \
--name nano-deploy-control \
--name beaver-deploy-control \
--restart unless-stopped \
--network nano-instance-edge \
--network beaver-instance-edge \
-p 8090:8090 \
-v /var/run/docker.sock:/var/run/docker.sock \
-v /home/ivan/xuan/nano_project/app-instance:/home/ivan/xuan/nano_project/app-instance \
-v /home/ivan/xuan/nano_project/router-proxy:/home/ivan/xuan/nano_project/router-proxy \
-e APP_INSTANCE_DIR=/home/ivan/xuan/nano_project/app-instance \
-e ROUTER_PROXY_DIR=/home/ivan/xuan/nano_project/router-proxy \
-v /home/ivan/xuan/beaver_project/app-instance:/home/ivan/xuan/beaver_project/app-instance \
-v /home/ivan/xuan/beaver_project/router-proxy:/home/ivan/xuan/beaver_project/router-proxy \
-e APP_INSTANCE_DIR=/home/ivan/xuan/beaver_project/app-instance \
-e ROUTER_PROXY_DIR=/home/ivan/xuan/beaver_project/router-proxy \
-e DEPLOY_CONTROL_API_TOKEN=change-me \
-e APP_INSTANCE_IMAGE=nano/app-instance:latest \
-e APP_INSTANCE_NETWORK_NAME=nano-instance-edge \
-e APP_INSTANCE_API_KEY=sk-xxxxxxxx \
nano/deploy-control:latest
-e APP_INSTANCE_IMAGE=beaver/app-instance:latest \
-e APP_INSTANCE_NETWORK_NAME=beaver-instance-edge \
beaver/deploy-control:latest
```
如果这里错把宿主机目录映射成容器内的另一个短路径,例如 `/app-instance`,那么 `deploy-control` 通过 Docker socket 创建实例时会把错误路径传给 Docker最终导致实例容器拿不到 `config.json` 并持续重启。
新实例注册时不会写入模型 provider/API key。注册后由 `auth-portal` 引导页调用 `POST /api/instances/configure-provider`,在用户确认后写入该实例配置并重启实例容器。