refactor(kb-workflow): 重构为真正的编排者,使用sessions_spawn调用子agent
- kb_workflow.py: 重构为编排者,使用sessions_spawn调用子技能 - skill_main.py: 新增技能入口,处理用户消息 - SKILL.md: 更新文档,明确架构和流程 - SkillBug.md: 新增问题记录文档 设计原则: - workflow不读文件内容,从文件名提取平台 - 使用sessions_spawn调用子agent - 子技能自己定义输入输出格式
This commit is contained in:
@@ -0,0 +1,99 @@
|
||||
# SkillBug.md
|
||||
|
||||
## 问题记录
|
||||
|
||||
### 2026-02-10: 缺少自动写入pending目录的功能
|
||||
|
||||
**状态:** ✅ 已修复
|
||||
|
||||
**解决方案:**
|
||||
1. 创建 `skill_main.py` 作为技能入口
|
||||
2. 创建 `kb_workflow.py` 实现完整流程
|
||||
3. 接收用户消息后自动处理
|
||||
|
||||
---
|
||||
|
||||
### 2026-02-10: kb-workflow 自己实现链接解析而非调用子技能
|
||||
|
||||
**状态:** ✅ 已修复
|
||||
|
||||
**解决方案:**
|
||||
重构 `kb_workflow.py`:
|
||||
1. 使用 `sessions_spawn` 调用子agent
|
||||
2. 不自己实现链接解析,调用 `kb-link-parser`
|
||||
3. 从文件名提取平台(不读内容)
|
||||
|
||||
```python
|
||||
# 调用子agent
|
||||
result = sessions_spawn(
|
||||
agentId="kb-link-parser",
|
||||
task="解析URL,输出到pending目录"
|
||||
)
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
### 2026-02-10: _extract_metadata 是空壳
|
||||
|
||||
**状态:** ✅ 已修复
|
||||
|
||||
**解决方案:**
|
||||
实现真正的子agent调用:
|
||||
```python
|
||||
def call_metadata_agent(platform, link_file, metadata_dir):
|
||||
agent_id = METADATA_AGENTS.get(platform) # bilibili → kb-bilibili-metadata
|
||||
return call_subagent(agent_id, task, timeout=120)
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 重构总结
|
||||
|
||||
### 架构变化
|
||||
|
||||
**之前(错误):**
|
||||
```
|
||||
kb_workflow.py (自己造轮子)
|
||||
├── _extract_link() - 自己解析URL
|
||||
├── _extract_metadata() - 空壳
|
||||
```
|
||||
|
||||
**之后(正确):**
|
||||
```
|
||||
kb-workflow (主代理)
|
||||
├── sessions_spawn() 调用子agent
|
||||
│ ├── kb-link-parser → pending/*.link.json
|
||||
│ ├── kb-bilibili-metadata → metadata/*.meta.json
|
||||
│ ├── kb-bilibili-content → content/downloads/*.mp4
|
||||
│ ├── kb-ocr-processor → content/*.txt
|
||||
│ └── kb-deep-analyzer → analyzed/*.md
|
||||
└── 文件流转 + Git归档
|
||||
```
|
||||
|
||||
### 设计原则
|
||||
|
||||
| workflow 管 | workflow 不管 |
|
||||
|-------------|---------------|
|
||||
| 查重 | 读文件内容 |
|
||||
| 调用子agent | 子技能内部格式 |
|
||||
| 提取文件名(从返回结果) | 子技能逻辑 |
|
||||
| 提取平台(从文件名) | |
|
||||
| 传递路径信息 | |
|
||||
| Git归档 | |
|
||||
|
||||
### 文件变更
|
||||
|
||||
| 文件 | 操作 | 说明 |
|
||||
|------|------|------|
|
||||
| `kb_workflow.py` | 重构 | 使用 sessions_spawn 调用子agent |
|
||||
| `skill_main.py` | 新增 | 技能入口 |
|
||||
| `SKILL.md` | 更新 | 明确架构和流程 |
|
||||
|
||||
---
|
||||
|
||||
## 待办
|
||||
|
||||
- [ ] 测试完整的处理流程
|
||||
- [ ] 验证 sessions_spawn 调用是否正常
|
||||
- [ ] 完善错误处理
|
||||
- [ ] 添加单元测试
|
||||
Reference in New Issue
Block a user