feat(agents): Phase 7-10 API endpoints for hooks, plugins, skills, sessions

This commit is contained in:
2026-04-04 23:13:47 +08:00
parent a3fe4d24fc
commit 88955ed550
10 changed files with 973 additions and 31 deletions

View File

@@ -93,9 +93,13 @@
### 7.5 API
- [ ] POST `/api/hooks/config` — 更新 Hook 配置
- [ ] GET `/api/hooks/config` — 获取 Hook 配置
- [ ] GET `/api/hooks/available` — 列出可用 Hook
- [x] POST `/api/hooks/config` — 更新 Hook 配置
- [x] GET `/api/hooks/config` — 获取 Hook 配置
- [x] GET `/api/hooks/available` — 列出可用 Hook
- [x] POST `/api/hooks/{name}/enable` — 启用 Hook
- [x] POST `/api/hooks/{name}/disable` — 禁用 Hook
- [x] POST `/api/hooks/register-builtin` — 注册内置 Hook
- [x] GET `/api/hooks/status` — 获取 Hook 状态
### 7.6 测试
@@ -143,9 +147,9 @@
### 8.4 插件市场
- [ ] 创建 `backend/app/services/plugin_marketplace.py` — PluginMarketplace
- [ ] 实现 search()
- [ ] 实现 get_plugin()
- [x] 创建内存版 PluginMarketplace (in-memory)
- [x] 实现 search() — GET `/api/marketplace/plugins`
- [x] 实现 get_plugin() — GET `/api/marketplace/plugins/{id}`
- [ ] 实现 download_plugin()
### 8.5 内置插件
@@ -157,12 +161,13 @@
### 8.6 API
- [ ] GET `/api/plugins` — 列出插件
- [ ] POST `/api/plugins/install` — 安装插件
- [ ] POST `/api/plugins/{id}/enable` — 启用插件
- [ ] POST `/api/plugins/{id}/disable` — 禁用插件
- [ ] DELETE `/api/plugins/{id}` — 卸载插件
- [ ] GET `/api/marketplace/plugins` — 搜索市场
- [x] GET `/api/plugins` — 列出插件
- [x] POST `/api/plugins/install` — 安装插件
- [x] POST `/api/plugins/{id}/enable` — 启用插件
- [x] POST `/api/plugins/{id}/disable` — 禁用插件
- [x] DELETE `/api/plugins/{id}` — 卸载插件
- [x] POST `/api/plugins/{id}/reload` — 重新加载插件
- [x] GET `/api/marketplace/plugins` — 搜索市场
### 8.7 测试
@@ -224,9 +229,14 @@
### 9.6 API
- [ ] GET `/api/skills` — 列出 Skills
- [ ] GET `/api/skills/search` — 搜索 Skills
- [ ] GET `/api/skills/{name}` — 获取 Skill 详情
- [x] GET `/api/agent/skills` — 列出 Skills
- [x] GET `/api/agent/skills/search?query=` — 搜索 Skills
- [x] GET `/api/agent/skills/{name}` — 获取 Skill 详情
- [x] POST `/api/agent/skills/{name}/enable` — 启用 Skill
- [x] POST `/api/agent/skills/{name}/disable` — 禁用 Skill
- [x] POST `/api/agent/skills/reload` — 重新加载 Skills
- [x] GET `/api/agent/skills/{name}/context` — 获取 Skill 上下文
- [x] POST `/api/agent/skills/context/batch` — 批量获取 Skill 上下文
### 9.7 测试
@@ -252,7 +262,7 @@
- [x] 创建 `backend/app/agents/team/leader.py` — TeamLeader
- [ ] 创建 `backend/app/agents/team/member.py` — TeamMember
- [ ] 创建 `backend/app/agents/team/task.py` — TeamTask
- [x] TeamTask 已内置在 leader.py
- [x] 实现 create_team()
- [x] 实现 assign_task()
- [x] 实现 broadcast_task()
@@ -270,14 +280,14 @@
### 10.3 高级会话管理
- [ ] 创建 `backend/app/agents/session/manager.py` — AgentSession
- [ ] 创建 `backend/app/agents/session/context.py` — SessionContext
- [ ] 创建 `backend/app/agents/session/persistence.py` — SessionPersistence
- [ ] 实现 initialize()
- [ ] 实现 process_message()
- [ ] 实现 spawn_child_session()
- [ ] 实现 get_session_summary()
- [ ] 实现 persist()
- [x] 创建 `backend/app/agents/session/manager.py` — AgentSession
- [x] 创建 SessionContext (内置于 manager.py)
- [x] 创建 SessionPersistence (内置于 manager.py)
- [x] 实现 initialize()
- [x] 实现 process_message()
- [x] 实现 spawn_child_session()
- [x] 实现 get_session_summary()
- [x] 实现 persist()
### 10.4 后台任务系统
@@ -295,7 +305,18 @@
- [ ] Team 协作与现有 graph 集成
- [ ] 远程传输与现有 service 集成
### 10.6 测试
### 10.6 API
- [x] POST `/api/agent/sessions` — 创建会话
- [x] GET `/api/agent/sessions/{id}` — 获取会话信息
- [x] POST `/api/agent/sessions/{id}/message` — 处理消息
- [x] POST `/api/agent/sessions/{id}/spawn` — 创建子会话
- [x] GET `/api/agent/sessions/{id}/history` — 获取会话历史
- [x] POST `/api/agent/sessions/{id}/persist` — 持久化会话
- [x] POST `/api/agent/sessions/{id}/metadata` — 设置会话元数据
- [x] GET `/api/agent/sessions/{id}/metadata/{key}` — 获取会话元数据
### 10.7 测试
- [ ] 测试: Team 创建/分配/收集/状态
- [ ] 测试: 会话层级/持久化/子会话
@@ -308,9 +329,9 @@
- [x] 能收集和聚合多成员的结果
- [ ] 支持结构化的输入输出格式
- [x] 支持远程 Agent 通信
- [ ] 支持复杂的会话层级和状态管理
- [x] 支持复杂的会话层级和状态管理
- [x] 支持定时和异步后台任务
- [ ] 支持从父会话创建子会话
- [x] 支持从父会话创建子会话
---