flowmind 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (47) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +855 -0
  3. package/README_CN.md +854 -0
  4. package/bin/flowmind.js +464 -0
  5. package/core/adapters/api-doc-adapter.js +71 -0
  6. package/core/adapters/base-adapter.js +80 -0
  7. package/core/adapters/database-manager-adapter.js +60 -0
  8. package/core/adapters/database-query-adapter.js +51 -0
  9. package/core/adapters/knowledge-base-adapter.js +75 -0
  10. package/core/adapters/log-service-adapter.js +41 -0
  11. package/core/adapters/mcp-adapter.js +65 -0
  12. package/core/adapters/report-adapter.js +60 -0
  13. package/core/adapters/workflow-adapter.js +62 -0
  14. package/core/component-registry.js +281 -0
  15. package/core/component-types.js +63 -0
  16. package/core/config-manager.js +360 -0
  17. package/core/index.js +223 -0
  18. package/core/learning-engine.js +588 -0
  19. package/core/mcp-compatibility.js +150 -0
  20. package/core/providers/aliyun/dms-adapter.js +98 -0
  21. package/core/providers/aliyun/redis-adapter.js +88 -0
  22. package/core/providers/aliyun/sls-adapter.js +86 -0
  23. package/core/providers/friday/flow-adapter.js +85 -0
  24. package/core/providers/friday/report-adapter.js +83 -0
  25. package/core/providers/yapi/yapi-adapter.js +79 -0
  26. package/core/providers/yuque/yuque-adapter.js +90 -0
  27. package/core/scene-matcher.js +326 -0
  28. package/core/skill-loader.js +291 -0
  29. package/package.json +67 -0
  30. package/scripts/migrate-config.js +153 -0
  31. package/skills/api-sync/SKILL.md +203 -0
  32. package/skills/archive-change/SKILL.md +172 -0
  33. package/skills/auto-flow/SKILL.md +277 -0
  34. package/skills/code-review/SKILL.md +206 -0
  35. package/skills/code-review-audit/SKILL.md +150 -0
  36. package/skills/data-logic-validation/SKILL.md +162 -0
  37. package/skills/data-validation/SKILL.md +210 -0
  38. package/skills/git-review/SKILL.md +190 -0
  39. package/skills/learning-engine/SKILL.md +352 -0
  40. package/skills/learning-feedback/SKILL.md +174 -0
  41. package/skills/log-audit/SKILL.md +226 -0
  42. package/skills/project-review/SKILL.md +196 -0
  43. package/skills/requirement-analyst/SKILL.md +275 -0
  44. package/skills/resource-bind/SKILL.md +222 -0
  45. package/skills/sls-log-audit/SKILL.md +223 -0
  46. package/skills/yapi-sync-interface/SKILL.md +145 -0
  47. package/skills/yuque-sync-design/SKILL.md +157 -0
package/README_CN.md ADDED
@@ -0,0 +1,854 @@
1
+ <div align="center">
2
+
3
+ # 🧠 FlowMind
4
+
5
+ ### **学习你工作方式的 AI 智能体**
6
+
7
+ *不再重复自己。FlowMind 学习你的工作流程并自动应用。*
8
+
9
+ [![License: MIT](https://img.shields.io/badge/License-MIT-blue.svg)](LICENSE)
10
+ [![PRs Welcome](https://img.shields.io/badge/PRs-welcome-brightgreen.svg)](CONTRIBUTING.md)
11
+ [![Version](https://img.shields.io/badge/version-1.1.0-blue)](CHANGELOG.md)
12
+
13
+ [English](README.md) | [快速开始](#-快速开始) | [工作原理](#-工作原理) | [使用场景](#-使用场景) | [架构](#-架构)
14
+
15
+ </div>
16
+
17
+ ---
18
+
19
+ ## 🎯 问题所在
20
+
21
+ 开发者在日常工作中面临诸多痛点:
22
+
23
+ ### 1. 重复劳动
24
+ ```
25
+ ❌ 每次都要重复相同的指令:
26
+ "输出格式用表格..."
27
+ "用顺序列表..."
28
+ "先检查错误再..."
29
+ "用 source_id 连接..."
30
+ ```
31
+
32
+ ### 2. 工具分散
33
+ ```
34
+ ❌ 在多个平台间频繁切换:
35
+ SLS 查日志 → RDS 查数据 → 代码库定位 → YApi 查接口 → 语雀写文档
36
+ ```
37
+
38
+ ### 3. 经验流失
39
+ ```
40
+ ❌ 宝贵的经验无法沉淀:
41
+ 架构师的设计思路 → 随项目结束而丢失
42
+ 调试的排查路径 → 下次又要重新摸索
43
+ 最佳实践 → 无法复用和传承
44
+ ```
45
+
46
+ ### 4. 效率低下
47
+ ```
48
+ ❌ 重复等待和低效操作:
49
+ 每次连接数据库都要配置
50
+ 每次查日志都要输完整条件
51
+ 每次部署都要手动执行多个步骤
52
+ ```
53
+
54
+ ---
55
+
56
+ ## 💡 解决方案
57
+
58
+ **FlowMind 学习一次,永久应用。**
59
+
60
+ ### 核心理念
61
+
62
+ ```
63
+ ✅ 第一次:你教 FlowMind
64
+ ✅ 之后每次:FlowMind 自动记住
65
+ ✅ 越用越懂你:AI 自我进化
66
+ ```
67
+
68
+ ### 一站式解决
69
+
70
+ ```
71
+ 代码定位 → 数据验证 → 问题分析 → 一键修复 → 自动部署 → 归档记录
72
+ ↓ ↓ ↓ ↓ ↓ ↓
73
+ 本地+MCP RDS读取 SLS分析 代码修改 流水线执行 OpenSpec+语雀
74
+ ```
75
+
76
+ ### 越用越智能
77
+
78
+ - 🧠 **学习积累** - 每次使用都在积累经验,越用越懂你的代码和思路
79
+ - 🔄 **场景联动** - 不同场景下的技能自动配合,形成完整工作流
80
+ - 💰 **Token 优化** - 通过映射文件减少 token 消耗,降低 AI 调用成本
81
+ - ⏱️ **效率提升** - 减少重复等待,自动化处理提升 10 倍效率
82
+ - 🎓 **经验沉淀** - 架构师和高级开发者的设计思路,永久保留复用
83
+
84
+ ---
85
+
86
+ ## 🚀 快速开始
87
+
88
+ ### 安装
89
+
90
+ ```bash
91
+ npm install -g flowmind
92
+ ```
93
+
94
+ ### 初始化
95
+
96
+ ```bash
97
+ flowmind init
98
+ ```
99
+
100
+ > 一次配置,永久生效。配置资源连接、学习偏好、输出格式,无需每次重复设置。
101
+
102
+ ### 开始使用
103
+
104
+ ```bash
105
+ # 第一次 - 教 FlowMind 你的偏好
106
+ flowmind "查询 traceId 日志,用顺序列表格式"
107
+ FlowMind: [执行并学习你的偏好]
108
+
109
+ # 下次 - FlowMind 自动记住!
110
+ flowmind "查询 traceId abc123 的日志"
111
+ FlowMind: [自动使用顺序列表格式] ✓
112
+ ```
113
+
114
+ ---
115
+
116
+ ## 🧠 工作原理
117
+
118
+ ### 1. 多源代码定位
119
+
120
+ ```mermaid
121
+ graph LR
122
+ A[你的请求] --> B{代码定位}
123
+ B -->|本地| C[本地代码库]
124
+ B -->|MCP| D[远程仓库]
125
+ B -->|SSH| E[服务器代码]
126
+ C --> F[智能匹配]
127
+ D --> F
128
+ E --> F
129
+ F --> G[精准定位]
130
+ ```
131
+
132
+ **支持模式:**
133
+ - 📁 **本地模式** - 直接读取本地代码库
134
+ - 🔌 **MCP 模式** - 通过 MCP 协议连接远程仓库
135
+ - 🔐 **SSH 模式** - SSH 连接服务器读取代码
136
+
137
+ ### 2. RAG 智能检索
138
+
139
+ ```mermaid
140
+ graph TD
141
+ A[历史数据收集] --> B[知识库构建]
142
+ B --> C[智能检索匹配]
143
+ C --> D[上下文生成]
144
+ D --> E[自动应用]
145
+ E --> F[持续优化]
146
+ F --> A
147
+ ```
148
+
149
+ **RAG 流程:**
150
+ - 📚 **数据收集** - 收集历史学习记录、工作流、最佳实践
151
+ - 🔍 **智能匹配** - 基于场景相似度计算,推荐最匹配的工作流
152
+ - 📝 **上下文生成** - 自动生成上下文,减少重复输入
153
+ - 🔄 **持续优化** - 每次使用都在优化匹配算法
154
+
155
+ ### 3. 学习反馈机制
156
+
157
+ ```mermaid
158
+ graph LR
159
+ A[你的请求] --> B[FlowMind 执行]
160
+ B --> C{你纠正了?}
161
+ C -->|是| D[记录学习]
162
+ C -->|否| E[继续]
163
+ D --> F[下次应用]
164
+ F --> G[自我进化]
165
+ ```
166
+
167
+ **学习类型:**
168
+ - 📚 **纠正学习** - "不对,用表格格式" → 自动记住
169
+ - 🗺️ **场景学习** - "排查问题先查错误再查链路" → 记录工作流
170
+ - ⚙️ **偏好学习** - "用中文回复" → 记录语言偏好
171
+ - 🔄 **自动应用** - 下次自动使用学习到的工作流
172
+
173
+ ### 4. 可插拔组件架构
174
+
175
+ FlowMind 采用**可插拔组件架构**,支持通过配置切换云服务商(阿里云、百度云、ELK 等),无需修改技能代码。
176
+
177
+ ```mermaid
178
+ graph TB
179
+ A[FlowMind Core] --> R[ComponentRegistry 组件注册表]
180
+ R --> LS[logService 日志服务]
181
+ R --> DB[databaseManager 数据库管理]
182
+ R --> DQ[databaseQuery 数据库查询]
183
+ R --> RD[redisMonitor Redis 监控]
184
+ R --> AP[apiDoc API 文档]
185
+ R --> KB[knowledgeBase 知识库]
186
+ R --> WF[workflow 工作流]
187
+ R --> RP[report 报告]
188
+
189
+ LS --> LS1[阿里云 SLS]
190
+ LS --> LS2[百度云日志]
191
+ LS --> LS3[ELK]
192
+ DB --> DB1[阿里云 DMS]
193
+ KB --> KB1[语雀]
194
+ KB --> KB2[Notion]
195
+ AP --> AP1[YApi]
196
+ ```
197
+
198
+ **8 种组件类型:**
199
+
200
+ | 组件类型 | 默认提供者 | 说明 |
201
+ |----------|------------|------|
202
+ | `logService` | aliyun-sls | 云日志查询与分析 |
203
+ | `databaseManager` | aliyun-dms | 数据库实例管理 |
204
+ | `databaseQuery` | aliyun-rds-query | 数据库 SQL 直查 |
205
+ | `redisMonitor` | aliyun-redis | Redis Prometheus 监控 |
206
+ | `apiDoc` | yapi | API 文档管理 |
207
+ | `knowledgeBase` | yuque | 知识库与文档 |
208
+ | `workflow` | friday-flow | 自动化工作流与流水线 |
209
+ | `report` | friday-report | 测试与覆盖率报告 |
210
+
211
+ **切换提供者仅需修改配置:**
212
+
213
+ ```json
214
+ {
215
+ "components": {
216
+ "logService": {
217
+ "default": "baidu-sls",
218
+ "providers": {
219
+ "baidu-sls": { "adapter": "baidu-sls-adapter", "enabled": true }
220
+ }
221
+ }
222
+ }
223
+ }
224
+ ```
225
+
226
+ ---
227
+
228
+ ## 📊 使用场景
229
+
230
+ ### 场景 1:线上问题排查
231
+
232
+ ```bash
233
+ # 传统方式(10+ 步骤):
234
+ 1. 登录 SLS 控制台
235
+ 2. 输入查询条件
236
+ 3. 找到 traceId
237
+ 4. 复制 traceId
238
+ 5. 查找链路
239
+ 6. 定位错误
240
+ 7. 连接 RDS
241
+ 8. 查询数据
242
+ 9. 分析原因
243
+ 10. 修改代码
244
+ 11. 提交部署
245
+ 12. 写文档归档
246
+
247
+ # FlowMind 方式(1 个命令):
248
+ flowmind "排查线上问题 traceId abc123"
249
+ # → 自动完成:SLS 查询 → 链路追踪 → RDS 数据验证 → 代码定位 → 修复建议
250
+ ```
251
+
252
+ ### 场景 2:代码审查
253
+
254
+ ```bash
255
+ # 设置你的标准(只需一次)
256
+ flowmind "代码审查先检查安全漏洞,再检查代码质量,最后检查性能"
257
+
258
+ # 每次审查都遵循你的标准
259
+ flowmind "审查这个 PR"
260
+ # → 安全优先 → 质量检查 → 性能分析
261
+ ```
262
+
263
+ ### 场景 3:API 文档同步
264
+
265
+ ```bash
266
+ # 从代码生成文档
267
+ flowmind "从代码注释生成 API 文档"
268
+
269
+ # 同步到 YApi
270
+ flowmind "同步接口到 YApi"
271
+
272
+ # 自动更新语雀
273
+ flowmind "同步 API 文档到语雀"
274
+ ```
275
+
276
+ ### 场景 4:数据验证
277
+
278
+ ```bash
279
+ # 连接 RDS 验证数据
280
+ flowmind "验证订单表数据完整性"
281
+
282
+ # 自动执行检查
283
+ # → 引用完整性 → 数据类型 → 业务逻辑 → 状态机
284
+ ```
285
+
286
+ ### 场景 5:项目健康检查
287
+
288
+ ```bash
289
+ # 全面审查
290
+ flowmind "审查项目整体状况"
291
+
292
+ # 自动执行:
293
+ # → 依赖分析 → 安全审计 → 代码复杂度 → 测试覆盖率 → 技术债务
294
+ ```
295
+
296
+ ### 场景 6:项目快速上手
297
+
298
+ ```bash
299
+ # 刚加入项目?FlowMind 帮你快速理解
300
+ flowmind "帮我理解这个项目的整体架构"
301
+
302
+ # FlowMind 从资深开发者的经验中学习:
303
+ # → 项目结构分析 → 核心模块讲解 → 数据流梳理
304
+ # → 关键设计决策 → 开发规范指引 → 推荐学习路径
305
+ ```
306
+
307
+ ### 场景 7:设计与架构指导
308
+
309
+ ```bash
310
+ # 面临设计选择?FlowMind 借助积累的经验给出建议
311
+ flowmind "这个功能应该用 Redis 还是 MongoDB?"
312
+
313
+ # FlowMind 运用学到的设计思维:
314
+ # → 你的项目上下文 → 当前技术栈 → 性能需求
315
+ # → 历史类似决策 → 权衡分析 → 数据驱动的建议
316
+ ```
317
+
318
+ ---
319
+
320
+ ## 🏗️ 架构
321
+
322
+ ### 系统架构
323
+
324
+ ```
325
+ ┌──────────────────────────────────────────────────────────────────┐
326
+ │ FlowMind Agent │
327
+ ├──────────────────────────────────────────────────────────────────┤
328
+ │ ┌──────────────┐ ┌──────────────┐ ┌──────────────┐ │
329
+ │ │ 场景匹配器 │ │ 学习引擎 │ │ 技能加载器 │ │
330
+ │ └──────────────┘ └──────────────┘ └──────────────┘ │
331
+ ├──────────────────────────────────────────────────────────────────┤
332
+ │ ┌──────────────────────────────────────────────────────────┐ │
333
+ │ │ ComponentRegistry 组件注册表(可插拔) │ │
334
+ │ ├──────────┬──────────┬──────────┬──────────┬──────────────┤ │
335
+ │ │logService│database │apiDoc │knowledge │workflow/report│ │
336
+ │ │Adapter │Manager │Adapter │Base │Adapters │ │
337
+ │ └──────────┴──────────┴──────────┴──────────┴──────────────┘ │
338
+ ├──────────────────────────────────────────────────────────────────┤
339
+ │ ┌──────────────────────────────────────────────────────────┐ │
340
+ │ │ 技能系统 │ │
341
+ │ ├─────────────┬─────────────┬─────────────┬────────────────┤ │
342
+ │ │ 分析类技能 │ 集成类技能 │ 质量类技能 │ 自动化技能 │ │
343
+ │ └─────────────┴─────────────┴─────────────┴────────────────┘ │
344
+ ├──────────────────────────────────────────────────────────────────┤
345
+ │ ┌──────────────────────────────────────────────────────────┐ │
346
+ │ │ 云服务商适配器 │ │
347
+ │ ├──────────┬──────────┬──────────┬──────────┬──────────────┤ │
348
+ │ │阿里云 SLS│阿里云 DMS│ YApi │ 语雀 │Friday Flow │ │
349
+ │ │百度云日志 │百度云 DMS │ Swagger │ Notion │Friday Report │ │
350
+ │ │ELK │自建数据库 │ │Confluence│ │ │
351
+ │ └──────────┴──────────┴──────────┴──────────┴──────────────┘ │
352
+ ├──────────────────────────────────────────────────────────────────┤
353
+ │ ┌──────────────────────────────────────────────────────────┐ │
354
+ │ │ 数据持久层 │ │
355
+ │ ├─────────────┬─────────────┬───────────────────────────────┤ │
356
+ │ │ 学习记录 │ 场景映射 │ 组件配置与设置 │ │
357
+ │ └─────────────┴─────────────┴───────────────────────────────┘ │
358
+ └──────────────────────────────────────────────────────────────────┘
359
+ ```
360
+
361
+ ### 目录结构
362
+
363
+ ```
364
+ flowmind/
365
+ ├── core/ # 核心引擎
366
+ │ ├── index.js # 主入口
367
+ │ ├── learning-engine.js # 学习引擎
368
+ │ ├── scene-matcher.js # 场景匹配
369
+ │ ├── skill-loader.js # 技能加载
370
+ │ ├── config-manager.js # 配置管理
371
+ │ ├── component-types.js # 组件类型定义
372
+ │ ├── component-registry.js # 可插拔组件注册表
373
+ │ ├── mcp-compatibility.js # MCP 向后兼容层
374
+ │ ├── adapters/ # 适配器接口
375
+ │ │ ├── base-adapter.js # 抽象基类
376
+ │ │ ├── mcp-adapter.js # MCP 适配器基类
377
+ │ │ ├── log-service-adapter.js
378
+ │ │ ├── database-manager-adapter.js
379
+ │ │ ├── database-query-adapter.js
380
+ │ │ ├── knowledge-base-adapter.js
381
+ │ │ ├── api-doc-adapter.js
382
+ │ │ ├── workflow-adapter.js
383
+ │ │ └── report-adapter.js
384
+ │ └── providers/ # 提供者实现
385
+ │ ├── aliyun/ # 阿里云适配器
386
+ │ │ ├── sls-adapter.js
387
+ │ │ ├── dms-adapter.js
388
+ │ │ └── redis-adapter.js
389
+ │ ├── yapi/ # YApi 适配器
390
+ │ │ └── yapi-adapter.js
391
+ │ ├── yuque/ # 语雀适配器
392
+ │ │ └── yuque-adapter.js
393
+ │ └── friday/ # Friday 平台适配器
394
+ │ ├── flow-adapter.js
395
+ │ └── report-adapter.js
396
+ ├── scripts/ # 迁移工具
397
+ │ └── migrate-config.js # 配置迁移工具
398
+ ├── skills/ # 技能模块(17 个核心技能)
399
+ │ ├── log-audit/ # 日志审计
400
+ │ ├── sls-log-audit/ # SLS 日志审查(链路追踪)
401
+ │ ├── resource-bind/ # 资源绑定
402
+ │ ├── code-review/ # 代码审查
403
+ │ ├── code-review-audit/ # 代码审查审核(三维审查)
404
+ │ ├── data-validation/ # 数据验证
405
+ │ ├── data-logic-validation/ # 数据逻辑验证
406
+ │ ├── api-sync/ # API 同步
407
+ │ ├── yapi-sync-interface/ # YApi 接口同步
408
+ │ ├── yuque-sync-design/ # 语雀设计文档同步
409
+ │ ├── project-review/ # 项目审查
410
+ │ ├── git-review/ # Git 审查
411
+ │ ├── archive-change/ # 变更归档
412
+ │ ├── auto-flow/ # 工作流自动化
413
+ │ ├── learning-engine/ # 学习引擎
414
+ │ ├── learning-feedback/ # 学习反馈(全局)
415
+ │ └── requirement-analyst/ # 需求分析师(六维度分析)
416
+ ├── learning/ # 学习存储
417
+ │ ├── records/ # 学习记录
418
+ │ └── scenes.json # 场景映射
419
+ ├── templates/ # 输出模板
420
+ └── config/ # 配置文件
421
+ ```
422
+
423
+ ### 学习流程
424
+
425
+ ```mermaid
426
+ sequenceDiagram
427
+ participant U as 用户
428
+ participant A as FlowMind Agent
429
+ participant M as 场景匹配器
430
+ participant L as 学习引擎
431
+ participant S as 技能系统
432
+ participant MCP as MCP 集成
433
+ participant D as 数据持久层
434
+
435
+ U->>A: 发起请求
436
+ A->>M: 检查场景映射
437
+ M->>D: 读取历史记录
438
+ D-->>M: 返回匹配的工作流
439
+ M-->>A: 返回推荐方案
440
+
441
+ A->>S: 执行技能
442
+ S->>MCP: 调用外部服务
443
+ MCP-->>S: 返回结果
444
+ S-->>A: 返回执行结果
445
+
446
+ A->>U: 展示结果
447
+
448
+ U->>A: 提供反馈
449
+ A->>L: 记录学习
450
+ L->>D: 持久化存储
451
+ L->>L: 优化匹配算法
452
+ ```
453
+
454
+ ### 一站式问题解决流程
455
+
456
+ ```mermaid
457
+ graph TB
458
+ A[问题发现] --> B[代码定位]
459
+ B --> C[数据验证]
460
+ C --> D[问题分析]
461
+ D --> E[一键修复]
462
+ E --> F[自动部署]
463
+ F --> G[归档记录]
464
+
465
+ B --> B1[本地代码]
466
+ B --> B2[MCP 远程]
467
+ B --> B3[SSH 模式]
468
+
469
+ C --> C1[RDS 数据读取]
470
+ C --> C2[数据完整性验证]
471
+
472
+ D --> D1[SLS 日志分析]
473
+ D --> D2[TraceID 链路追踪]
474
+ D --> D3[根因定位]
475
+
476
+ E --> E1[代码修改]
477
+ E --> E2[单元测试]
478
+
479
+ F --> F1[流水线执行]
480
+ F --> F2[自动部署]
481
+
482
+ G --> G1[OpenSpec 归档]
483
+ G --> G2[语雀文档同步]
484
+ G --> G3[RAG 数据构建]
485
+ ```
486
+
487
+ ---
488
+
489
+ ## ✨ 功能特性
490
+
491
+ ### 🏗️ 核心架构
492
+
493
+ FlowMind 基于**企业级架构设计规范**构建,融合了大量架构师和高级开发者的实践经验:
494
+
495
+ - 📐 **OpenSpec 设计规范** - 标准化的技能定义和接口规范
496
+ - 🧠 **RAG 业务处理逻辑** - 基于历史数据的智能检索和生成
497
+ - 💾 **数据持久化** - 所有学习记录和配置本地持久化存储
498
+ - ⚙️ **全局配置初始化** - 一次配置,永久生效,无需反复设置
499
+ - 🔌 **可插拔组件** - 通过配置切换云服务商(阿里云、百度云、ELK 等),无需修改代码
500
+
501
+ ### 🔧 技能系统(17 个核心技能)
502
+
503
+ #### 📊 分析类技能
504
+
505
+ | 技能 | 功能说明 |
506
+ |------|----------|
507
+ | 🔍 **log-audit** | 日志审计 - 时间过滤、服务筛选、级别过滤、关键词搜索、TraceID 链路追踪、性能分析 |
508
+ | 🔗 **sls-log-audit** | SLS 日志审查 - 阿里云 SLS 日志查询、TraceID 链路分析、Feign 调用链提取、响应耗时分析 |
509
+ | 🔎 **project-review** | 项目审查 - 依赖分析、安全审计、许可证合规、代码复杂度、测试覆盖率、技术债务评估 |
510
+ | 📋 **git-review** | Git 审查 - 提交质量分析、变更大小评估、影响分析、风险评估、依赖变更检测 |
511
+ | 📐 **requirement-analyst** | 需求分析师 - 历史设计原理、迭代演进、扩展性评估、市场路线、需求偏差、升级漏洞(六维度) |
512
+
513
+ #### 🔌 集成类技能
514
+
515
+ | 技能 | 功能说明 |
516
+ |------|----------|
517
+ | 🔗 **resource-bind** | 资源绑定 - MySQL/PostgreSQL 连接管理、Redis 操作、REST API 集成、认证管理 |
518
+ | 📚 **api-sync** | API 同步 - 从代码注释生成文档、OpenAPI/Swagger 规范生成、客户端 SDK 生成、版本管理 |
519
+ | 📋 **yapi-sync-interface** | YApi 接口同步 - Controller 接口同步到 YApi、Swagger 导入导出、接口管理 |
520
+ | 📖 **yuque-sync-design** | 语雀设计文档同步 - OpenSpec 设计文档同步到语雀、知识库管理、文档归档 |
521
+ | ✅ **data-validation** | 数据验证 - 引用完整性检查、数据类型验证、业务逻辑验证、状态机验证、重复检测 |
522
+ | 🔬 **data-logic-validation** | 数据逻辑验证 - 通过 MCP 连接数据库/Redis 验证实际 SQL 和缓存逻辑 |
523
+
524
+ #### 🛠️ 质量类技能
525
+
526
+ | 技能 | 功能说明 |
527
+ |------|----------|
528
+ | 🔒 **code-review** | 代码审查 - SQL 注入检测、XSS 漏洞扫描、认证问题、代码风格、复杂度分析、设计模式检查 |
529
+ | 🛡️ **code-review-audit** | 代码审查审核 - 三维审查:安全审计、设计合规、强制约束验证,合并/测试前审核 |
530
+ | 📝 **archive-change** | 变更归档 - 完成变更归档、自动生成变更摘要、更新日志、创建知识库条目、关联 Issue/PR |
531
+
532
+ #### ⚡ 自动化技能
533
+
534
+ | 技能 | 功能说明 |
535
+ |------|----------|
536
+ | 🔄 **auto-flow** | 工作流自动化 - 顺序执行、并行执行、条件分支、错误处理、工作流模板、团队共享 |
537
+
538
+ #### 🧠 智能类技能
539
+
540
+ | 技能 | 功能说明 |
541
+ |------|----------|
542
+ | 🎯 **learning-engine** | 学习引擎 - 纠正学习、场景学习、偏好学习、自动应用、学习循环、知识图谱构建 |
543
+ | 📝 **learning-feedback** | 学习反馈(全局) - 捕获用户修正、场景映射、自动绑定到相关技能、持续优化 |
544
+
545
+ ### 🎯 核心能力详解
546
+
547
+ #### 1️⃣ OpenSpec 设计规范
548
+ ```
549
+ 标准化的技能定义 → 统一的接口规范 → 即插即用
550
+ ```
551
+ - 每个技能都有标准的 SKILL.md 定义文件
552
+ - 统一的触发条件、功能说明、示例规范
553
+ - 支持自定义技能扩展
554
+
555
+ #### 2️⃣ RAG 业务处理逻辑
556
+ ```
557
+ 历史数据收集 → 智能检索匹配 → 上下文生成 → 自动应用
558
+ ```
559
+ - 基于历史学习记录的智能匹配
560
+ - 场景相似度计算和推荐
561
+ - 上下文感知的工作流应用
562
+
563
+ #### 3️⃣ 数据持久化留存
564
+ ```
565
+ 学习记录 → 本地存储 → 永久保留 → 跨会话复用
566
+ ```
567
+ - 所有学习记录本地持久化存储
568
+ - 配置信息永久保留
569
+ - 支持导入导出,团队共享
570
+
571
+ #### 4️⃣ 全局配置初始化
572
+ ```
573
+ flowmind init → 一次性配置 → 永久生效
574
+ ```
575
+ - 运行 `flowmind init` 完成初始化
576
+ - 配置资源连接、学习偏好、输出格式
577
+ - 无需每次重复设置
578
+
579
+ #### 5️⃣ 学习反馈机制(自我进化)
580
+ ```
581
+ 用户纠正 → 记录学习 → 自动应用 → 持续优化
582
+ ```
583
+ - **纠正学习**: "不对,用表格格式" → 自动记住
584
+ - **场景学习**: "排查问题先查错误再查链路" → 记录工作流
585
+ - **偏好学习**: "用中文回复" → 记录语言偏好
586
+ - **自动应用**: 下次自动使用学习到的工作流
587
+
588
+ #### 6️⃣ 可插拔组件架构(完整配置化)
589
+ ```
590
+ 组件类型 → 提供者接口 → 云服务适配器 → 通过配置切换
591
+ ```
592
+
593
+ **核心设计原则:**
594
+ - 🔌 **提供者抽象** - 每种组件类型定义标准接口,提供者实现该接口
595
+ - ⚙️ **配置驱动切换** - 修改 JSON 配置即可切换云服务商,零代码改动
596
+ - 🔗 **MCP 向后兼容** - 现有 MCP 服务器配置可无缝继续使用
597
+ - 🧩 **自定义扩展** - 注册自定义适配器,接入私有或第三方服务
598
+
599
+ **组件生命周期:**
600
+ ```
601
+ flowmind init → 加载 component-config.json → 注册适配器 → 激活默认提供者
602
+
603
+ 技能调用 ComponentRegistry.getAdapter(type)
604
+
605
+ 适配器委托给 MCP 服务器或自定义实现
606
+ ```
607
+
608
+ **MCP 服务器与组件映射:**
609
+
610
+ | MCP 服务器 | 组件类型 | 提供者 |
611
+ |------------|----------|--------|
612
+ | `friday-sls-logs` | `logService` | `aliyun-sls` |
613
+ | `aliyun-dms-mcp-server` | `databaseManager` | `aliyun-dms` |
614
+ | `friday-rds-redis-query` | `databaseQuery` | `aliyun-rds-query` |
615
+ | `friday-aliyun-sz-rds-redis` | `redisMonitor` | `aliyun-redis` |
616
+ | `aomi-yapi-mcp` | `apiDoc` | `yapi` |
617
+ | `aomi-yuque-mcp` | `knowledgeBase` | `yuque` |
618
+ | `friday-auto-flow` | `workflow` | `friday-flow` |
619
+ | `friday-auto-report` | `report` | `friday-report` |
620
+
621
+ ### 🛠️ 自定义适配器开发
622
+
623
+ 创建自定义适配器,接入私有或第三方服务。
624
+
625
+ **第一步:继承基础适配器**
626
+
627
+ ```javascript
628
+ // core/providers/custom/my-sls-adapter.js
629
+ const LogServiceAdapter = require('../../adapters/log-service-adapter');
630
+
631
+ class MyCustomSlsAdapter extends LogServiceAdapter {
632
+ constructor(config = {}) {
633
+ super('my-custom-sls', config);
634
+ // 注册 MCP 工具名称映射
635
+ this.registerTool('queryLogs', 'myQueryLogsTool');
636
+ }
637
+
638
+ get mcpServer() {
639
+ return 'my-custom-mcp-server';
640
+ }
641
+
642
+ async queryLogs(params) {
643
+ // 自定义实现
644
+ return { mcpServer: this.mcpServer, tool: this.resolveTool('queryLogs'), params };
645
+ }
646
+ }
647
+
648
+ module.exports = MyCustomSlsAdapter;
649
+ ```
650
+
651
+ **第二步:注册提供者工厂**
652
+
653
+ ```javascript
654
+ // 在初始化代码中
655
+ const registry = new ComponentRegistry(config);
656
+
657
+ registry.registerFactory('my-custom-sls', () => {
658
+ const MyCustomSlsAdapter = require('./providers/custom/my-sls-adapter');
659
+ return new MyCustomSlsAdapter(config.get('components.logService.providers.my-custom-sls'));
660
+ });
661
+ ```
662
+
663
+ **第三步:配置提供者**
664
+
665
+ ```json
666
+ {
667
+ "components": {
668
+ "logService": {
669
+ "default": "my-custom-sls",
670
+ "providers": {
671
+ "my-custom-sls": {
672
+ "adapter": "my-custom-sls-adapter",
673
+ "enabled": true,
674
+ "mcpServer": "my-custom-mcp-server",
675
+ "config": {
676
+ "endpoint": "my-sls.example.com"
677
+ }
678
+ }
679
+ }
680
+ }
681
+ }
682
+ }
683
+ ```
684
+
685
+ **各组件类型的适配器接口要求:**
686
+
687
+ | 组件类型 | 必须实现的方法 | 必须具备的能力 |
688
+ |----------|----------------|----------------|
689
+ | `logService` | `queryLogs()`, `listProjects()` | 日志查询与项目列表 |
690
+ | `databaseManager` | `listInstances()`, `executeScript()`, `searchDatabase()` | 实例管理与 SQL 执行 |
691
+ | `databaseQuery` | `queryExec()`, `fetchSource()`, `fetchTables()` | 数据库直查 |
692
+ | `redisMonitor` | `query()`, `queryRange()`, `getLabelValues()` | Prometheus 指标查询 |
693
+ | `apiDoc` | `searchApis()`, `saveApi()`, `getCategories()` | API 文档 CRUD |
694
+ | `knowledgeBase` | `getRepos()`, `getDocs()`, `createDoc()`, `updateDoc()` | 知识库 CRUD |
695
+ | `workflow` | `listPipelines()`, `startPipelineRun()` | 流水线管理 |
696
+ | `report` | `listBuilds()`, `getBuildInfo()` | 构建报告获取 |
697
+
698
+ ### 📦 配置迁移工具
699
+
700
+ 将现有 MCP 服务器配置迁移到新的组件架构。
701
+
702
+ ```bash
703
+ # 预览迁移(干运行)
704
+ node scripts/migrate-config.js --dry-run
705
+
706
+ # 生成迁移配置
707
+ node scripts/migrate-config.js
708
+
709
+ # 指定自定义输出路径
710
+ node scripts/migrate-config.js --output ./my-config.json
711
+ ```
712
+
713
+ **工具功能:**
714
+ 1. 从 `.claude/settings.local.json` 读取现有 MCP 服务器配置
715
+ 2. 使用默认映射表将 MCP 服务器映射到组件类型
716
+ 3. 生成结构化的 `component-config.json`
717
+
718
+ **迁移输出示例:**
719
+ ```json
720
+ {
721
+ "version": "1.0.0",
722
+ "components": {
723
+ "logService": {
724
+ "default": "aliyun-sls",
725
+ "providers": {
726
+ "aliyun-sls": {
727
+ "adapter": "aliyun-sls-adapter",
728
+ "enabled": true,
729
+ "mcpServer": "friday-sls-logs"
730
+ }
731
+ }
732
+ }
733
+ }
734
+ }
735
+ ```
736
+
737
+ ---
738
+
739
+ ## 📈 影响与指标
740
+
741
+ | 指标 | 使用 FlowMind 前 | 使用 FlowMind 后 |
742
+ |------|------------------|------------------|
743
+ | 重复指令 | 100% | ~5% |
744
+ | 工作流一致性 | 不稳定 | 98%+ |
745
+ | 问题排查时间 | 30+ 分钟 | 5 分钟 |
746
+ | 新人上手时间 | 2 周 | 2 天 |
747
+ | Token 消耗 | 高 | 降低 60%+ |
748
+ | 经验沉淀 | 无法保留 | 永久复用 |
749
+ | 设计决策质量 | 靠经验摸索 | 有据可依 |
750
+
751
+ ---
752
+
753
+ ## 🌟 社区共建
754
+
755
+ **FlowMind 的核心理念:越多人使用,越智能!**
756
+
757
+ ### 为什么需要你的参与?
758
+
759
+ ```
760
+ 每个人的工作习惯 → 汇聚成智能知识库
761
+ 你的每一次使用 → 让 FlowMind 更懂开发者
762
+ 你的每一次纠正 → 帮助所有人提升效率
763
+ ```
764
+
765
+ ### 如何参与共建?
766
+
767
+ 1. **使用并反馈** - 用 FlowMind 完成日常工作,告诉我们哪里可以更好
768
+ 2. **分享工作流** - 将你定义的工作流分享给团队和社区
769
+ 3. **贡献代码** - 添加新技能、改进学习算法、优化体验
770
+ 4. **传播理念** - 让更多开发者知道 FlowMind
771
+
772
+ ### 共建收益
773
+
774
+ - 🚀 **个人提效** - 重复工作交给 FlowMind
775
+ - 🧠 **集体智慧** - 汇聚千万开发者的工作经验
776
+ - 🌍 **开源共享** - 所有学习成果开源共享
777
+ - 🤝 **社区认可** - 贡献者将被永久记录
778
+
779
+ **让我们一起构建更智能的开发工具!**
780
+
781
+ ---
782
+
783
+ ## 🤝 贡献
784
+
785
+ 欢迎贡献!详见 [CONTRIBUTING.md](CONTRIBUTING.md)。
786
+
787
+ ### 贡献方式
788
+ - 🐛 报告 Bug
789
+ - 💡 建议功能
790
+ - 📝 改进文档
791
+ - 🛠️ 添加技能
792
+ - 🌍 翻译
793
+ - 🧪 编写测试
794
+
795
+ ---
796
+
797
+ ## 📄 许可证
798
+
799
+ MIT 许可证 - 详见 [LICENSE](LICENSE)。
800
+
801
+ ---
802
+
803
+ ## 🎓 你的团队导师
804
+
805
+ FlowMind 通过持续学习团队的实践经验,成为不同角色的得力助手:
806
+
807
+ ### 👨‍💻 对开发人员:把控质量,设计全流程化
808
+
809
+ - **全流程设计引导** - 从需求分析到架构设计,FlowMind 学习团队的设计模式,在每个环节提供经验支撑
810
+ - **编码质量把控** - 吸纳团队的 Code Review 标准和最佳实践,在编码阶段即时反馈
811
+ - **技术决策参考** - 基于历史项目经验,为技术选型和架构决策提供数据支撑
812
+
813
+ ### 🧪 对测试人员:以 Review 驱动质量,以需求校准方向
814
+
815
+ - **代码 Review 质量把控** - 学习团队的审查标准,辅助测试人员从代码层面发现潜在问题
816
+ - **需求核对与追溯** - 将需求与代码实现自动关联,确保测试覆盖完整,不遗漏边界场景
817
+ - **历史缺陷学习** - 从过往 Bug 模式中学习,提前识别高风险区域,精准分配测试资源
818
+
819
+ ### 📦 对产品人员:以史为鉴,推演未来发展
820
+
821
+ - **历史设计推敲** - 梳理历史资源和设计演进脉络,帮助产品理解"为什么这样设计"
822
+ - **升级路径规划** - 基于历史迭代规律和技术架构约束,推演合理的功能演进方向
823
+ - **需求可行性评估** - 结合技术实现成本和历史经验,为产品决策提供参考依据
824
+
825
+ > *FlowMind 不替代任何人——它将团队的设计智慧、质量标准和产品经验跨时间、跨角色地传承下去,让每个角色都能站在前人的肩膀上做出更好的决策。*
826
+
827
+ ---
828
+
829
+ ## 🙏 致谢
830
+
831
+ 基于以下技术构建:
832
+ - Claude AI - 智能核心
833
+ - MCP 协议 - 工具集成
834
+ - OpenSpec - 设计规范
835
+ - 开源社区 - 灵感与支持
836
+
837
+ ---
838
+
839
+ ## 📞 联系方式
840
+
841
+ - **GitHub**: [github.com/Eleven-M/flowmind](https://github.com/Eleven-M/flowmind)
842
+ - **邮箱**: 13060993305@163.com
843
+
844
+ ---
845
+
846
+ <div align="center">
847
+
848
+ **[⬆ 回到顶部](#-flowmind)**
849
+
850
+ 由 FlowMind 团队用 ❤️ 制作
851
+
852
+ *"学习一次,永远流畅"*
853
+
854
+ </div>