qwen_agent/.features/skill/decisions/001-architecture.md
autobee-sparticle 18bf296aa0
feat: move enable_thinking control from docker-compose to request body (#21)
* add page number

* feat: add skill feature memory

添加 skill 功能的 feature memory,记录技能包管理服务和 Hook 系统的核心信息。

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>

* feat(skill): add feature memory with changelog and decisions

添加 skill 功能的完整记忆文档:

Changelog:
- 2025-Q4: 初始实现 (GRPC 层 + 内置 skills)
- 2026-Q1: API 完善 (REST API + Hook 系统)

Design Decisions:
- 001: Skill 架构设计 (目录结构、Hook 系统)
- 002: 上传安全措施 (ZipSlip、路径遍历防护)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>

* soffice sharp 支持

* shell_env support

* feat: move enable_thinking control from docker-compose to request body

Remove DEFAULT_THINKING_ENABLE environment variable from docker-compose
and settings.py. The enable_thinking flag is now solely controlled via
request body (default: false), as felo-mygpt already passes this config
from RobotConfig database.

Closes sparticleinc/felo-mygpt#2473

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>

---------

Co-authored-by: 朱潮 <zhuchaowe@users.noreply.github.com>
Co-authored-by: Claude Opus 4.5 <noreply@anthropic.com>
Co-authored-by: zhuchao <zhuchaowe@163.com>
2026-03-26 20:12:39 +09:00

1.3 KiB
Raw Blame History

001: Skill 架构设计

状态

已采纳 (Accepted)

上下文

需要为 QWEN_AGENT 模式的机器人提供可扩展的技能(插件/工具)支持,允许动态加载自定义功能。

决策

目录结构设计

skill-name/
├── SKILL.md                    # 核心指令文档(必需)
├── skill.yaml                  # 元数据配置(可选)
├── .claude-plugin/
│   └── plugin.json            # Hook 和 MCP 配置(可选)
└── scripts/                    # 可执行脚本(可选)

Hook 系统

Hook 类型 执行时机 用途
PrePrompt system_prompt 加载时 动态注入用户上下文
PostAgent agent 执行后 处理响应结果
PreSave 保存消息前 内容过滤/修改

技能来源

  1. 官方 skills: ./skills/ 目录
  2. 用户 skills: projects/uploads/{bot_id}/skills/

结果

正面影响

  • 渐进式加载,按需读取
  • 支持多种元数据格式(优先级: plugin.json > SKILL.md
  • 完整的 Hook 扩展机制
  • MCP 服<><E69C8D><EFBFBD>器配置支持

负面影响

  • 需要管理文件系统权限
  • 技能包格式验证复杂度增加

替代方案

  1. 使用数据库存储(拒绝:文件更灵活)
  2. 仅支持单一格式(拒绝:用户多样性需求)