Phase 6.1: ToolRegistry infrastructure - Add ToolManifest with ToolCategory, PermissionClass, SideEffectScope - Add ToolRegistry singleton with register/get/unregister/list/search - Add BaseTool abstract class with ReadTool/WriteTool/DBWriteTool/ExternalTool/NetworkTool subclasses - Add migration layer for backward compatibility Phase 6.2: Hook interception system - Add HookType (PRE_TOOL_USE, POST_TOOL_USE, TOOL_ERROR, TOOL_SKIP) - Add HookManager with singleton for hook registration - Add HookExecutor for pre/post/error hook execution Phase 6.3: Streaming execution - Add StreamingToolExecutor with batch execution support Phase 6.4: New builtin tools - Add file_tools: GlobTool, GrepTool, ReadFileTool, WriteFileTool - Add system_tools: BashTool, PowerShellTool - Add dev_tools: LSPTools, GitTool - Add collaboration_tools: TeamAgentTool, TaskBroadcastTool Tests: 29 passed
Jarvis Backend
快速开始
1. 安装依赖
cd backend
uv sync
2. 配置环境变量
cd ..
cp backend/.env.example .env
# 编辑项目根目录 .env
3. 启动开发服务器
uv run uvicorn app.main:app --reload --host "$HOST" --port "$PORT"
4. API 文档
启动后访问 http://<HOST>:<PORT>/docs 查看交互式 API 文档(以项目根目录 .env 中的 HOST 和 PORT 为准)。
环境变量
见 .env.example
数据库
SQLite 数据库位于 ./data/jarvis.db,首次启动自动创建表。