# clawserver **Repository Path**: teachitback/clawserver ## Basic Information - **Project Name**: clawserver - **Description**: claw server claw app clawserver for clawdroid,clawios - **Primary Language**: JavaScript - **License**: BSL-1.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-01-30 - **Last Updated**: 2026-04-05 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # clawserver - TeachItBack Learning Assistant (Pure Zenoh Mode) 基于 OpenClaw 技能系统的 AI 学习助手,专注于教与学场景的智能辅助。 ## 架构说明 **ClawServer 现在运行在纯 Zenoh 主题模式,不提供 HTTP API。** 所有通信都通过 Zenoh 主题进行: - **UI2A (User Interface to Application)**: 客户端发送请求到服务端 - **A2UI (Application to User Interface)**: 服务端推送事件到客户端 ## 功能特性 - **技能系统架构**: 基于 OpenClaw 的模块化技能设计 - **Gitee 集成**: 支持国内代码仓库管理 - **火山方舟 LLM**: 集成 Doubao/Spark/Qwen 等国产大模型 - **Zenoh P2P 通信**: 支持移动端与本地服务的直连(peer模式) - **学习辅助**: 专注教与学场景的智能辅助功能 - **进化系统**: AI驱动的功能演进和需求管理 ## Zenoh 主题 ### UI to Application (UI2A) #### Unified Request Endpoint (Primary) ``` ui2a/tib/{user_id}/request - 统一请求入口(处理 chat/command/query/upload/download) ``` **Request Format:** ```json { "type": "chat" | "command" | "query" | "upload" | "download", "action": "send_message" | "Space.Create" | "list_spaces", "payload": {...}, "client_message_id": "uuid", "timestamp": 1234567890 } ``` **Response Format:** ```json { "success": true, "client_message_id": "uuid", "data": [...] | {...} | null, "error": null | "message", "pagination": {...} | null } ``` #### Connection Management ``` ui2a/tib/{user_id}/handshake - 握手和健康检查 ``` ### Application to UI (A2UI) ``` a2ui/tib/{user_id}/event - 事件推送(AI 事件、进化系统事件等) ``` ## 快速启动 ### 步骤1:安装依赖 ```bash # 进入项目目录 cd d:/git/teachitback/clawserver # 安装依赖 pip install -e . # 或安装包含开发依赖的版本 pip install -e ".[dev]" ``` ### 步骤2:配置环境变量 编辑 `.env` 文件,确保包含以下关键配置: ```bash # AI API密钥(必须配置至少一个) HUO_SHAN_API_KEY=your_huoshan_api_key_here DEEPSEEK_API_KEY=your_deepseek_api_key_here # 可选:存储配置 GITEE_ACCESS_TOKEN=your_gitee_token_here ``` ### 步骤3:启动服务 ```bash # 进入项目目录 cd d:/git/teachitback/clawserver/ # 启动服务 python -m clawserver.main ``` ## 客户端连接 ### ClawWeb (Web界面) ```bash # 在另一个终端启动 ClawWeb cd d:/git/teachitback/clawweb python -m clawweb.main ``` 然后访问: http://localhost:8001 ### ClawDroid (Android) 确保设备在同一网络,ClawDroid 会自动连接到 Zenoh 主题。 ### 任何 ZMF 客户端 ```python from zeromileframework import client_builder # 创建 ZMF 客户端 zmf = client_builder().config("path/to/config.yaml").build() # 发送查询 responses = zmf.query( "ui2a/tib/dev-user-001/query", json.dumps({"type": "list_spaces"}) ) ``` ## 项目结构 ``` clawserver/ ├── config/ # 配置文件(parties, spaces, objects等) ├── src/clawserver/ │ ├── domain/ # 领域层(业务逻辑) │ ├── gateway/ # 网关层(Zenoh主题处理) │ ├── infrastructure/ # 基础设施层(数据库、组件) │ ├── llm/ # LLM提供者 │ ├── models/ # 数据模型 │ ├── skills/ # 技能系统 │ ├── tools/ # 工具系统 │ └── main.py # 入口文件 └── pyproject.toml # 项目配置 ``` ## 依赖说明 移除了以下依赖(不再需要): - `fastapi` - HTTP API 已移除 - `uvicorn` - Web服务器已移除 - `python-multipart` - 文件上传已移除 保留的核心依赖: - `eclipse-zenoh` - Zenoh通信 - `pydantic` - 数据验证 - `sqlalchemy` - 数据库ORM - `openai` - LLM接口 - 其他业务相关依赖 ## 开发指南 ### 添加新的查询处理器 1. 在 `src/clawserver/domain/usecases/querysystem/` 创建处理器 2. 在 `QueryRouter` 中注册 3. 通过 `ui2a/tib/{user_id}/query` 主题访问 ### 添加新的服务 1. 创建服务类并实现 ZMF Service 接口 2. 在 `main.py` 中注册服务 3. 通过 Zenoh 主题提供服务 ## 故障排除 ### 服务无法启动 - 检查端口 7448 是否被占用 - 检查 `config/config.yaml` 配置是否正确 ### 客户端无法连接 - 确保服务已启动 - 检查网络连接 - 确认 user_id 配置一致 ## 许可证 [待添加]