ai-composer 0.1.0__tar.gz

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 (125) hide show
  1. ai_composer-0.1.0/PKG-INFO +187 -0
  2. ai_composer-0.1.0/README.md +169 -0
  3. ai_composer-0.1.0/ai_composer.egg-info/PKG-INFO +187 -0
  4. ai_composer-0.1.0/ai_composer.egg-info/SOURCES.txt +123 -0
  5. ai_composer-0.1.0/ai_composer.egg-info/dependency_links.txt +1 -0
  6. ai_composer-0.1.0/ai_composer.egg-info/entry_points.txt +2 -0
  7. ai_composer-0.1.0/ai_composer.egg-info/requires.txt +10 -0
  8. ai_composer-0.1.0/ai_composer.egg-info/top_level.txt +4 -0
  9. ai_composer-0.1.0/apps/__init__.py +4 -0
  10. ai_composer-0.1.0/apps/file_convert/__init__.py +1 -0
  11. ai_composer-0.1.0/apps/file_convert/cli.py +34 -0
  12. ai_composer-0.1.0/apps/file_convert/config/config.local.ini +5 -0
  13. ai_composer-0.1.0/apps/file_convert/main.py +53 -0
  14. ai_composer-0.1.0/apps/file_convert/profile.py +26 -0
  15. ai_composer-0.1.0/apps/file_convert/shell.py +41 -0
  16. ai_composer-0.1.0/apps/file_convert/tasks.py +18 -0
  17. ai_composer-0.1.0/apps/file_convert/worker.py +41 -0
  18. ai_composer-0.1.0/apps/hello_aic/__init__.py +1 -0
  19. ai_composer-0.1.0/apps/hello_aic/config/config.local.ini +5 -0
  20. ai_composer-0.1.0/apps/hello_aic/main.py +36 -0
  21. ai_composer-0.1.0/apps/hello_aic/profile.py +10 -0
  22. ai_composer-0.1.0/apps/hello_aic/shell.py +41 -0
  23. ai_composer-0.1.0/apps/hello_aic/tasks.py +18 -0
  24. ai_composer-0.1.0/apps/hello_aic/worker.py +41 -0
  25. ai_composer-0.1.0/apps/mvp/__init__.py +6 -0
  26. ai_composer-0.1.0/apps/mvp/config/config.local.ini +7 -0
  27. ai_composer-0.1.0/apps/mvp/main.py +189 -0
  28. ai_composer-0.1.0/apps/mvp/profile.py +39 -0
  29. ai_composer-0.1.0/apps/mvp/shell.py +53 -0
  30. ai_composer-0.1.0/apps/mvp/tasks.py +63 -0
  31. ai_composer-0.1.0/apps/mvp/worker.py +67 -0
  32. ai_composer-0.1.0/apps/review/__init__.py +5 -0
  33. ai_composer-0.1.0/apps/review/config/config.local.ini +9 -0
  34. ai_composer-0.1.0/apps/review/main.py +274 -0
  35. ai_composer-0.1.0/apps/review/profile.py +50 -0
  36. ai_composer-0.1.0/apps/review/shell.py +51 -0
  37. ai_composer-0.1.0/apps/review/tasks.py +39 -0
  38. ai_composer-0.1.0/apps/review/worker.py +54 -0
  39. ai_composer-0.1.0/apps/todo/__init__.py +1 -0
  40. ai_composer-0.1.0/apps/todo/config/config.local.ini +5 -0
  41. ai_composer-0.1.0/apps/todo/main.py +68 -0
  42. ai_composer-0.1.0/apps/todo/profile.py +26 -0
  43. ai_composer-0.1.0/apps/todo/shell.py +41 -0
  44. ai_composer-0.1.0/apps/todo/tasks.py +18 -0
  45. ai_composer-0.1.0/apps/todo/worker.py +41 -0
  46. ai_composer-0.1.0/docs/learn/foundation.md +639 -0
  47. ai_composer-0.1.0/docs/learn/session-artifact-concept.md +180 -0
  48. ai_composer-0.1.0/docs/learn/tool-closed-loop.md +177 -0
  49. ai_composer-0.1.0/docs/learn/tutorial-build-app.md +254 -0
  50. ai_composer-0.1.0/extensions/__init__.py +6 -0
  51. ai_composer-0.1.0/extensions/business/demo/__init__.py +7 -0
  52. ai_composer-0.1.0/extensions/business/demo/plugin.py +77 -0
  53. ai_composer-0.1.0/extensions/business/file_convert/__init__.py +8 -0
  54. ai_composer-0.1.0/extensions/business/file_convert/plugin.py +70 -0
  55. ai_composer-0.1.0/extensions/business/hello/__init__.py +10 -0
  56. ai_composer-0.1.0/extensions/business/hello/plugin.py +38 -0
  57. ai_composer-0.1.0/extensions/business/review/__init__.py +8 -0
  58. ai_composer-0.1.0/extensions/business/review/data/__init__.py +14 -0
  59. ai_composer-0.1.0/extensions/business/review/data/models.py +98 -0
  60. ai_composer-0.1.0/extensions/business/review/knowledge.py +95 -0
  61. ai_composer-0.1.0/extensions/business/review/paths.py +98 -0
  62. ai_composer-0.1.0/extensions/business/review/pipeline.py +44 -0
  63. ai_composer-0.1.0/extensions/business/review/plugin.py +41 -0
  64. ai_composer-0.1.0/extensions/business/review/report.py +78 -0
  65. ai_composer-0.1.0/extensions/business/review/security/__init__.py +13 -0
  66. ai_composer-0.1.0/extensions/business/review/security/hermes_patches.py +168 -0
  67. ai_composer-0.1.0/extensions/business/review/security/prompt.py +224 -0
  68. ai_composer-0.1.0/extensions/business/review/service.py +778 -0
  69. ai_composer-0.1.0/extensions/business/review/skill.py +35 -0
  70. ai_composer-0.1.0/extensions/business/review/task.py +32 -0
  71. ai_composer-0.1.0/extensions/business/review/tools/__init__.py +9 -0
  72. ai_composer-0.1.0/extensions/business/review/tools/save_review_report.py +124 -0
  73. ai_composer-0.1.0/extensions/business/review/workspace.py +130 -0
  74. ai_composer-0.1.0/extensions/business/standard/__init__.py +33 -0
  75. ai_composer-0.1.0/extensions/business/standard/tool.py +96 -0
  76. ai_composer-0.1.0/extensions/business/todo/__init__.py +7 -0
  77. ai_composer-0.1.0/extensions/business/todo/plugin.py +63 -0
  78. ai_composer-0.1.0/extensions/business/writer/__init__.py +7 -0
  79. ai_composer-0.1.0/extensions/business/writer/batch.py +39 -0
  80. ai_composer-0.1.0/extensions/business/writer/feedback.py +32 -0
  81. ai_composer-0.1.0/extensions/business/writer/knowledge.py +24 -0
  82. ai_composer-0.1.0/extensions/business/writer/pipeline.py +180 -0
  83. ai_composer-0.1.0/extensions/business/writer/plugin.py +35 -0
  84. ai_composer-0.1.0/extensions/business/writer/render.py +134 -0
  85. ai_composer-0.1.0/extensions/business/writer/task.py +38 -0
  86. ai_composer-0.1.0/extensions/platform/__init__.py +9 -0
  87. ai_composer-0.1.0/extensions/platform/base/__init__.py +18 -0
  88. ai_composer-0.1.0/extensions/platform/base/cache.py +104 -0
  89. ai_composer-0.1.0/extensions/platform/base/config.py +39 -0
  90. ai_composer-0.1.0/extensions/platform/base/db.py +64 -0
  91. ai_composer-0.1.0/extensions/platform/base/jobs.py +264 -0
  92. ai_composer-0.1.0/extensions/platform/base/storage.py +92 -0
  93. ai_composer-0.1.0/extensions/platform/base/telemetry.py +34 -0
  94. ai_composer-0.1.0/extensions/platform/extract/__init__.py +131 -0
  95. ai_composer-0.1.0/extensions/platform/extract/convert_to_pdf.py +87 -0
  96. ai_composer-0.1.0/extensions/platform/extract/mineru_client.py +153 -0
  97. ai_composer-0.1.0/extensions/platform/loops/__init__.py +12 -0
  98. ai_composer-0.1.0/extensions/platform/loops/failover_loop.py +39 -0
  99. ai_composer-0.1.0/extensions/platform/loops/fake_loop.py +68 -0
  100. ai_composer-0.1.0/extensions/platform/loops/hermes_loop.py +126 -0
  101. ai_composer-0.1.0/extensions/platform/render/__init__.py +9 -0
  102. ai_composer-0.1.0/extensions/platform/render/registry.py +51 -0
  103. ai_composer-0.1.0/extensions/platform/security/__init__.py +9 -0
  104. ai_composer-0.1.0/extensions/platform/security/sandbox.py +269 -0
  105. ai_composer-0.1.0/extensions/platform/session/__init__.py +9 -0
  106. ai_composer-0.1.0/extensions/platform/session/artifacts.py +51 -0
  107. ai_composer-0.1.0/extensions/platform/session/session_service.py +81 -0
  108. ai_composer-0.1.0/extensions/platform/stream/__init__.py +9 -0
  109. ai_composer-0.1.0/extensions/platform/stream/sse.py +104 -0
  110. ai_composer-0.1.0/kernel/__init__.py +33 -0
  111. ai_composer-0.1.0/kernel/kernel.py +295 -0
  112. ai_composer-0.1.0/kernel/layout.py +149 -0
  113. ai_composer-0.1.0/kernel/plugin.py +27 -0
  114. ai_composer-0.1.0/kernel/protocols.py +82 -0
  115. ai_composer-0.1.0/pyproject.toml +47 -0
  116. ai_composer-0.1.0/requirements.txt +14 -0
  117. ai_composer-0.1.0/setup.cfg +4 -0
  118. ai_composer-0.1.0/tools/__init__.py +4 -0
  119. ai_composer-0.1.0/tools/assets/d3.min.js +2 -0
  120. ai_composer-0.1.0/tools/cli.py +53 -0
  121. ai_composer-0.1.0/tools/graph.py +620 -0
  122. ai_composer-0.1.0/tools/init.py +311 -0
  123. ai_composer-0.1.0/tools/promote.py +245 -0
  124. ai_composer-0.1.0/tools/template.py +342 -0
  125. ai_composer-0.1.0/tools/uninstall.py +226 -0
@@ -0,0 +1,187 @@
1
+ Metadata-Version: 2.4
2
+ Name: ai-composer
3
+ Version: 0.1.0
4
+ Summary: AI 应用开发范式: 应用 = 平台内核 + 业务插件组合
5
+ License-Expression: MIT
6
+ Requires-Python: >=3.11
7
+ Description-Content-Type: text/markdown
8
+ Requires-Dist: fastapi>=0.110
9
+ Requires-Dist: uvicorn>=0.27
10
+ Requires-Dist: celery>=5.3
11
+ Requires-Dist: redis>=4.5
12
+ Requires-Dist: python-docx>=1.1
13
+ Requires-Dist: pydantic>=2.0
14
+ Requires-Dist: sqlalchemy>=2.0
15
+ Requires-Dist: pymysql>=1.0
16
+ Requires-Dist: pymupdf>=1.24
17
+ Requires-Dist: python-multipart>=0.0.9
18
+
19
+ # AIComposer — AI 应用开发范式
20
+
21
+ > **应用 = 平台内核 + 业务插件组合**:AI 应用开发范式(Composer)——内核提供机制,
22
+ > 插件提供能力,应用壳做组合。加不同业务插件 = 不同应用。
23
+
24
+ ---
25
+
26
+ ## 一、范式一句话
27
+
28
+ ```
29
+ 应用 = 平台内核 + 业务插件组合
30
+ ```
31
+
32
+ - **内核**(`kernel/kernel.py`,~230 行,零能力零业务):服务注册表 / 事件总线(4 模式) / 挂载卸载(可逆效果) / 拓扑装配——只提供"机制"
33
+ - **插件**(`extensions/*`):能力提供方——协议 + 多实现 + 插件包装,三件套结构
34
+ - **应用壳**(`apps/mvp/`):组合者——选插件、传参数、暴露 HTTP 入口,不实现能力
35
+
36
+ ## 二、核心保证(全部实证)
37
+
38
+ | 保证 | 实证 |
39
+ |------|------|
40
+ | 自动装配 | inject 依赖 → 拓扑排序(乱序传入自动推导) |
41
+ | 自动销毁 | unmount 零残留、不误伤他插件(效果桶 + dispose 守卫) |
42
+ | 任意替换 | 假引擎→Hermes→降级引擎、LocalStorage→MemoryStorage、Thread→Celery,消费方零改动 |
43
+ | 业务即插件 | writer 业务插件独立挂载;加新业务 = 新插件 |
44
+ | 基础设施插件化 | config/telemetry/storage/cache/jobs 与业务插件完全同构 |
45
+ | 降级矩阵 | Failover 包装:Celery↔线程池、主引擎↔备用,broker 黑洞端口不挂起 |
46
+ | 可运行闭环 | FastAPI + Redis + Celery worker 端到端真实执行 |
47
+
48
+ ## 三、快速开始
49
+
50
+ ```bash
51
+ # 0. 安装(0.1.0 pip 包, 获得 aic 命令; 仓库开发模式用 python -m tools.cli 等价)
52
+ pip install -e . # 开发模式安装
53
+
54
+ # 1. 回归验证(确定性, 无 API 成本)
55
+ python test/m0_main.py # 内核机制 16 项
56
+ python test/m1_main.py # 引擎协议 9 项
57
+ python test/m1c_main.py # 沙箱 10 项
58
+ python test/m2_main.py --skip-real # 流水线 20 项
59
+ python test/m3_main.py --skip-real # 渲染 20 项
60
+ python test/m4_main.py # 生产化 18 项
61
+ python test/m4b_main.py # 基础设施插件化 14 项
62
+ python test/m4c_main.py # 任务队列插件化 12 项
63
+ python test/m5_main.py # 挂载校验 + 撤销影响分析 11 项
64
+ python test/m6_main.py # 壳布局契约 + 任务名协议(机制强制)32 项
65
+ python test/m7_main.py # 工具回归(graph/promote/uninstall/template)58 项
66
+
67
+ # 3. 启动参考应用(MVP)
68
+ python -m uvicorn apps.mvp.main:app --port 8007
69
+ # 可选: Redis + Celery worker(默认线程降级自动兜底)
70
+ docker run -d --name kit-redis -p 6379:6379 redis:7-alpine
71
+ python -m apps.mvp.worker
72
+
73
+ # 4. 工具链(安装后统一入口 aic; 仓库模式 python -m tools.cli 等价)
74
+ aic init my-app # 初始化新应用(装)
75
+ aic graph # 项目结构图谱(看)
76
+ aic promote MyPlugin --yes # 私有插件上浮为公共插件(升)
77
+ aic uninstall my-app --yes # 卸载应用/插件(卸)
78
+ aic template review --out ~/tpl # 新应用开发模板提取(模板)
79
+
80
+ # 5. 项目结构图谱(插件引用关系可视化, 自包含 HTML 双击即开)
81
+ python -m tools.graph # 生成 graph-viz.html(点击插件高亮引用/影响)
82
+
83
+ # 6. 卸载(元命令: 影响分析后删除, 默认只显示影响清单——预演, 不实际删除)
84
+ # 预演: 显示将删除什么/保留什么(共享与公共插件不删); 加 --yes 才真正执行
85
+ python -m tools.uninstall my-app # 预演: 看影响清单(壳 + 专属插件)
86
+ python -m tools.uninstall my-app --yes # 确认清单后真正卸载
87
+ python -m tools.uninstall --plugin DemoPlugin --yes # 卸载插件包(有挂载/消费方则拒绝)
88
+
89
+ # 7. 上浮(私有插件 → 公共插件: 移动包到公共位 + 更新全项目 import + 写 PUBLIC 标记,
90
+ # 上浮后该插件有独立生命周期——不随任何应用卸载删除, 只能单独 uninstall --plugin)
91
+ python -m tools.promote MyPlugin # 预演: 显示将移动哪些目录/改哪些引用/标记写哪
92
+ python -m tools.promote MyPlugin --yes # 确认清单后真正上浮到 platform 惯例位
93
+ python -m tools.promote MyPlugin --to business --yes # 上浮到领域惯例位(共享领域插件)
94
+
95
+ # 8. 新应用开发模板(跨应用复用核心用法: 只带走公共插件, 先 promote 再提取)
96
+ python -m tools.template review --dry-run # 预演: 只显示清单(公共插件 + 未上浮提示)
97
+ python -m tools.template review --out ~/my-tpl # 提取模板 = 基础 AIC + 公共插件
98
+ # + 示例壳 hello_aic + docs/learn
99
+ ```
100
+
101
+ ## 四、目录结构(三层模型)
102
+
103
+ ```
104
+ ai-composer/
105
+ ├── kernel/ # L1 内核(纯机制, 零能力零业务)
106
+ │ ├── kernel.py # Context/事件总线/挂载卸载/拓扑装配 (~230 行)
107
+ │ ├── layout.py # 壳布局契约(机制强制: 存在性 + 内容 AST 检查, M6)
108
+ │ ├── protocols.py # 协议清单: AgentTask/ToolHandler/KnowledgeProvider/AgentLoop
109
+ │ └── plugin.py # 插件基类 (inject + provides + apply)
110
+ ├── extensions/ # L2 插件(能力提供方; 推荐目录——插件区隐式, 除地基外皆可)
111
+ │ ├── platform/ # 通用能力惯例位(所有应用共享)
112
+ │ │ ├── base/ # 基础设施插件: config/telemetry/storage/cache/jobs
113
+ │ │ ├── loops/ # 引擎插件: FakeLoop / HermesLoop / FailoverLoop
114
+ │ │ ├── security/ # 沙箱插件(可逆补丁)
115
+ │ │ ├── session/ # 会话服务 ctx.sessions + artifacts 产物管理
116
+ │ │ ├── render/ # 渲染注册表 ctx.renderers
117
+ │ │ └── stream/ # SSE 进度推送 ctx.stream
118
+ │ └── business/ # 领域能力惯例位(每业务一套)
119
+ │ ├── demo/ # 内核演示插件(装配/事件/替换/销毁)
120
+ │ ├── review/ # 审查业务插件(strangler 重构: SOP/工具规则/知识/报告/流程/补丁)
121
+ │ └── writer/ # 编写业务插件(5 阶段流水线/docx/批量/反馈闭环)
122
+ ├── apps/ # L3 应用壳(组合与入口, 每应用一个目录)
123
+ │ ├── mvp/ # 参考应用(FastAPI + Celery + SSE)——新应用起点模板
124
+ │ │ ├── main.py # FastAPI 入口 + 5 端点(含 SSE)
125
+ │ │ ├── profile.py # 插件组合清单(应用壳组装点)
126
+ │ │ ├── shell.py # 装配共用(API 与 worker 进程同一组合)
127
+ │ │ ├── tasks.py # 任务双路径(线程内联 + Celery worker 自举)
128
+ │ │ └── worker.py # Celery worker 入口(-Q review,followup)
129
+ │ └── review/ # 审查应用壳(strangler 重构产物, 复用平台能力)
130
+ │ ├── main.py # FastAPI: /health /files/upload /conversations(SSE) /report /status...
131
+ │ ├── profile.py # 7 平台插件 + ReviewPlugin
132
+ │ ├── shell.py # 装配(config + 引擎决策 + 任务注册)
133
+ │ ├── tasks.py # 审查任务双路径(线程内联 + Celery worker 同名)
134
+ │ └── worker.py # Celery worker 入口(-Q review,followup)
135
+ ├── docs/ # 文档(api.md 接口 + design/ 设计文档)
136
+ ├── test/ # 回归验证脚本(12 个, m0~m7_main.py)
137
+ └── requirements.txt
138
+
139
+ tools/graph.py 生成物: graph-viz.html(自包含交互图谱, 已 gitignore)
140
+ ```
141
+
142
+ ## 五、设计文档导航
143
+
144
+ | 文档 | 内容 |
145
+ |------|------|
146
+ | [docs/tutorial/index.md](docs/tutorial/index.md) | **官方教程(0.1)**——安装→快速开始→第一个插件→应用壳→工具链→最佳实践 |
147
+ | [docs/learn/foundation.md](docs/learn/foundation.md) | **入门基础篇**(范式一句话→插件调用→三步法→会话产物→6 站完整流程,新人第一份讲解) |
148
+ | [docs/learn/tutorial-build-app.md](docs/learn/tutorial-build-app.md) | **从零搭一个应用**(需求→三步法→写插件→写壳→跑通→换清单变应用,概念收拢篇) |
149
+ | [docs/learn/tool-closed-loop.md](docs/learn/tool-closed-loop.md) | **工具闭环**(init 装 ↔ graph 看 ↔ uninstall 卸, 三命令共享同一套事实) |
150
+ | [docs/learn/session-artifact-concept.md](docs/learn/session-artifact-concept.md) | **核心概念**(会话/产物/执行形态,理解范式第一概念) |
151
+ | [docs/design/business-organization.md](docs/design/business-organization.md) | **新开发者上手包**(三步法 + 三层写法 + 协议速查,先读这个) |
152
+ | [docs/api.md](docs/api.md) | MVP 应用 API 接口文档(供测试调用) |
153
+ | [docs/test-api.md](docs/test-api.md) | 示例应用测试 API(file-convert/todo, curl 速查) |
154
+ | [docs/design/architecture.md](docs/design/architecture.md) | 本范式架构设计(总览) |
155
+ | [docs/design/kernel-design.md](docs/design/kernel-design.md) | 内核设计(协议清单/机制/验收标准) |
156
+ | [docs/design/kernel-principles.md](docs/design/kernel-principles.md) | 内核原理通俗讲解(分幕代码走查) |
157
+ | [docs/design/template-boundary.md](docs/design/template-boundary.md) | 业务耦合点清单(提炼依据) |
158
+ | [docs/design/writer-app-architecture.md](docs/design/writer-app-architecture.md) | 参考业务应用架构(业务即插件模型) |
159
+ | [docs/design/review-app-architecture.md](docs/design/review-app-architecture.md) | 审查应用重构架构(strangler: 壳 + review 插件, 全量对标) |
160
+ | [docs/design/module-promotion.md](docs/design/module-promotion.md) | **上浮原则**(插件内部分层/何时子域上浮为独立插件, 重构 vs 新项目) |
161
+ | [docs/design/organization-contract.md](docs/design/organization-contract.md) | **组织契约**(应用壳/任务名协议机制强制; 强制/约定/不强制三档 + 决策树) |
162
+ | [docs/design/verification-summary.md](docs/design/verification-summary.md) | 技术验证成果总结(127 项全绿 + MVP) |
163
+ | [docs/design/milestones/](docs/design/milestones/) | 里程碑文档(M0~M4d 完成, 后续预填) |
164
+
165
+ ## 六、研究路线
166
+
167
+ ```
168
+ 已完成: M0 内核 → M1a/b/c 引擎+沙箱 → M2 流水线 → M3 交付物
169
+ → M4a 生产化 → M4b/c 基础设施插件化 → M4d 可运行 MVP + Celery 真实路径
170
+ → M5 挂载校验 + 撤销影响分析
171
+ → strangler 第一版: 审查应用 → 壳 + review 插件(全量对标, fake 引擎全链路验证)
172
+ → M6 壳布局契约 + 任务名协议(机制强制, init 全量骨架)
173
+ 下一步: review 真实 hermes 端到端 → MinerU 提取引擎 → DB 切 MySQL → 前端对接
174
+ → review/writer 共享 standard 领域子插件 → SSE 进度推送 → 平台版本化
175
+ → KIT_ENGINE=hermes 真实引擎端到端 → SSE 进度推送 → 平台版本化
176
+ ```
177
+
178
+ ## 七、快速验证端到端
179
+
180
+ ```bash
181
+ python -m uvicorn apps.mvp.main:app --port 8007 &
182
+ curl http://127.0.0.1:8007/health
183
+ curl -X POST http://127.0.0.1:8007/api/v1/conversations \
184
+ -H "Content-Type: application/json" \
185
+ -d '{"project_info": "跨江特大桥挂篮施工方案"}'
186
+ # 3 秒后查询: 产物含 方案_v1.docx / 方案_v1.md / 3 章
187
+ ```
@@ -0,0 +1,169 @@
1
+ # AIComposer — AI 应用开发范式
2
+
3
+ > **应用 = 平台内核 + 业务插件组合**:AI 应用开发范式(Composer)——内核提供机制,
4
+ > 插件提供能力,应用壳做组合。加不同业务插件 = 不同应用。
5
+
6
+ ---
7
+
8
+ ## 一、范式一句话
9
+
10
+ ```
11
+ 应用 = 平台内核 + 业务插件组合
12
+ ```
13
+
14
+ - **内核**(`kernel/kernel.py`,~230 行,零能力零业务):服务注册表 / 事件总线(4 模式) / 挂载卸载(可逆效果) / 拓扑装配——只提供"机制"
15
+ - **插件**(`extensions/*`):能力提供方——协议 + 多实现 + 插件包装,三件套结构
16
+ - **应用壳**(`apps/mvp/`):组合者——选插件、传参数、暴露 HTTP 入口,不实现能力
17
+
18
+ ## 二、核心保证(全部实证)
19
+
20
+ | 保证 | 实证 |
21
+ |------|------|
22
+ | 自动装配 | inject 依赖 → 拓扑排序(乱序传入自动推导) |
23
+ | 自动销毁 | unmount 零残留、不误伤他插件(效果桶 + dispose 守卫) |
24
+ | 任意替换 | 假引擎→Hermes→降级引擎、LocalStorage→MemoryStorage、Thread→Celery,消费方零改动 |
25
+ | 业务即插件 | writer 业务插件独立挂载;加新业务 = 新插件 |
26
+ | 基础设施插件化 | config/telemetry/storage/cache/jobs 与业务插件完全同构 |
27
+ | 降级矩阵 | Failover 包装:Celery↔线程池、主引擎↔备用,broker 黑洞端口不挂起 |
28
+ | 可运行闭环 | FastAPI + Redis + Celery worker 端到端真实执行 |
29
+
30
+ ## 三、快速开始
31
+
32
+ ```bash
33
+ # 0. 安装(0.1.0 pip 包, 获得 aic 命令; 仓库开发模式用 python -m tools.cli 等价)
34
+ pip install -e . # 开发模式安装
35
+
36
+ # 1. 回归验证(确定性, 无 API 成本)
37
+ python test/m0_main.py # 内核机制 16 项
38
+ python test/m1_main.py # 引擎协议 9 项
39
+ python test/m1c_main.py # 沙箱 10 项
40
+ python test/m2_main.py --skip-real # 流水线 20 项
41
+ python test/m3_main.py --skip-real # 渲染 20 项
42
+ python test/m4_main.py # 生产化 18 项
43
+ python test/m4b_main.py # 基础设施插件化 14 项
44
+ python test/m4c_main.py # 任务队列插件化 12 项
45
+ python test/m5_main.py # 挂载校验 + 撤销影响分析 11 项
46
+ python test/m6_main.py # 壳布局契约 + 任务名协议(机制强制)32 项
47
+ python test/m7_main.py # 工具回归(graph/promote/uninstall/template)58 项
48
+
49
+ # 3. 启动参考应用(MVP)
50
+ python -m uvicorn apps.mvp.main:app --port 8007
51
+ # 可选: Redis + Celery worker(默认线程降级自动兜底)
52
+ docker run -d --name kit-redis -p 6379:6379 redis:7-alpine
53
+ python -m apps.mvp.worker
54
+
55
+ # 4. 工具链(安装后统一入口 aic; 仓库模式 python -m tools.cli 等价)
56
+ aic init my-app # 初始化新应用(装)
57
+ aic graph # 项目结构图谱(看)
58
+ aic promote MyPlugin --yes # 私有插件上浮为公共插件(升)
59
+ aic uninstall my-app --yes # 卸载应用/插件(卸)
60
+ aic template review --out ~/tpl # 新应用开发模板提取(模板)
61
+
62
+ # 5. 项目结构图谱(插件引用关系可视化, 自包含 HTML 双击即开)
63
+ python -m tools.graph # 生成 graph-viz.html(点击插件高亮引用/影响)
64
+
65
+ # 6. 卸载(元命令: 影响分析后删除, 默认只显示影响清单——预演, 不实际删除)
66
+ # 预演: 显示将删除什么/保留什么(共享与公共插件不删); 加 --yes 才真正执行
67
+ python -m tools.uninstall my-app # 预演: 看影响清单(壳 + 专属插件)
68
+ python -m tools.uninstall my-app --yes # 确认清单后真正卸载
69
+ python -m tools.uninstall --plugin DemoPlugin --yes # 卸载插件包(有挂载/消费方则拒绝)
70
+
71
+ # 7. 上浮(私有插件 → 公共插件: 移动包到公共位 + 更新全项目 import + 写 PUBLIC 标记,
72
+ # 上浮后该插件有独立生命周期——不随任何应用卸载删除, 只能单独 uninstall --plugin)
73
+ python -m tools.promote MyPlugin # 预演: 显示将移动哪些目录/改哪些引用/标记写哪
74
+ python -m tools.promote MyPlugin --yes # 确认清单后真正上浮到 platform 惯例位
75
+ python -m tools.promote MyPlugin --to business --yes # 上浮到领域惯例位(共享领域插件)
76
+
77
+ # 8. 新应用开发模板(跨应用复用核心用法: 只带走公共插件, 先 promote 再提取)
78
+ python -m tools.template review --dry-run # 预演: 只显示清单(公共插件 + 未上浮提示)
79
+ python -m tools.template review --out ~/my-tpl # 提取模板 = 基础 AIC + 公共插件
80
+ # + 示例壳 hello_aic + docs/learn
81
+ ```
82
+
83
+ ## 四、目录结构(三层模型)
84
+
85
+ ```
86
+ ai-composer/
87
+ ├── kernel/ # L1 内核(纯机制, 零能力零业务)
88
+ │ ├── kernel.py # Context/事件总线/挂载卸载/拓扑装配 (~230 行)
89
+ │ ├── layout.py # 壳布局契约(机制强制: 存在性 + 内容 AST 检查, M6)
90
+ │ ├── protocols.py # 协议清单: AgentTask/ToolHandler/KnowledgeProvider/AgentLoop
91
+ │ └── plugin.py # 插件基类 (inject + provides + apply)
92
+ ├── extensions/ # L2 插件(能力提供方; 推荐目录——插件区隐式, 除地基外皆可)
93
+ │ ├── platform/ # 通用能力惯例位(所有应用共享)
94
+ │ │ ├── base/ # 基础设施插件: config/telemetry/storage/cache/jobs
95
+ │ │ ├── loops/ # 引擎插件: FakeLoop / HermesLoop / FailoverLoop
96
+ │ │ ├── security/ # 沙箱插件(可逆补丁)
97
+ │ │ ├── session/ # 会话服务 ctx.sessions + artifacts 产物管理
98
+ │ │ ├── render/ # 渲染注册表 ctx.renderers
99
+ │ │ └── stream/ # SSE 进度推送 ctx.stream
100
+ │ └── business/ # 领域能力惯例位(每业务一套)
101
+ │ ├── demo/ # 内核演示插件(装配/事件/替换/销毁)
102
+ │ ├── review/ # 审查业务插件(strangler 重构: SOP/工具规则/知识/报告/流程/补丁)
103
+ │ └── writer/ # 编写业务插件(5 阶段流水线/docx/批量/反馈闭环)
104
+ ├── apps/ # L3 应用壳(组合与入口, 每应用一个目录)
105
+ │ ├── mvp/ # 参考应用(FastAPI + Celery + SSE)——新应用起点模板
106
+ │ │ ├── main.py # FastAPI 入口 + 5 端点(含 SSE)
107
+ │ │ ├── profile.py # 插件组合清单(应用壳组装点)
108
+ │ │ ├── shell.py # 装配共用(API 与 worker 进程同一组合)
109
+ │ │ ├── tasks.py # 任务双路径(线程内联 + Celery worker 自举)
110
+ │ │ └── worker.py # Celery worker 入口(-Q review,followup)
111
+ │ └── review/ # 审查应用壳(strangler 重构产物, 复用平台能力)
112
+ │ ├── main.py # FastAPI: /health /files/upload /conversations(SSE) /report /status...
113
+ │ ├── profile.py # 7 平台插件 + ReviewPlugin
114
+ │ ├── shell.py # 装配(config + 引擎决策 + 任务注册)
115
+ │ ├── tasks.py # 审查任务双路径(线程内联 + Celery worker 同名)
116
+ │ └── worker.py # Celery worker 入口(-Q review,followup)
117
+ ├── docs/ # 文档(api.md 接口 + design/ 设计文档)
118
+ ├── test/ # 回归验证脚本(12 个, m0~m7_main.py)
119
+ └── requirements.txt
120
+
121
+ tools/graph.py 生成物: graph-viz.html(自包含交互图谱, 已 gitignore)
122
+ ```
123
+
124
+ ## 五、设计文档导航
125
+
126
+ | 文档 | 内容 |
127
+ |------|------|
128
+ | [docs/tutorial/index.md](docs/tutorial/index.md) | **官方教程(0.1)**——安装→快速开始→第一个插件→应用壳→工具链→最佳实践 |
129
+ | [docs/learn/foundation.md](docs/learn/foundation.md) | **入门基础篇**(范式一句话→插件调用→三步法→会话产物→6 站完整流程,新人第一份讲解) |
130
+ | [docs/learn/tutorial-build-app.md](docs/learn/tutorial-build-app.md) | **从零搭一个应用**(需求→三步法→写插件→写壳→跑通→换清单变应用,概念收拢篇) |
131
+ | [docs/learn/tool-closed-loop.md](docs/learn/tool-closed-loop.md) | **工具闭环**(init 装 ↔ graph 看 ↔ uninstall 卸, 三命令共享同一套事实) |
132
+ | [docs/learn/session-artifact-concept.md](docs/learn/session-artifact-concept.md) | **核心概念**(会话/产物/执行形态,理解范式第一概念) |
133
+ | [docs/design/business-organization.md](docs/design/business-organization.md) | **新开发者上手包**(三步法 + 三层写法 + 协议速查,先读这个) |
134
+ | [docs/api.md](docs/api.md) | MVP 应用 API 接口文档(供测试调用) |
135
+ | [docs/test-api.md](docs/test-api.md) | 示例应用测试 API(file-convert/todo, curl 速查) |
136
+ | [docs/design/architecture.md](docs/design/architecture.md) | 本范式架构设计(总览) |
137
+ | [docs/design/kernel-design.md](docs/design/kernel-design.md) | 内核设计(协议清单/机制/验收标准) |
138
+ | [docs/design/kernel-principles.md](docs/design/kernel-principles.md) | 内核原理通俗讲解(分幕代码走查) |
139
+ | [docs/design/template-boundary.md](docs/design/template-boundary.md) | 业务耦合点清单(提炼依据) |
140
+ | [docs/design/writer-app-architecture.md](docs/design/writer-app-architecture.md) | 参考业务应用架构(业务即插件模型) |
141
+ | [docs/design/review-app-architecture.md](docs/design/review-app-architecture.md) | 审查应用重构架构(strangler: 壳 + review 插件, 全量对标) |
142
+ | [docs/design/module-promotion.md](docs/design/module-promotion.md) | **上浮原则**(插件内部分层/何时子域上浮为独立插件, 重构 vs 新项目) |
143
+ | [docs/design/organization-contract.md](docs/design/organization-contract.md) | **组织契约**(应用壳/任务名协议机制强制; 强制/约定/不强制三档 + 决策树) |
144
+ | [docs/design/verification-summary.md](docs/design/verification-summary.md) | 技术验证成果总结(127 项全绿 + MVP) |
145
+ | [docs/design/milestones/](docs/design/milestones/) | 里程碑文档(M0~M4d 完成, 后续预填) |
146
+
147
+ ## 六、研究路线
148
+
149
+ ```
150
+ 已完成: M0 内核 → M1a/b/c 引擎+沙箱 → M2 流水线 → M3 交付物
151
+ → M4a 生产化 → M4b/c 基础设施插件化 → M4d 可运行 MVP + Celery 真实路径
152
+ → M5 挂载校验 + 撤销影响分析
153
+ → strangler 第一版: 审查应用 → 壳 + review 插件(全量对标, fake 引擎全链路验证)
154
+ → M6 壳布局契约 + 任务名协议(机制强制, init 全量骨架)
155
+ 下一步: review 真实 hermes 端到端 → MinerU 提取引擎 → DB 切 MySQL → 前端对接
156
+ → review/writer 共享 standard 领域子插件 → SSE 进度推送 → 平台版本化
157
+ → KIT_ENGINE=hermes 真实引擎端到端 → SSE 进度推送 → 平台版本化
158
+ ```
159
+
160
+ ## 七、快速验证端到端
161
+
162
+ ```bash
163
+ python -m uvicorn apps.mvp.main:app --port 8007 &
164
+ curl http://127.0.0.1:8007/health
165
+ curl -X POST http://127.0.0.1:8007/api/v1/conversations \
166
+ -H "Content-Type: application/json" \
167
+ -d '{"project_info": "跨江特大桥挂篮施工方案"}'
168
+ # 3 秒后查询: 产物含 方案_v1.docx / 方案_v1.md / 3 章
169
+ ```
@@ -0,0 +1,187 @@
1
+ Metadata-Version: 2.4
2
+ Name: ai-composer
3
+ Version: 0.1.0
4
+ Summary: AI 应用开发范式: 应用 = 平台内核 + 业务插件组合
5
+ License-Expression: MIT
6
+ Requires-Python: >=3.11
7
+ Description-Content-Type: text/markdown
8
+ Requires-Dist: fastapi>=0.110
9
+ Requires-Dist: uvicorn>=0.27
10
+ Requires-Dist: celery>=5.3
11
+ Requires-Dist: redis>=4.5
12
+ Requires-Dist: python-docx>=1.1
13
+ Requires-Dist: pydantic>=2.0
14
+ Requires-Dist: sqlalchemy>=2.0
15
+ Requires-Dist: pymysql>=1.0
16
+ Requires-Dist: pymupdf>=1.24
17
+ Requires-Dist: python-multipart>=0.0.9
18
+
19
+ # AIComposer — AI 应用开发范式
20
+
21
+ > **应用 = 平台内核 + 业务插件组合**:AI 应用开发范式(Composer)——内核提供机制,
22
+ > 插件提供能力,应用壳做组合。加不同业务插件 = 不同应用。
23
+
24
+ ---
25
+
26
+ ## 一、范式一句话
27
+
28
+ ```
29
+ 应用 = 平台内核 + 业务插件组合
30
+ ```
31
+
32
+ - **内核**(`kernel/kernel.py`,~230 行,零能力零业务):服务注册表 / 事件总线(4 模式) / 挂载卸载(可逆效果) / 拓扑装配——只提供"机制"
33
+ - **插件**(`extensions/*`):能力提供方——协议 + 多实现 + 插件包装,三件套结构
34
+ - **应用壳**(`apps/mvp/`):组合者——选插件、传参数、暴露 HTTP 入口,不实现能力
35
+
36
+ ## 二、核心保证(全部实证)
37
+
38
+ | 保证 | 实证 |
39
+ |------|------|
40
+ | 自动装配 | inject 依赖 → 拓扑排序(乱序传入自动推导) |
41
+ | 自动销毁 | unmount 零残留、不误伤他插件(效果桶 + dispose 守卫) |
42
+ | 任意替换 | 假引擎→Hermes→降级引擎、LocalStorage→MemoryStorage、Thread→Celery,消费方零改动 |
43
+ | 业务即插件 | writer 业务插件独立挂载;加新业务 = 新插件 |
44
+ | 基础设施插件化 | config/telemetry/storage/cache/jobs 与业务插件完全同构 |
45
+ | 降级矩阵 | Failover 包装:Celery↔线程池、主引擎↔备用,broker 黑洞端口不挂起 |
46
+ | 可运行闭环 | FastAPI + Redis + Celery worker 端到端真实执行 |
47
+
48
+ ## 三、快速开始
49
+
50
+ ```bash
51
+ # 0. 安装(0.1.0 pip 包, 获得 aic 命令; 仓库开发模式用 python -m tools.cli 等价)
52
+ pip install -e . # 开发模式安装
53
+
54
+ # 1. 回归验证(确定性, 无 API 成本)
55
+ python test/m0_main.py # 内核机制 16 项
56
+ python test/m1_main.py # 引擎协议 9 项
57
+ python test/m1c_main.py # 沙箱 10 项
58
+ python test/m2_main.py --skip-real # 流水线 20 项
59
+ python test/m3_main.py --skip-real # 渲染 20 项
60
+ python test/m4_main.py # 生产化 18 项
61
+ python test/m4b_main.py # 基础设施插件化 14 项
62
+ python test/m4c_main.py # 任务队列插件化 12 项
63
+ python test/m5_main.py # 挂载校验 + 撤销影响分析 11 项
64
+ python test/m6_main.py # 壳布局契约 + 任务名协议(机制强制)32 项
65
+ python test/m7_main.py # 工具回归(graph/promote/uninstall/template)58 项
66
+
67
+ # 3. 启动参考应用(MVP)
68
+ python -m uvicorn apps.mvp.main:app --port 8007
69
+ # 可选: Redis + Celery worker(默认线程降级自动兜底)
70
+ docker run -d --name kit-redis -p 6379:6379 redis:7-alpine
71
+ python -m apps.mvp.worker
72
+
73
+ # 4. 工具链(安装后统一入口 aic; 仓库模式 python -m tools.cli 等价)
74
+ aic init my-app # 初始化新应用(装)
75
+ aic graph # 项目结构图谱(看)
76
+ aic promote MyPlugin --yes # 私有插件上浮为公共插件(升)
77
+ aic uninstall my-app --yes # 卸载应用/插件(卸)
78
+ aic template review --out ~/tpl # 新应用开发模板提取(模板)
79
+
80
+ # 5. 项目结构图谱(插件引用关系可视化, 自包含 HTML 双击即开)
81
+ python -m tools.graph # 生成 graph-viz.html(点击插件高亮引用/影响)
82
+
83
+ # 6. 卸载(元命令: 影响分析后删除, 默认只显示影响清单——预演, 不实际删除)
84
+ # 预演: 显示将删除什么/保留什么(共享与公共插件不删); 加 --yes 才真正执行
85
+ python -m tools.uninstall my-app # 预演: 看影响清单(壳 + 专属插件)
86
+ python -m tools.uninstall my-app --yes # 确认清单后真正卸载
87
+ python -m tools.uninstall --plugin DemoPlugin --yes # 卸载插件包(有挂载/消费方则拒绝)
88
+
89
+ # 7. 上浮(私有插件 → 公共插件: 移动包到公共位 + 更新全项目 import + 写 PUBLIC 标记,
90
+ # 上浮后该插件有独立生命周期——不随任何应用卸载删除, 只能单独 uninstall --plugin)
91
+ python -m tools.promote MyPlugin # 预演: 显示将移动哪些目录/改哪些引用/标记写哪
92
+ python -m tools.promote MyPlugin --yes # 确认清单后真正上浮到 platform 惯例位
93
+ python -m tools.promote MyPlugin --to business --yes # 上浮到领域惯例位(共享领域插件)
94
+
95
+ # 8. 新应用开发模板(跨应用复用核心用法: 只带走公共插件, 先 promote 再提取)
96
+ python -m tools.template review --dry-run # 预演: 只显示清单(公共插件 + 未上浮提示)
97
+ python -m tools.template review --out ~/my-tpl # 提取模板 = 基础 AIC + 公共插件
98
+ # + 示例壳 hello_aic + docs/learn
99
+ ```
100
+
101
+ ## 四、目录结构(三层模型)
102
+
103
+ ```
104
+ ai-composer/
105
+ ├── kernel/ # L1 内核(纯机制, 零能力零业务)
106
+ │ ├── kernel.py # Context/事件总线/挂载卸载/拓扑装配 (~230 行)
107
+ │ ├── layout.py # 壳布局契约(机制强制: 存在性 + 内容 AST 检查, M6)
108
+ │ ├── protocols.py # 协议清单: AgentTask/ToolHandler/KnowledgeProvider/AgentLoop
109
+ │ └── plugin.py # 插件基类 (inject + provides + apply)
110
+ ├── extensions/ # L2 插件(能力提供方; 推荐目录——插件区隐式, 除地基外皆可)
111
+ │ ├── platform/ # 通用能力惯例位(所有应用共享)
112
+ │ │ ├── base/ # 基础设施插件: config/telemetry/storage/cache/jobs
113
+ │ │ ├── loops/ # 引擎插件: FakeLoop / HermesLoop / FailoverLoop
114
+ │ │ ├── security/ # 沙箱插件(可逆补丁)
115
+ │ │ ├── session/ # 会话服务 ctx.sessions + artifacts 产物管理
116
+ │ │ ├── render/ # 渲染注册表 ctx.renderers
117
+ │ │ └── stream/ # SSE 进度推送 ctx.stream
118
+ │ └── business/ # 领域能力惯例位(每业务一套)
119
+ │ ├── demo/ # 内核演示插件(装配/事件/替换/销毁)
120
+ │ ├── review/ # 审查业务插件(strangler 重构: SOP/工具规则/知识/报告/流程/补丁)
121
+ │ └── writer/ # 编写业务插件(5 阶段流水线/docx/批量/反馈闭环)
122
+ ├── apps/ # L3 应用壳(组合与入口, 每应用一个目录)
123
+ │ ├── mvp/ # 参考应用(FastAPI + Celery + SSE)——新应用起点模板
124
+ │ │ ├── main.py # FastAPI 入口 + 5 端点(含 SSE)
125
+ │ │ ├── profile.py # 插件组合清单(应用壳组装点)
126
+ │ │ ├── shell.py # 装配共用(API 与 worker 进程同一组合)
127
+ │ │ ├── tasks.py # 任务双路径(线程内联 + Celery worker 自举)
128
+ │ │ └── worker.py # Celery worker 入口(-Q review,followup)
129
+ │ └── review/ # 审查应用壳(strangler 重构产物, 复用平台能力)
130
+ │ ├── main.py # FastAPI: /health /files/upload /conversations(SSE) /report /status...
131
+ │ ├── profile.py # 7 平台插件 + ReviewPlugin
132
+ │ ├── shell.py # 装配(config + 引擎决策 + 任务注册)
133
+ │ ├── tasks.py # 审查任务双路径(线程内联 + Celery worker 同名)
134
+ │ └── worker.py # Celery worker 入口(-Q review,followup)
135
+ ├── docs/ # 文档(api.md 接口 + design/ 设计文档)
136
+ ├── test/ # 回归验证脚本(12 个, m0~m7_main.py)
137
+ └── requirements.txt
138
+
139
+ tools/graph.py 生成物: graph-viz.html(自包含交互图谱, 已 gitignore)
140
+ ```
141
+
142
+ ## 五、设计文档导航
143
+
144
+ | 文档 | 内容 |
145
+ |------|------|
146
+ | [docs/tutorial/index.md](docs/tutorial/index.md) | **官方教程(0.1)**——安装→快速开始→第一个插件→应用壳→工具链→最佳实践 |
147
+ | [docs/learn/foundation.md](docs/learn/foundation.md) | **入门基础篇**(范式一句话→插件调用→三步法→会话产物→6 站完整流程,新人第一份讲解) |
148
+ | [docs/learn/tutorial-build-app.md](docs/learn/tutorial-build-app.md) | **从零搭一个应用**(需求→三步法→写插件→写壳→跑通→换清单变应用,概念收拢篇) |
149
+ | [docs/learn/tool-closed-loop.md](docs/learn/tool-closed-loop.md) | **工具闭环**(init 装 ↔ graph 看 ↔ uninstall 卸, 三命令共享同一套事实) |
150
+ | [docs/learn/session-artifact-concept.md](docs/learn/session-artifact-concept.md) | **核心概念**(会话/产物/执行形态,理解范式第一概念) |
151
+ | [docs/design/business-organization.md](docs/design/business-organization.md) | **新开发者上手包**(三步法 + 三层写法 + 协议速查,先读这个) |
152
+ | [docs/api.md](docs/api.md) | MVP 应用 API 接口文档(供测试调用) |
153
+ | [docs/test-api.md](docs/test-api.md) | 示例应用测试 API(file-convert/todo, curl 速查) |
154
+ | [docs/design/architecture.md](docs/design/architecture.md) | 本范式架构设计(总览) |
155
+ | [docs/design/kernel-design.md](docs/design/kernel-design.md) | 内核设计(协议清单/机制/验收标准) |
156
+ | [docs/design/kernel-principles.md](docs/design/kernel-principles.md) | 内核原理通俗讲解(分幕代码走查) |
157
+ | [docs/design/template-boundary.md](docs/design/template-boundary.md) | 业务耦合点清单(提炼依据) |
158
+ | [docs/design/writer-app-architecture.md](docs/design/writer-app-architecture.md) | 参考业务应用架构(业务即插件模型) |
159
+ | [docs/design/review-app-architecture.md](docs/design/review-app-architecture.md) | 审查应用重构架构(strangler: 壳 + review 插件, 全量对标) |
160
+ | [docs/design/module-promotion.md](docs/design/module-promotion.md) | **上浮原则**(插件内部分层/何时子域上浮为独立插件, 重构 vs 新项目) |
161
+ | [docs/design/organization-contract.md](docs/design/organization-contract.md) | **组织契约**(应用壳/任务名协议机制强制; 强制/约定/不强制三档 + 决策树) |
162
+ | [docs/design/verification-summary.md](docs/design/verification-summary.md) | 技术验证成果总结(127 项全绿 + MVP) |
163
+ | [docs/design/milestones/](docs/design/milestones/) | 里程碑文档(M0~M4d 完成, 后续预填) |
164
+
165
+ ## 六、研究路线
166
+
167
+ ```
168
+ 已完成: M0 内核 → M1a/b/c 引擎+沙箱 → M2 流水线 → M3 交付物
169
+ → M4a 生产化 → M4b/c 基础设施插件化 → M4d 可运行 MVP + Celery 真实路径
170
+ → M5 挂载校验 + 撤销影响分析
171
+ → strangler 第一版: 审查应用 → 壳 + review 插件(全量对标, fake 引擎全链路验证)
172
+ → M6 壳布局契约 + 任务名协议(机制强制, init 全量骨架)
173
+ 下一步: review 真实 hermes 端到端 → MinerU 提取引擎 → DB 切 MySQL → 前端对接
174
+ → review/writer 共享 standard 领域子插件 → SSE 进度推送 → 平台版本化
175
+ → KIT_ENGINE=hermes 真实引擎端到端 → SSE 进度推送 → 平台版本化
176
+ ```
177
+
178
+ ## 七、快速验证端到端
179
+
180
+ ```bash
181
+ python -m uvicorn apps.mvp.main:app --port 8007 &
182
+ curl http://127.0.0.1:8007/health
183
+ curl -X POST http://127.0.0.1:8007/api/v1/conversations \
184
+ -H "Content-Type: application/json" \
185
+ -d '{"project_info": "跨江特大桥挂篮施工方案"}'
186
+ # 3 秒后查询: 产物含 方案_v1.docx / 方案_v1.md / 3 章
187
+ ```