初始提交: Qihu-AIFlow v2.0.1 完整项目
- 前端 React+TypeScript (源码+构建产物) - 后端 Python FastAPI - 数据库迁移 001-015 - Docker部署配置 - 微信ClawBot API频道绑定 - 项目文档 README.md
This commit is contained in:
commit
78ff261b5a
199 files changed
+69126
No files matched your search
@@ -0,0 +1,528 @@
|
||||
# AI自进化功能模块 - 产品需求文档(PRD)
|
||||
|
||||
---
|
||||
|
||||
## 1. 概述(Summary)
|
||||
|
||||
本文档为Qihu-AIFlow平台「AI自进化」功能模块的产品需求文档。该模块深度整合开源项目xSkill(https://github.com/SkillNerds/xskill)的自进化技能库引擎,让每个用户的AI在对话过程中持续学习、自动提炼技能、灰度验证后优胜劣汰,形成用户专属的AI能力体系。该功能被用户形象地称为「养龙虾」——在平台内培养不断进化的AI。
|
||||
|
||||
---
|
||||
|
||||
## 2. 联系人(Contacts)
|
||||
|
||||
| 姓名 | 角色 | 备注 |
|
||||
|------|------|------|
|
||||
| 项目负责人 | Team Lead | 项目整体规划与协调决策 |
|
||||
| 产品经理 | Product Manager | PRD撰写、需求分析与产品设计 |
|
||||
| UI设计师 | UI Designer | AI进化驾驶舱UI视觉设计 |
|
||||
| 开发工程师 | Developer | xSkill后端整合 + 驾驶舱前端开发 |
|
||||
| 测试工程师 | QA Engineer | 技能进化链路测试、数据隔离验证 |
|
||||
|
||||
---
|
||||
|
||||
## 3. 背景(Background)
|
||||
|
||||
### 3.1 业务背景
|
||||
|
||||
当前AI平台的对话能力是「静态」的——用户每次与AI互动,AI以同样的方式响应,不会从历史对话中学习成长。这意味着:
|
||||
- 用户重复遇到相似问题时,AI每次都从零开始理解和处理
|
||||
- 用户无法将自己在特定领域的成功经验「固化」为可复用的技能
|
||||
- 平台的AI能力不会随着使用深度而个性化升级
|
||||
- 竞品在AI自进化领域尚未形成标准方案,这是差异化突破口
|
||||
|
||||
### 3.2 时机分析
|
||||
|
||||
- **xSkill框架成熟**:xSkill已在PyPI发布(v0.5.2),提供完整的「轨迹→原子任务→技能聚类→技能生成→灰度验证」流水线
|
||||
- **技术可行性已验证**:xSkill使用dulwich纯Python实现git版本管理,每个Skill独立仓库,支持baby/main/staging三态分支
|
||||
- **用户需求明确**:用户希望拥有「越用越聪明」的AI助理,与平台的SaaS+PaaS定位高度契合
|
||||
- **与现有平台无缝衔接**:自进化引擎在后台默默运行,无需另设AI聊天窗口,前端仅需增加进化驾驶舱看板
|
||||
|
||||
### 3.3 技术依托
|
||||
|
||||
- **xSkill开源框架**:核心流水线引擎,负责对话轨迹分析、原子任务拆分、技能聚类、技能生成、灰度验证
|
||||
- **xSkill核心架构**:
|
||||
- `XSkill` 顶层门面:持 config + registry + skill_repo,提供 search/serve/score_trajectory_ux
|
||||
- `DirectoryWatcher` 流水线监听器:discovered → splitting → split_done → indexed → clustering → done
|
||||
- `TaskAgent`:从轨迹拆分AtomTask(用户意图最小单元)
|
||||
- `TaskClusterAgent`:将AtomTask智能聚类到已存在或新Skill
|
||||
- `SkillEditAgent`:基于candidates buffer生成/更新SKILL.md
|
||||
- `AtomCanary`:灰度系统,A/B测试新Skill版本,按UX评分优胜劣汰
|
||||
- `SkillRepo`:每个Skill独立git仓库(baby→main→staging分支)管理版本
|
||||
|
||||
---
|
||||
|
||||
## 4. 目标与关键成果(Objective & Key Results)
|
||||
|
||||
### 4.1 产品目标
|
||||
|
||||
为Qihu-AIFlow平台每个用户提供**专属的AI自进化引擎**,AI在对话过程中自动学习、提炼技能、持续进化,最终形成用户独一无二的AI能力体系。前端通过「AI进化驾驶舱」直观展示进化过程和成果。
|
||||
|
||||
### 4.2 关键成果(OKR)
|
||||
|
||||
| 编号 | 关键结果 | 衡量标准 |
|
||||
|------|----------|----------|
|
||||
| KR1 | xSkill引擎成功整合至平台后端 | 对话轨迹可自动进入xSkill流水线处理 |
|
||||
| KR2 | 每个用户拥有独立进化空间 | 技能仓库、向量索引、对话轨迹按user_id完全隔离 |
|
||||
| KR3 | AI进化驾驶舱看板上线 | 技能图谱/进化时间线/使用统计/能力画像四个面板可用 |
|
||||
| KR4 | 进化引擎持续运行 | 用户注册后自动启动,全程无感持续进化 |
|
||||
| KR5 | 技能可手动管理 | 用户可查看、编辑、删除、冻结已生成的Skill |
|
||||
|
||||
---
|
||||
|
||||
## 5. 市场细分(Market Segments)
|
||||
|
||||
### 5.1 目标用户场景
|
||||
|
||||
| 用户类型 | 进化需求 | 典型场景 |
|
||||
|----------|----------|----------|
|
||||
| **职场个人用户** | AI越用越懂自己的工作流 | 逐步习得用户的报告风格、数据处理习惯、邮件模板偏好 |
|
||||
| **副业创收个人** | AI掌握自媒体运营技能 | 积累不同类型内容的创作SOP、平台发布规则、SEO技巧 |
|
||||
| **小微企业商家** | AI理解企业的业务流程 | 学习内部审批流、客户沟通风格、行业术语库 |
|
||||
| **AI深度使用者** | 培养专属AI能力体系 | 持续优化AI在特定领域(编程/写作/设计)的输出质量 |
|
||||
|
||||
### 5.2 用户约束
|
||||
|
||||
- 进化过程应对用户透明,不干扰正常对话
|
||||
- 用户应能随时查看进化成果,但不能感到被「监控」
|
||||
- 技能数据完全私有,不能跨用户共享或泄露
|
||||
- 系统默认持续进化,用户无需任何操作即可享受AI成长
|
||||
|
||||
---
|
||||
|
||||
## 6. 价值主张(Value Propositions)
|
||||
|
||||
### 6.1 核心价值
|
||||
|
||||
| 用户需求 | 平台方案 |
|
||||
|----------|----------|
|
||||
| 希望AI能记住并复用成功经验 | xSkill自动分析对话,提取成功模式固化为Skill |
|
||||
| 希望直观看到AI的成长 | AI进化驾驶舱:技能树/时间线/统计/能力画像 |
|
||||
| 不希望额外操作 | 后台全自动运行,系统默认持续进化,用户无需任何设置 |
|
||||
| 需要控制权 | 技能管理(查看/编辑/删除/冻结),系统自动进化无需手动干预 |
|
||||
| 数据安全不容妥协 | 每个用户独立xSkill实例和向量空间,完全物理隔离 |
|
||||
|
||||
### 6.2 差异化竞争优势
|
||||
|
||||
- **「养龙虾」独特体验**:行业首创的AI进化可视化看板,让用户直观感受AI成长
|
||||
- **xSkill成熟引擎背书**:基于开源xSkill框架,流水线架构经过验证,非从零研发
|
||||
- **全自动零打扰**:后台默默运行,用户只需聊天,AI自动进化
|
||||
- **灰度验证机制**:新Skill经过A/B测试才能合入主干,确保进化质量
|
||||
- **个人专属AI画像**:每位用户拥有独特的技能图谱和能力标签
|
||||
|
||||
---
|
||||
|
||||
## 7. 解决方案(Solution)
|
||||
|
||||
### 7.1 系统架构图
|
||||
|
||||
```
|
||||
┌─────────────────────────────────────────────────────────────────────┐
|
||||
│ 前台 - 用户侧 │
|
||||
│ ┌──────────┐ ┌──────────┐ ┌──────────┐ ┌─────────────────────┐ │
|
||||
│ │ AI聊天 │ │ 频道 │ │ 知识库 │ │ AI进化驾驶舱 🆕 │ │
|
||||
│ │ │ │ │ │ │ │ │ │
|
||||
│ │ 对话产生 │ │ │ │ │ │ · 技能图谱/树 │ │
|
||||
│ │ 轨迹数据 │ │ │ │ │ │ · 进化时间线 │ │
|
||||
│ │ ↓ │ │ │ │ │ │ · 技能使用统计 │ │
|
||||
│ │ 自动进化 │ │ │ │ │ │ · AI能力画像 │ │
|
||||
│ │ 持续运行 │ │ │ │ │ │ · 技能库管理 │ │
|
||||
│ └──────────┘ └──────────┘ └──────────┘ └─────────────────────┘ │
|
||||
└─────────────────────────────────────────────────────────────────────┘
|
||||
│
|
||||
▼
|
||||
┌─────────────────────────────────────────────────────────────────────┐
|
||||
│ 后端 - xSkill进化引擎 │
|
||||
│ │
|
||||
│ 用户对话 ──→ Trajectory(轨迹).md 文件 │
|
||||
│ │ │
|
||||
│ ▼ │
|
||||
│ TaskAgent ──→ AtomTask(原子任务)拆分 │
|
||||
│ │ │
|
||||
│ ▼ │
|
||||
│ Embedding + 向量索引 ──→ index.pkl │
|
||||
│ │ │
|
||||
│ ▼ │
|
||||
│ TaskClusterAgent ──→ 归类到已有Skill / 新建Skill │
|
||||
│ │ │
|
||||
│ ▼ │
|
||||
│ Candidates Buffer ──→ weightscore ≥ 10 触发 │
|
||||
│ │ │
|
||||
│ ▼ │
|
||||
│ SkillEditAgent ──→ 生成/更新 SKILL.md + scripts/references │
|
||||
│ │ │
|
||||
│ ▼ │
|
||||
│ Git版本管理 baby → main → staging │
|
||||
│ │ │
|
||||
│ ▼ │
|
||||
│ AtomCanary ──→ A/B灰度验证 → promote/reject/timeout_discard │
|
||||
│ │
|
||||
│ 每个用户独立的xSkill实例 + 独立skill仓库 + 独立向量空间 │
|
||||
└─────────────────────────────────────────────────────────────────────┘
|
||||
```
|
||||
|
||||
### 7.2 核心功能详细说明
|
||||
|
||||
---
|
||||
|
||||
#### 功能一:默认全局持续进化
|
||||
|
||||
| 功能点 | 详细描述 |
|
||||
|--------|----------|
|
||||
| **设计理念** | 系统默认全局开启自进化,用户注册后立即启动,无需手动操作。进化引擎在后台持续运行,用户AI越用越聪明 |
|
||||
| **启动时机** | 用户完成注册后,进化引擎自动初始化(创建独立skill仓库、初始化xSkill watcher线程),全程无需用户干预 |
|
||||
| **持续运行** | 用户的每次AI对话结束时,对话记录自动提交至本用户的xSkill流水线进行分析,7x24持续进化 |
|
||||
| **隐私保障** | AI进化驾驶舱首页展示:「进化数据仅属于你,完全私有,不会与任何人分享」。所有进化数据物理隔离存储 |
|
||||
| **不可关闭** | 进化是平台核心能力,不可手动关闭。用户可在驾驶舱中管理(查看/编辑/删除/冻结)已生成的技能,但不能停止进化引擎本身 |
|
||||
|
||||
#### 功能二:对话自动分析(xSkill流水线整合)
|
||||
|
||||
| 功能点 | 详细描述 |
|
||||
|--------|----------|
|
||||
| **触发时机** | 每次AI对话会话结束时自动触发;或当对话累计达到一定轮数(如10轮)时增量触发 |
|
||||
| **轨迹标准化** | 将平台AI聊天记录标准化为xSkill兼容的`.md`轨迹格式,包含`## User`/`## Assistant`轮次标记 |
|
||||
| **流水线处理** | 轨迹进入xSkill `DirectoryWatcher`流水线:discovered → splitting → split_done → indexed → clustering → done |
|
||||
| **原子任务拆分** | `TaskAgent`按用户意图切换点将对话拆分为多个`AtomTask`(每个AtomTask包含1-10轮对话) |
|
||||
| **向量索引** | 对每个AtomTask的summary/intent做embedding,存入用户独立的`index.pkl`向量索引 |
|
||||
| **技能聚类** | `TaskClusterAgent`遍历新AtomTask,通过向量相似度搜索定位已有Skill,将原子任务归类到最匹配的Skill的候选缓冲区(candidates buffer) |
|
||||
| **资源控制** | 每个用户的xSkill watcher线程独立运行,使用用户专属的LLM API密钥进行分析调用 |
|
||||
| **失败重试** | 单次原子任务聚类失败不阻塞整条轨迹,失败原子任务在下一轮watcher扫描时自动重试(最多3次) |
|
||||
|
||||
#### 功能三:技能库管理
|
||||
|
||||
| 功能点 | 详细描述 |
|
||||
|--------|----------|
|
||||
| **技能列表** | 在AI进化驾驶舱中展示用户所有已生成的Skill列表,支持按名称/标签/创建时间搜索和排序 |
|
||||
| **技能详情** | 点击Skill名称查看完整SKILL.md内容,包括:名称、描述、使用触发条件、执行步骤、版本号、来源对话追溯 |
|
||||
| **手动编辑** | 用户可直接编辑SKILL.md正文(包含frontmatter和body),保存后进入git版本管理 |
|
||||
| **技能删除** | 用户可删除不需要的Skill。删除后对应git仓库标记为删除,可在一定时间内恢复 |
|
||||
| **技能冻结/解冻** | 用户可冻结某个Skill(设置为只读),冻结后xSkill不会再更新该Skill。解冻后恢复自动进化 |
|
||||
| **技能回滚** | 用户可查看Skill的git版本历史(SKILL.md的diff),并回滚到任意历史版本 |
|
||||
| **对话溯源** | 每个Skill展示"来源对话"列表,点击可跳转到原始对话记录(如有保存) |
|
||||
|
||||
#### 功能四:AI进化驾驶舱(核心前端看板)
|
||||
|
||||
这是用户与AI自进化功能交互的核心界面,包含4个子面板:
|
||||
|
||||
##### 面板A:技能图谱/技能树
|
||||
|
||||
| 功能点 | 详细描述 |
|
||||
|--------|----------|
|
||||
| **技能树展示** | 以树形/网状图谱展示用户已掌握的所有AI技能,按技能分类自动分组 |
|
||||
| **技能状态标识** | 用不同颜色/图标标识技能状态:`baby`(萌芽中,粉色)、`main`(已成熟,绿色)、`staging`(灰度测试中,橙色)、`frozen`(已冻结,灰色) |
|
||||
| **技能节点信息** | 鼠标悬停显示:技能名称、简短描述、使用次数、最后更新时间 |
|
||||
| **交互操作** | 点击节点进入技能详情页 |
|
||||
| **增长动画** | 新技能生成时,技能树上有「萌芽」动画效果(符合「养龙虾」理念) |
|
||||
|
||||
##### 面板B:进化时间线
|
||||
|
||||
| 功能点 | 详细描述 |
|
||||
|--------|----------|
|
||||
| **时间线展示** | 以时间轴形式展示AI的技能进化历程,按时间倒序排列 |
|
||||
| **里程碑事件** | 记录关键进化节点:新技能诞生、技能重大更新(权重分≥8)、灰度验证通过/拒绝、技能冻结等 |
|
||||
| **事件卡片** | 每个里程碑显示:时间、事件类型(图标)、技能名称、简短描述(从哪些对话中学到了什么) |
|
||||
| **筛选能力** | 支持按时间范围、事件类型、技能分类筛选时间线 |
|
||||
| **导出能力** | 支持将进化时间线导出为图片或PDF分享 |
|
||||
|
||||
##### 面板C:技能使用统计
|
||||
|
||||
| 功能点 | 详细描述 |
|
||||
|--------|----------|
|
||||
| **Top技能排行** | 按使用频率展示TOP N技能,显示每个技能的使用次数和最近一次触发时间 |
|
||||
| **技能调用趋势** | 折线图展示每日/每周技能调用总量变化趋势 |
|
||||
| **技能贡献分布** | 饼图展示不同类别技能的使用占比 |
|
||||
| **最活跃技能** | 标出最近7天内最频繁被调用的前3个技能 |
|
||||
| **零使用技能提醒** | 自动标识超过30天未使用的技能,建议用户审视或清理 |
|
||||
| **交互联动** | 点击统计图表中的任意项可跳转到对应技能详情 |
|
||||
|
||||
##### 面板D:用户专属AI能力画像
|
||||
|
||||
| 功能点 | 详细描述 |
|
||||
|--------|----------|
|
||||
| **能力雷达图** | 以六维/八维雷达图展示用户AI的能力分布(如:文字创作、数据分析、代码能力、知识问答、流程自动化、创意生成等维度) |
|
||||
| **能力标签** | 基于已生成Skill自动打标,展示用户AI的能力关键词标签云 |
|
||||
| **进化等级** | 根据技能数量、使用频率、技能成熟度等指标计算「AI进化等级」(如Lv.1 ~ Lv.10),直观展示成长阶段 |
|
||||
| **成长建议** | 基于当前技能缺口,智能推荐「使用这些对话场景来培养新技能」 |
|
||||
| **画像分享** | 支持将AI能力画像(不含私密数据)生成为分享卡片,可在社交媒体展示 |
|
||||
|
||||
#### 功能五:与现有AI聊天模块的无缝衔接
|
||||
|
||||
| 功能点 | 详细描述 |
|
||||
|--------|----------|
|
||||
| **静默运行** | xSkill进化引擎在后台独立运行,完全不改变/不影响现有的AI聊天交互体验 |
|
||||
| **不另设聊天窗口** | 自进化功能复用现有的AI聊天模块,不需要额外的聊天界面 |
|
||||
| **Skill加载提示** | 当某次对话中AI调用了自进化生成的Skill时,在消息下方显示小标签:「🚀 使用了你的专属技能:XXX」 |
|
||||
| **对话结束钩子** | 每次对话会话正常结束或用户切换话题时,将完整对话轨迹异步提交至进化引擎 |
|
||||
| **批量处理** | 支持在低负载时段(如凌晨)批量处理白天的对话轨迹,避免影响高峰体验 |
|
||||
|
||||
#### 功能六:数据隔离(用户级别)
|
||||
|
||||
| 功能点 | 详细描述 |
|
||||
|--------|----------|
|
||||
| **Skill仓库隔离** | 每个用户在服务器上有独立的skill根目录:`{data_dir}/users/{user_id}/skills/`,不同用户仓库物理隔离 |
|
||||
| **向量空间隔离** | 每个用户拥有独立的向量索引文件:`{data_dir}/users/{user_id}/index.pkl`,完全独立embedding |
|
||||
| **对话轨迹隔离** | 每个用户的对话轨迹存储在独立目录:`{data_dir}/users/{user_id}/trajectories/` |
|
||||
| **xSkill实例隔离** | 每个用户拥有独立的`XSkill`实例(独立config + registry + skill_repo),后端按user_id路由 |
|
||||
| **Watcher线程隔离** | 每个用户拥有独立的`DirectoryWatcher`线程,注册后自动启动,处理各自目录的轨迹 |
|
||||
| **权限验证** | 所有xSkill API调用前验证user_id,确保A用户无法访问B用户的Skill/trajectory/atom数据 |
|
||||
|
||||
---
|
||||
|
||||
### 7.3 数据库设计概要
|
||||
|
||||
#### 7.3.1 新增关系型数据库表
|
||||
|
||||
**用户进化配置表:**
|
||||
|
||||
| 表名 | 说明 | 核心字段 |
|
||||
|------|------|----------|
|
||||
| `user_evolution_config` | 用户进化配置表 | id, user_id, skill_dir_path, trajectory_dir_path, watcher_status(运行中/已停止/错误), created_at, updated_at |
|
||||
|
||||
**技能管理表(MySQL中记录Skill元数据):**
|
||||
|
||||
| 表名 | 说明 | 核心字段 |
|
||||
|------|------|----------|
|
||||
| `user_skills` | 用户技能表 | id, user_id, skill_name, description, tags(json), state(baby/main/staging/frozen), use_count, version, git_commit_sha, skill_md_path, created_at, updated_at |
|
||||
| `skill_evolution_events` | 技能进化事件表 | id, user_id, skill_name, event_type(created/promoted/rejected/frozen/unfrozen/edited/deleted), description, version_before, version_after, created_at |
|
||||
| `skill_trajectory_links` | 技能-轨迹关联表 | id, skill_name, user_id, trajectory_id, atom_id, weightscore, created_at |
|
||||
|
||||
**对话轨迹表:**
|
||||
|
||||
| 表名 | 说明 | 核心字段 |
|
||||
|------|------|----------|
|
||||
| `evolution_trajectories` | 进化轨迹表 | id, user_id, conversation_id, file_path, status(discovered/splitting/split_done/indexed/clustering/done/error/filtered), atom_count, token_used, created_at, processed_at |
|
||||
|
||||
#### 7.3.2 文件系统存储(每用户独立)
|
||||
|
||||
```
|
||||
{data_dir}/users/{user_id}/
|
||||
├── config.yaml # xSkill配置文件(用户专属LLM配置等)
|
||||
├── skills/ # Skill git仓库根目录
|
||||
│ ├── fix_python_bug/ # 示例Skill:修复Python bug
|
||||
│ │ ├── .git/ # 独立git仓库
|
||||
│ │ ├── SKILL.md # 技能定义文件
|
||||
│ │ ├── .candidates.yml # 候选原子任务缓冲区
|
||||
│ │ ├── .ux_scores.jsonl # UX评分记录
|
||||
│ │ ├── scripts/ # 可执行脚本
|
||||
│ │ └── references/ # 参考资料
|
||||
│ └── write_blog_post/ # 示例Skill:写博客文章
|
||||
│ └── ...
|
||||
├── trajectories/ # 对话轨迹文件
|
||||
│ ├── traj_0001/
|
||||
│ │ ├── traj_0001.md # 标准化轨迹文件
|
||||
│ │ └── tasks/ # 原子任务文件
|
||||
│ │ ├── atom_traj_0001_0001.json
|
||||
│ │ └── atom_traj_0001_0002.json
|
||||
│ ├── index.pkl # 向量索引文件
|
||||
│ └── evolve.db # xSkill SQLite状态数据库
|
||||
└── evolution.log # 进化引擎日志
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
### 7.4 xSkill整合方案
|
||||
|
||||
#### 7.4.1 整合策略
|
||||
|
||||
采用**封装模式**整合xSkill开源框架——将xSkill作为后端Python库引用,通过用户级别的wrapper封装为平台服务:
|
||||
|
||||
```
|
||||
平台后端服务(FastAPI)
|
||||
└── EvolutionService(进化服务层)
|
||||
├── 用户级别的 xSkill 实例管理
|
||||
│ └── dict[user_id, XSkill] + dict[user_id, DirectoryWatcher]
|
||||
├── 对话轨迹提交API
|
||||
│ └── POST /app/evolution/trajectory/submit
|
||||
├── 技能查询API
|
||||
│ └── GET /app/evolution/skills
|
||||
│ └── GET /app/evolution/skills/{name}
|
||||
│ └── PUT /app/evolution/skills/{name}
|
||||
│ └── DELETE /app/evolution/skills/{name}
|
||||
├── 驾驶舱数据API
|
||||
│ └── GET /app/evolution/dashboard/skill-tree
|
||||
│ └── GET /app/evolution/dashboard/timeline
|
||||
│ └── GET /app/evolution/dashboard/statistics
|
||||
│ └── GET /app/evolution/dashboard/profile
|
||||
└── 进化事件API
|
||||
└── GET /app/evolution/events
|
||||
```
|
||||
|
||||
#### 7.4.2 关键API接口
|
||||
|
||||
| 接口 | 方法 | 说明 |
|
||||
|------|------|------|
|
||||
| `/app/evolution/trajectory/submit` | POST | 提交对话轨迹到进化流水线 |
|
||||
| `/app/evolution/skills` | GET | 获取用户所有技能列表 |
|
||||
| `/app/evolution/skills/{name}` | GET/PUT/DELETE | 技能详情/编辑/删除 |
|
||||
| `/app/evolution/skills/{name}/freeze` | POST | 冻结技能 |
|
||||
| `/app/evolution/skills/{name}/unfreeze` | POST | 解冻技能 |
|
||||
| `/app/evolution/skills/{name}/rollback/{version}` | POST | 回滚到指定版本 |
|
||||
| `/app/evolution/skills/{name}/history` | GET | 技能版本历史(git log) |
|
||||
| `/app/evolution/skills/{name}/trajectories` | GET | 技能来源轨迹列表 |
|
||||
| `/app/evolution/dashboard/skill-tree` | GET | 技能图谱数据 |
|
||||
| `/app/evolution/dashboard/timeline` | GET | 进化时间线数据 |
|
||||
| `/app/evolution/dashboard/statistics` | GET | 技能使用统计 |
|
||||
| `/app/evolution/dashboard/profile` | GET | AI能力画像数据 |
|
||||
| `/app/evolution/events` | GET | 进化事件列表 |
|
||||
|
||||
#### 7.4.3 用户级别xSkill实例管理
|
||||
|
||||
```python
|
||||
# 伪代码示意
|
||||
class EvolutionService:
|
||||
_instances: dict[str, XSkillInstance] = {}
|
||||
|
||||
def get_or_create_instance(user_id: str) -> XSkillInstance:
|
||||
"""获取或创建用户专属的xSkill实例"""
|
||||
if user_id not in self._instances:
|
||||
config = self._load_user_config(user_id)
|
||||
instance = XSkillInstance(
|
||||
xskill=XSkill(config_path=config.config_path),
|
||||
watcher=DirectoryWatcher(...),
|
||||
user_id=user_id,
|
||||
)
|
||||
instance.watcher.start() # 注册即启动,默认持续进化
|
||||
self._instances[user_id] = instance
|
||||
return self._instances[user_id]
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
### 7.5 关键假设与约束
|
||||
|
||||
| 编号 | 假设/约束 | 风险等级 |
|
||||
|------|-----------|----------|
|
||||
| A1 | xSkill v0.5.2框架可通过pip安装并稳定运行 | 低 |
|
||||
| A2 | 每个用户独立运行xSkill watcher不会导致服务器资源耗尽 | 中 |
|
||||
| A3 | 对话轨迹标准化格式与xSkill兼容 | 低 |
|
||||
| A4 | 用户对「后台分析对话」接受度良好 | 低 |
|
||||
| C1 | 进化引擎不得修改现有AI聊天模块的行为 | 强约束 |
|
||||
| C2 | 每个用户的数据完全物理隔离 | 强约束 |
|
||||
| C3 | 进化引擎持续运行,不可手动停止 | 强约束 |
|
||||
| C4 | xSkill使用用户LLM调用额度进行技能分析(不额外收费) | 设计决策 |
|
||||
| C5 | 前端驾驶舱通过API获取数据,不做实时WebSocket推送 | 设计决策 |
|
||||
|
||||
---
|
||||
|
||||
## 8. 版本规划
|
||||
|
||||
### 8.1 当前版本交付范围
|
||||
|
||||
一次性交付全部功能:
|
||||
|
||||
| 交付物 | 内容说明 |
|
||||
|--------|----------|
|
||||
| **默认全局持续进化** | 注册即启动进化引擎,全程无需用户干预 |
|
||||
| **对话自动分析** | xSkill流水线整合:轨迹标准化 → AtomTask拆分 → 向量索引 → 聚类 → Skill生成/更新 |
|
||||
| **技能库管理** | 技能列表、详情、编辑、删除、冻结/解冻、回滚、对话溯源 |
|
||||
| **AI进化驾驶舱** | 4个子面板:技能图谱、进化时间线、技能使用统计、AI能力画像 |
|
||||
| **数据隔离** | 每用户独立xSkill实例、独立skill仓库、独立向量空间、独立轨迹目录 |
|
||||
| **与AI聊天衔接** | 对话结束钩子、Skill加载提示标签、静默运行不干扰 |
|
||||
|
||||
### 8.2 后续迭代方向
|
||||
|
||||
| 方向 | 说明 |
|
||||
|------|------|
|
||||
| **技能发现与共享** | 用户可选择将优秀Skill匿名贡献到平台Skill集市(需用户主动操作,非自动) |
|
||||
| **团队进化空间** | 团队共享技能进化(与预留的「AI团队协作空间」联动) |
|
||||
| **进化加速** | 用户可消耗更多Token加速进化(如:更频繁的流水线扫描间隔) |
|
||||
| **多模型进化** | 支持不同模型独立进化不同技能体系 |
|
||||
|
||||
---
|
||||
|
||||
## 附录A:xSkill核心流水线详解
|
||||
|
||||
### 流水线状态转换
|
||||
|
||||
```
|
||||
discovered ──→ splitting ──→ split_done ──→ indexed ──→ clustering ──→ done
|
||||
↑ │
|
||||
└── error ←── retry ──────┘
|
||||
```
|
||||
|
||||
### Skill三级分支状态机
|
||||
|
||||
```
|
||||
baby ──→ main ──→ staging ──→ (promoted → 合并到main)
|
||||
│
|
||||
└── (rejected → 丢弃staging)
|
||||
│
|
||||
└── (timeout → 14天未验证 → 丢弃staging)
|
||||
```
|
||||
|
||||
### AtomTask UX评分分档表
|
||||
|
||||
| 分数 | 含义 |
|
||||
|------|------|
|
||||
| 10 | 一次到位:用户提需求 → agent一步给出正确产出 → 用户接受无澄清 |
|
||||
| 9 | 接近一次到位:仅一处细节澄清 |
|
||||
| 8 | 正确完成但绕了1个小弯 |
|
||||
| 7 | 正确完成,2-3次澄清/修正;无明显不耐烦 |
|
||||
| 6 | 完成度边界("这就行吧") |
|
||||
| 5 | 核心需求达成但遗漏明显细节 |
|
||||
| 4 | 多次错误后才接近正确,用户≥2次否定词 |
|
||||
| 3 | 任务勉强完成但用户明显失望 |
|
||||
| 2 | 任务未完成 / 反复blocker / 用户放弃 |
|
||||
| 1 | 完全失败或副作用 |
|
||||
|
||||
---
|
||||
|
||||
## 附录B:功能需求清单
|
||||
|
||||
### 前台功能清单(共5大功能模块,25个功能点)
|
||||
|
||||
| 序号 | 模块 | 功能点 |
|
||||
|------|------|--------|
|
||||
| 1 | 技能库管理 | 技能列表展示(搜索/排序/筛选) |
|
||||
| 2 | 技能库管理 | 技能详情查看(SKILL.md完整内容) |
|
||||
| 3 | 技能库管理 | 手动编辑Skill |
|
||||
| 4 | 技能库管理 | 删除Skill |
|
||||
| 5 | 技能库管理 | 冻结/解冻Skill |
|
||||
| 6 | 技能库管理 | 版本历史查看(git log) |
|
||||
| 7 | 技能库管理 | 回滚到历史版本 |
|
||||
| 8 | 技能库管理 | 来源对话追溯 |
|
||||
| 9 | 进化驾驶舱-A | 技能图谱/技能树展示 |
|
||||
| 10 | 进化驾驶舱-A | 技能状态标识(baby/main/staging/frozen) |
|
||||
| 11 | 进化驾驶舱-A | 新技能萌芽动画 |
|
||||
| 12 | 进化驾驶舱-B | 进化时间线展示 |
|
||||
| 13 | 进化驾驶舱-B | 里程碑事件卡片 |
|
||||
| 14 | 进化驾驶舱-B | 时间线与事件筛选 |
|
||||
| 15 | 进化驾驶舱-B | 进化时间线导出 |
|
||||
| 16 | 进化驾驶舱-C | 技能使用排行 |
|
||||
| 17 | 进化驾驶舱-C | 技能调用趋势图 |
|
||||
| 18 | 进化驾驶舱-C | 技能贡献分布图 |
|
||||
| 19 | 进化驾驶舱-C | 零使用技能提醒 |
|
||||
| 20 | 进化驾驶舱-D | 能力雷达图 |
|
||||
| 21 | 进化驾驶舱-D | 能力标签云 |
|
||||
| 22 | 进化驾驶舱-D | AI进化等级 |
|
||||
| 23 | 进化驾驶舱-D | 成长建议 |
|
||||
| 24 | 进化驾驶舱-D | 画像分享卡片 |
|
||||
| 25 | 聊天衔接 | Skill加载提示标签 |
|
||||
|
||||
### 后端功能清单(共5大功能模块,17个功能点)
|
||||
|
||||
| 序号 | 模块 | 功能点 |
|
||||
|------|------|--------|
|
||||
| 1 | xSkill引擎整合 | 用户级别xSkill实例管理 |
|
||||
| 2 | xSkill引擎整合 | DirectoryWatcher线程管理 |
|
||||
| 3 | xSkill引擎整合 | 对话轨迹标准化转换 |
|
||||
| 4 | xSkill引擎整合 | AtomTask拆分与存储 |
|
||||
| 5 | xSkill引擎整合 | 向量索引构建 |
|
||||
| 6 | xSkill引擎整合 | Skill聚类与生成 |
|
||||
| 7 | xSkill引擎整合 | 灰度A/B测试 |
|
||||
| 8 | xSkill引擎整合 | git版本管理 |
|
||||
| 9 | xSkill引擎整合 | 用户Skill仓库初始化 |
|
||||
| 10 | 技能管理API | 技能CRUD |
|
||||
| 11 | 技能管理API | 版本回滚 |
|
||||
| 12 | 驾驶舱数据API | 技能树/时间线/统计/画像数据 |
|
||||
| 13 | 数据隔离 | 每用户独立skill_dir |
|
||||
| 14 | 数据隔离 | 每用户独立trajectory_dir |
|
||||
| 15 | 数据隔离 | 每用户独立向量索引 |
|
||||
| 16 | 数据隔离 | API调用user_id强制验证 |
|
||||
| 17 | 对话轨迹钩子 | 对话结束自动提交轨迹 |
|
||||
|
||||
---
|
||||
|
||||
> **文档状态**:已定稿
|
||||
> **创建日期**:2026-05-26
|
||||
> **文档版本**:v1.0
|
||||
> **基于框架**:xSkill v0.5.2 (https://github.com/SkillNerds/xskill)
|
||||
Reference in new issue
Block a user