ai-flow-architect 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 (45) hide show
  1. ai_flow_architect-0.1.0/CHANGELOG.md +95 -0
  2. ai_flow_architect-0.1.0/CONTRIBUTING.md +205 -0
  3. ai_flow_architect-0.1.0/LICENSE +200 -0
  4. ai_flow_architect-0.1.0/MANIFEST.in +10 -0
  5. ai_flow_architect-0.1.0/PKG-INFO +616 -0
  6. ai_flow_architect-0.1.0/README.md +351 -0
  7. ai_flow_architect-0.1.0/docs/getting_started.md +226 -0
  8. ai_flow_architect-0.1.0/docs/img/architecture.png +0 -0
  9. ai_flow_architect-0.1.0/docs/img/logo.svg +148 -0
  10. ai_flow_architect-0.1.0/pyproject.toml +149 -0
  11. ai_flow_architect-0.1.0/requirements.txt +36 -0
  12. ai_flow_architect-0.1.0/setup.cfg +4 -0
  13. ai_flow_architect-0.1.0/setup.py +79 -0
  14. ai_flow_architect-0.1.0/src/ai_flow_architect/__init__.py +13 -0
  15. ai_flow_architect-0.1.0/src/ai_flow_architect/brains/__init__.py +9 -0
  16. ai_flow_architect-0.1.0/src/ai_flow_architect/brains/brain_one.py +688 -0
  17. ai_flow_architect-0.1.0/src/ai_flow_architect/brains/brain_opponent.py +131 -0
  18. ai_flow_architect-0.1.0/src/ai_flow_architect/brains/brain_two.py +519 -0
  19. ai_flow_architect-0.1.0/src/ai_flow_architect/cli.py +6 -0
  20. ai_flow_architect-0.1.0/src/ai_flow_architect/config/default.yaml +135 -0
  21. ai_flow_architect-0.1.0/src/ai_flow_architect/config/models.yaml +528 -0
  22. ai_flow_architect-0.1.0/src/ai_flow_architect/core/__init__.py +10 -0
  23. ai_flow_architect-0.1.0/src/ai_flow_architect/core/architect.py +659 -0
  24. ai_flow_architect-0.1.0/src/ai_flow_architect/core/cache.py +351 -0
  25. ai_flow_architect-0.1.0/src/ai_flow_architect/core/context.py +265 -0
  26. ai_flow_architect-0.1.0/src/ai_flow_architect/core/scheduler.py +474 -0
  27. ai_flow_architect-0.1.0/src/ai_flow_architect/experts/__init__.py +17 -0
  28. ai_flow_architect-0.1.0/src/ai_flow_architect/experts/base.py +291 -0
  29. ai_flow_architect-0.1.0/src/ai_flow_architect/experts/creative.py +407 -0
  30. ai_flow_architect-0.1.0/src/ai_flow_architect/experts/evaluator.py +389 -0
  31. ai_flow_architect-0.1.0/src/ai_flow_architect/experts/programmer.py +331 -0
  32. ai_flow_architect-0.1.0/src/ai_flow_architect/experts/reviewer.py +408 -0
  33. ai_flow_architect-0.1.0/src/ai_flow_architect/utils/__init__.py +10 -0
  34. ai_flow_architect-0.1.0/src/ai_flow_architect/utils/compressor.py +335 -0
  35. ai_flow_architect-0.1.0/src/ai_flow_architect/utils/decision_recorder.py +164 -0
  36. ai_flow_architect-0.1.0/src/ai_flow_architect/utils/llm_client.py +352 -0
  37. ai_flow_architect-0.1.0/src/ai_flow_architect/utils/token_counter.py +292 -0
  38. ai_flow_architect-0.1.0/src/ai_flow_architect/utils/validator.py +510 -0
  39. ai_flow_architect-0.1.0/src/ai_flow_architect.egg-info/PKG-INFO +616 -0
  40. ai_flow_architect-0.1.0/src/ai_flow_architect.egg-info/SOURCES.txt +43 -0
  41. ai_flow_architect-0.1.0/src/ai_flow_architect.egg-info/dependency_links.txt +1 -0
  42. ai_flow_architect-0.1.0/src/ai_flow_architect.egg-info/entry_points.txt +9 -0
  43. ai_flow_architect-0.1.0/src/ai_flow_architect.egg-info/not-zip-safe +1 -0
  44. ai_flow_architect-0.1.0/src/ai_flow_architect.egg-info/requires.txt +37 -0
  45. ai_flow_architect-0.1.0/src/ai_flow_architect.egg-info/top_level.txt +1 -0
@@ -0,0 +1,95 @@
1
+ # 更新日志
2
+
3
+ 本项目的所有重要更改都将记录在此文件。
4
+
5
+ 格式基于 [Keep a Changelog](https://keepachangelog.com/zh-CN/1.0.0/),
6
+ 并且本项目遵循 [语义化版本](https://semver.org/lang/zh-CN/)。
7
+
8
+ ## [未发布]
9
+
10
+ ### 新增
11
+ - 项目初始化
12
+ - 核心架构设计
13
+ - 双脑系统框架
14
+ - 专家角色定义
15
+ - 缓存机制
16
+ - 上下文压缩
17
+ - 本地规则预检
18
+ - 智能跳步判断
19
+
20
+ ### 计划
21
+ - 完善一号脑需求分析功能
22
+ - 实现二号脑质量审核
23
+ - 添加预置专家团配置
24
+ - 开发CLI界面
25
+ - 编写详细文档
26
+ - 添加单元测试和集成测试
27
+
28
+ ## [0.1.0] - 2026-05-18
29
+
30
+ ### 新增
31
+ - 项目创建
32
+ - Apache 2.0 许可证
33
+ - 基础项目结构
34
+ - README文档
35
+ - 贡献指南
36
+ - 更新日志
37
+
38
+ ---
39
+
40
+ ## 版本说明
41
+
42
+ ### 版本号规则
43
+
44
+ 我们使用语义化版本号:`主版本号.次版本号.修订号`
45
+
46
+ - **主版本号**:不兼容的API修改
47
+ - **次版本号**:向下兼容的功能性新增
48
+ - **修订号**:向下兼容的问题修正
49
+
50
+ ### 更改类型
51
+
52
+ - **新增** - 新功能
53
+ - **变更** - 对现有功能的变更
54
+ - **弃用** - 即将移除的功能
55
+ - **移除** - 已移除的功能
56
+ - **修复** - 问题修复
57
+ - **安全** - 安全相关的更改
58
+
59
+ ---
60
+
61
+ ## 如何更新此文件
62
+
63
+ 当进行重要更改时,请按以下格式添加条目:
64
+
65
+ ```markdown
66
+ ## [版本号] - YYYY-MM-DD
67
+
68
+ ### 新增
69
+ - 新功能描述
70
+
71
+ ### 变更
72
+ - 变更描述
73
+
74
+ ### 修复
75
+ - 修复描述
76
+ ```
77
+
78
+ ### 示例
79
+
80
+ ```markdown
81
+ ## [1.2.0] - 2026-06-01
82
+
83
+ ### 新增
84
+ - 添加数据可视化专家角色
85
+ - 支持自定义模型配置
86
+ - 新增Web界面
87
+
88
+ ### 变更
89
+ - 优化缓存策略,提升30%性能
90
+ - 改进错误提示信息
91
+
92
+ ### 修复
93
+ - 修复并发执行时的竞态条件
94
+ - 解决Token计数不准确的问题
95
+ ```
@@ -0,0 +1,205 @@
1
+ # 贡献指南
2
+
3
+ 感谢你对 AI Flow Architect 项目的关注!我们欢迎所有形式的贡献。
4
+
5
+ ## 如何贡献
6
+
7
+ ### 报告问题
8
+
9
+ 如果你发现了bug或有功能建议,请通过GitHub Issues提交:
10
+
11
+ 1. 使用清晰的标题描述问题
12
+ 2. 提供详细的复现步骤
13
+ 3. 包含相关的错误信息或截图
14
+ 4. 说明你的运行环境(Python版本、操作系统等)
15
+
16
+ ### 提交代码
17
+
18
+ 1. **Fork 本仓库**
19
+ ```bash
20
+ # 点击页面右上角的 Fork 按钮
21
+ ```
22
+
23
+ 2. **克隆你的 Fork**
24
+ ```bash
25
+ git clone https://github.com/wdnmd1265/ai-flow-architect.git
26
+ cd ai-flow-architect
27
+ ```
28
+
29
+ 3. **创建特性分支**
30
+ ```bash
31
+ git checkout -b feature/你的特性名称
32
+ ```
33
+
34
+ 4. **安装开发依赖**
35
+ ```bash
36
+ pip install -e ".[dev]"
37
+ ```
38
+
39
+ 5. **进行修改**
40
+ - 确保代码符合项目规范
41
+ - 添加必要的测试
42
+ - 更新相关文档
43
+
44
+ 6. **运行测试**
45
+ ```bash
46
+ pytest tests/
47
+ ```
48
+
49
+ 7. **代码格式化**
50
+ ```bash
51
+ black src/ tests/
52
+ isort src/ tests/
53
+ ```
54
+
55
+ 8. **提交更改**
56
+ ```bash
57
+ git add .
58
+ git commit -m "feat: 添加你的特性描述"
59
+ ```
60
+
61
+ 9. **推送到你的 Fork**
62
+ ```bash
63
+ git push origin feature/你的特性名称
64
+ ```
65
+
66
+ 10. **创建 Pull Request**
67
+ - 回到GitHub页面,点击 "New Pull Request"
68
+ - 填写详细的描述说明你的修改
69
+ - 等待代码审查
70
+
71
+ ## 代码规范
72
+
73
+ ### Python 代码风格
74
+
75
+ - 遵循 PEP 8 规范
76
+ - 使用 Black 进行代码格式化
77
+ - 使用 isort 进行导入排序
78
+ - 类型注解:尽可能添加类型提示
79
+ - 文档字符串:所有公共函数和类必须有文档字符串
80
+
81
+ ### 提交信息规范
82
+
83
+ 使用 Conventional Commits 规范:
84
+
85
+ ```
86
+ <类型>[可选的作用域]: <描述>
87
+
88
+ [可选的正文]
89
+
90
+ [可选的脚注]
91
+ ```
92
+
93
+ 类型包括:
94
+ - `feat`: 新功能
95
+ - `fix`: 修复bug
96
+ - `docs`: 文档更新
97
+ - `style`: 代码格式调整(不影响逻辑)
98
+ - `refactor`: 代码重构
99
+ - `test`: 测试相关
100
+ - `chore`: 构建过程或辅助工具的变动
101
+
102
+ 示例:
103
+ ```
104
+ feat(brain): 添加二号脑质量审核功能
105
+
106
+ - 实现蓝图与交付物的逐项比对
107
+ - 添加质量报告生成逻辑
108
+ - 支持退回修改机制
109
+
110
+ Closes #123
111
+ ```
112
+
113
+ ## 开发环境设置
114
+
115
+ ### 依赖安装
116
+
117
+ ```bash
118
+ # 安装主依赖
119
+ pip install -r requirements.txt
120
+
121
+ # 安装开发依赖
122
+ pip install -e ".[dev]"
123
+ ```
124
+
125
+ ### 开发工具
126
+
127
+ 推荐使用以下工具:
128
+
129
+ - **编辑器**: VS Code + Python扩展
130
+ - **代码格式化**: Black + isort
131
+ - **类型检查**: mypy
132
+ - **测试**: pytest
133
+ - **文档**: Sphinx
134
+
135
+ ### 运行测试
136
+
137
+ ```bash
138
+ # 运行所有测试
139
+ pytest
140
+
141
+ # 运行特定测试文件
142
+ pytest tests/test_brain_one.py
143
+
144
+ # 运行带覆盖率的测试
145
+ pytest --cov=src/ai_flow_architect tests/
146
+ ```
147
+
148
+ ## 项目结构说明
149
+
150
+ ```
151
+ src/ai_flow_architect/
152
+ ├── core/ # 核心引擎组件
153
+ ├── brains/ # 双脑系统实现
154
+ ├── experts/ # 专家角色定义
155
+ ├── templates/ # 预置配置模板
156
+ ├── utils/ # 工具函数
157
+ └── config/ # 配置文件
158
+ ```
159
+
160
+ ### 核心模块职责
161
+
162
+ - **core/architect.py**: 主框架类,协调整个工作流
163
+ - **core/scheduler.py**: 任务调度器,管理专家执行顺序
164
+ - **core/context.py**: 上下文管理,处理会话隔离
165
+ - **core/cache.py**: 缓存机制,实现Token节省
166
+ - **brains/brain_one.py**: 一号脑,负责需求分析和规划
167
+ - **brains/brain_two.py**: 二号脑,负责质量审核
168
+ - **experts/base.py**: 专家基类,定义通用接口
169
+
170
+ ## 行为准则
171
+
172
+ ### 我们的承诺
173
+
174
+ 为了营造一个开放、友好的环境,我们承诺:
175
+
176
+ - 使用友好和包容的语言
177
+ - 尊重不同的观点和经验
178
+ - 优雅地接受建设性批评
179
+ - 关注对社区最有利的事情
180
+ - 对其他社区成员表示同理心
181
+
182
+ ### 不当行为
183
+
184
+ 不可接受的行为包括:
185
+
186
+ - 使用性暗示的语言或图像
187
+ - 恶意评论、人身攻击或政治攻击
188
+ - 公开或私下骚扰
189
+ - 未经明确许可发布他人的私人信息
190
+ - 其他不道德或不专业的行为
191
+
192
+ ## 许可证
193
+
194
+ 通过贡献代码,你同意你的贡献将在 [Apache License 2.0](LICENSE) 下许可。
195
+
196
+ ## 联系方式
197
+
198
+ 如有任何问题,请通过以下方式联系我们:
199
+
200
+ - GitHub Issues: [项目Issues页面]
201
+ - 邮箱: [项目维护者邮箱]
202
+
203
+ ---
204
+
205
+ 再次感谢你的贡献!🎉
@@ -0,0 +1,200 @@
1
+ Apache License
2
+ Version 2.0, January 2004
3
+ http://www.apache.org/licenses/
4
+
5
+ TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
6
+
7
+ 1. Definitions.
8
+
9
+ "License" shall mean the terms and conditions for use, reproduction,
10
+ and distribution as defined by Sections 1 through 9 of this document.
11
+
12
+ "Licensor" shall mean the copyright owner or entity authorized by
13
+ the copyright owner that is granting the License.
14
+
15
+ "Legal Entity" shall mean the union of the acting entity and all
16
+ other entities that control, are controlled by, or are under common
17
+ control with that entity. For the purposes of this definition,
18
+ "control" means (i) the power, direct or indirect, to cause the
19
+ direction or management of such entity, whether by contract or
20
+ otherwise, or (ii) ownership of fifty percent (50%) or more of the
21
+ outstanding shares, or (iii) beneficial ownership of such entity.
22
+
23
+ "You" (or "Your") shall mean an individual or Legal Entity
24
+ exercising permissions granted by this License.
25
+
26
+ "Source" form shall mean the preferred form for making modifications,
27
+ including but not limited to software source code, documentation
28
+ source, and configuration files.
29
+
30
+ "Object" form shall mean any form resulting from mechanical
31
+ transformation or translation of a Source form, including but
32
+ not limited to compiled object code, generated documentation,
33
+ and conversions to other media types.
34
+
35
+ "Work" shall mean the work of authorship, whether in Source or
36
+ Object form, made available under the License, as indicated by a
37
+ copyright notice that is included in or attached to the work
38
+ (an example is provided in the Appendix below).
39
+
40
+ "Derivative Works" shall mean any work, whether in Source or Object
41
+ form, that is based on (or derived from) the Work and for which the
42
+ editorial revisions, annotations, elaborations, or other modifications
43
+ represent, as a whole, an original work of authorship. For the purposes
44
+ of this License, Derivative Works shall not include works that remain
45
+ separable from, or merely link (or bind by name) to the interfaces of,
46
+ the Work and Derivative Works thereof.
47
+
48
+ "Contribution" shall mean any work of authorship, including
49
+ the original version of the Work and any modifications or additions
50
+ to that Work or Derivative Works thereof, that is intentionally
51
+ submitted to the Licensor for inclusion in the Work by the copyright owner
52
+ or by an individual or Legal Entity authorized to submit on behalf of
53
+ the copyright owner. For the purposes of this definition, "submitted"
54
+ means any form of electronic, verbal, or written communication sent
55
+ to the Licensor or its representatives, including but not limited to
56
+ communication on electronic mailing lists, source code control systems,
57
+ and issue tracking systems that are managed by, or on behalf of, the
58
+ Licensor for the purpose of discussing and improving the Work, but
59
+ excluding communication that is conspicuously marked or otherwise
60
+ designated in writing by the copyright owner as "Not a Contribution."
61
+
62
+ "Contributor" shall mean Licensor and any individual or Legal Entity
63
+ on behalf of whom a Contribution has been received by the Licensor and
64
+ subsequently incorporated within the Work.
65
+
66
+ 2. Grant of Copyright License. Subject to the terms and conditions of
67
+ this License, each Contributor hereby grants to You a perpetual,
68
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
69
+ copyright license to reproduce, prepare Derivative Works of,
70
+ publicly display, publicly perform, sublicense, and distribute the
71
+ Work and such Derivative Works in Source or Object form.
72
+
73
+ 3. Grant of Patent License. Subject to the terms and conditions of
74
+ this License, each Contributor hereby grants to You a perpetual,
75
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
76
+ (except as stated in this section) patent license to make, have made,
77
+ use, offer to sell, sell, import, and otherwise transfer the Work,
78
+ where such license applies only to those patent claims licensable
79
+ by such Contributor that are necessarily infringed by their
80
+ Contribution(s) alone or by combination of their Contribution(s)
81
+ with the Work to which such Contribution(s) was submitted. If You
82
+ institute patent litigation against any entity (including a
83
+ cross-claim or counterclaim in a lawsuit) alleging that the Work
84
+ or a Contribution incorporated within the Work constitutes direct
85
+ or contributory patent infringement, then any patent licenses
86
+ granted to You under this License for that Work shall terminate
87
+ as of the date such litigation is filed.
88
+
89
+ 4. Redistribution. You may reproduce and distribute copies of the
90
+ Work or Derivative Works thereof in any medium, with or without
91
+ modifications, and in Source or Object form, provided that You
92
+ meet the following conditions:
93
+
94
+ (a) You must give any other recipients of the Work or
95
+ Derivative Works a copy of this License; and
96
+
97
+ (b) You must cause any modified files to carry prominent notices
98
+ stating that You changed the files; and
99
+
100
+ (c) You must retain, in the Source form of any Derivative Works
101
+ that You distribute, all copyright, patent, trademark, and
102
+ attribution notices from the Source form of the Work,
103
+ excluding those notices that do not pertain to any part of
104
+ the Derivative Works; and
105
+
106
+ (d) If the Work includes a "NOTICE" text file as part of its
107
+ distribution, then any Derivative Works that You distribute must
108
+ include a readable copy of the attribution notices contained
109
+ within such NOTICE file, excluding any notices that do not
110
+ pertain to any part of the Derivative Works, in at least one
111
+ of the following places: within a NOTICE text file distributed
112
+ as part of the Derivative Works; within the Source form or
113
+ documentation, if provided along with the Derivative Works; or,
114
+ within a display generated by the Derivative Works, if and
115
+ wherever such third-party notices normally appear. The contents
116
+ of the NOTICE file are for informational purposes only and
117
+ do not modify the License. You may add Your own attribution
118
+ notices within Derivative Works that You distribute, alongside
119
+ or as an addendum to the NOTICE text from the Work, provided
120
+ that such additional attribution notices cannot be construed
121
+ as modifying the License.
122
+
123
+ You may add Your own copyright statement to Your modifications and
124
+ may provide additional or different license terms and conditions
125
+ for use, reproduction, or distribution of Your modifications, or
126
+ for any such Derivative Works as a whole, provided Your use,
127
+ reproduction, and distribution of the Work otherwise complies with
128
+ the conditions stated in this License.
129
+
130
+ 5. Submission of Contributions. Unless You explicitly state otherwise,
131
+ any Contribution intentionally submitted for inclusion in the Work
132
+ by You to the Licensor shall be under the terms and conditions of
133
+ this License, without any additional terms or conditions.
134
+ Notwithstanding the above, nothing herein shall supersede or modify
135
+ the terms of any separate license agreement you may have executed
136
+ with Licensor regarding such Contributions.
137
+
138
+ 6. Trademarks. This License does not grant permission to use the trade
139
+ names, trademarks, service marks, or product names of the Licensor,
140
+ except as required for reasonable and customary use in describing the
141
+ origin of the Work and reproducing the content of the NOTICE file.
142
+
143
+ 7. Disclaimer of Warranty. Unless required by applicable law or
144
+ agreed to in writing, Licensor provides the Work (and each
145
+ Contributor provides its Contributions) on an "AS IS" BASIS,
146
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
147
+ implied, including, without limitation, any warranties or conditions
148
+ of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
149
+ PARTICULAR PURPOSE. You are solely responsible for determining the
150
+ appropriateness of using or redistributing the Work and assume any
151
+ risks associated with Your exercise of permissions under this License.
152
+
153
+ 8. Limitation of Liability. In no event and under no legal theory,
154
+ whether in tort (including negligence), contract, or otherwise,
155
+ unless required by applicable law (such as deliberate and grossly
156
+ negligent acts) or agreed to in writing, shall any Contributor be
157
+ liable to You for damages, including any direct, indirect, special,
158
+ incidental, or consequential damages of any character arising as a
159
+ result of this License or out of the use or inability to use the
160
+ Work (including but not limited to damages for loss of goodwill,
161
+ work stoppage, computer failure or malfunction, or any and all
162
+ other commercial damages or losses), even if such Contributor
163
+ has been advised of the possibility of such damages.
164
+
165
+ 9. Accepting Warranty or Additional Liability. While redistributing
166
+ the Work or Derivative Works thereof, You may choose to offer,
167
+ and charge a fee for, acceptance of support, warranty, indemnity,
168
+ or other liability obligations and/or rights consistent with this
169
+ License. However, in accepting such obligations, You may act only
170
+ on Your own behalf and on Your sole responsibility, not on behalf
171
+ of any other Contributor, and only if You agree to indemnify,
172
+ defend, and hold each Contributor harmless for any liability
173
+ incurred by, or claims asserted against, such Contributor by reason
174
+ of your accepting any such warranty or additional liability.
175
+
176
+ END OF TERMS AND CONDITIONS
177
+
178
+ APPENDIX: How to apply the Apache License to your work.
179
+
180
+ To apply the Apache License to your work, attach the following
181
+ boilerplate notice, with the fields enclosed by brackets "[]"
182
+ replaced with your own identifying information. (Don't include
183
+ the brackets!) The text should be enclosed in the appropriate
184
+ comment syntax for the file format. Please also get an
185
+ "Alarm" or "AlarmConfiguration" file in the same directory
186
+ as this file and include the license notice in that file.
187
+
188
+ Copyright 2026 盛鑫
189
+
190
+ Licensed under the Apache License, Version 2.0 (the "License");
191
+ you may not use this file except in compliance with the License.
192
+ You may obtain a copy of the License at
193
+
194
+ http://www.apache.org/licenses/LICENSE-2.0
195
+
196
+ Unless required by applicable law or agreed to in writing, software
197
+ distributed under the License is distributed on an "AS IS" BASIS,
198
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
199
+ See the License for the specific language governing permissions and
200
+ limitations under the License.
@@ -0,0 +1,10 @@
1
+ include README.md
2
+ include LICENSE
3
+ include CHANGELOG.md
4
+ include CONTRIBUTING.md
5
+ include requirements.txt
6
+ recursive-include src/ai_flow_architect/config *.yaml
7
+ recursive-include docs *
8
+ prune tests
9
+ prune .git
10
+ prune .github