e370b6b39f
- SKILL.md: 重写为详细workflow指导,主代理直接读取执行 - kb_workflow.py: 简化为辅助工具函数库 - skill_main.py: 简化为触发检测入口 - SkillBug.md: 记录架构变更 主代理读取SKILL.md后,按照指导调用sessions_spawn,无需配置allowlist
77 lines
1.8 KiB
Markdown
77 lines
1.8 KiB
Markdown
# SkillBug.md
|
||
|
||
## 问题记录
|
||
|
||
### 2026-02-10: 子代理权限问题
|
||
|
||
**问题:** `sessions_spawn` 调用子代理时返回 `forbidden` 错误。
|
||
|
||
**原因:** OpenClaw 配置中 allowlist 为空,Python 脚本没有权限调用子代理。
|
||
|
||
**解决方案:** 改用 Prompt-based 模式(方案B)。
|
||
|
||
---
|
||
|
||
## 架构重构
|
||
|
||
### 之前(Script-based)
|
||
|
||
```
|
||
kb_workflow.py (Python脚本)
|
||
↓
|
||
sessions_spawn() # ❌ 失败(脚本没有权限)
|
||
```
|
||
|
||
### 之后(Prompt-based)
|
||
|
||
```
|
||
主代理读取 SKILL.md
|
||
↓
|
||
按照指导调用 sessions_spawn # ✅ 成功(主代理有权限)
|
||
```
|
||
|
||
### 文件变更
|
||
|
||
| 文件 | 变更 | 说明 |
|
||
|------|------|------|
|
||
| `SKILL.md` | 重写 | 详细定义 workflow 步骤,主代理直接读取执行 |
|
||
| `kb_workflow.py` | 简化 | 保留为辅助工具函数库(查重、归档、Git) |
|
||
| `skill_main.py` | 简化 | 只做触发检测,返回指导信息 |
|
||
| `SkillBug.md` | 更新 | 记录架构变更 |
|
||
|
||
### SKILL.md 结构
|
||
|
||
```
|
||
1. 触发条件
|
||
2. 步骤 1: 查重
|
||
3. 步骤 2: kb-link-parser
|
||
4. 步骤 3: 元数据技能
|
||
5. 步骤 4: 内容下载
|
||
6. 步骤 5: OCR(30分钟超时)
|
||
7. 步骤 6: 深度分析
|
||
8. 步骤 7: 归档和 Git
|
||
9. 步骤 8: 汇报完成
|
||
10. 目录结构
|
||
11. 支持平台
|
||
12. 注意事项
|
||
```
|
||
|
||
### kb_workflow.py 保留的函数
|
||
|
||
```python
|
||
extract_platform(filename) # 从文件名提取平台
|
||
extract_base_name(filename) # 从文件名提取基础名称
|
||
get_knowledge_base_path() # 获取知识库根目录
|
||
ensure_directories(base_path) # 确保目录存在
|
||
check_duplicate(url) # 查重
|
||
archive_and_git(analyzed_file) # 归档和 Git
|
||
generate_summary(...) # 生成汇报
|
||
```
|
||
|
||
---
|
||
|
||
## 待办
|
||
|
||
- [ ] 测试 Prompt-based 模式是否正常工作
|
||
- [ ] 验证主代理能否正确执行 SKILL.md 中的步骤
|