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.
- ai_flow_architect-0.1.0/CHANGELOG.md +95 -0
- ai_flow_architect-0.1.0/CONTRIBUTING.md +205 -0
- ai_flow_architect-0.1.0/LICENSE +200 -0
- ai_flow_architect-0.1.0/MANIFEST.in +10 -0
- ai_flow_architect-0.1.0/PKG-INFO +616 -0
- ai_flow_architect-0.1.0/README.md +351 -0
- ai_flow_architect-0.1.0/docs/getting_started.md +226 -0
- ai_flow_architect-0.1.0/docs/img/architecture.png +0 -0
- ai_flow_architect-0.1.0/docs/img/logo.svg +148 -0
- ai_flow_architect-0.1.0/pyproject.toml +149 -0
- ai_flow_architect-0.1.0/requirements.txt +36 -0
- ai_flow_architect-0.1.0/setup.cfg +4 -0
- ai_flow_architect-0.1.0/setup.py +79 -0
- ai_flow_architect-0.1.0/src/ai_flow_architect/__init__.py +13 -0
- ai_flow_architect-0.1.0/src/ai_flow_architect/brains/__init__.py +9 -0
- ai_flow_architect-0.1.0/src/ai_flow_architect/brains/brain_one.py +688 -0
- ai_flow_architect-0.1.0/src/ai_flow_architect/brains/brain_opponent.py +131 -0
- ai_flow_architect-0.1.0/src/ai_flow_architect/brains/brain_two.py +519 -0
- ai_flow_architect-0.1.0/src/ai_flow_architect/cli.py +6 -0
- ai_flow_architect-0.1.0/src/ai_flow_architect/config/default.yaml +135 -0
- ai_flow_architect-0.1.0/src/ai_flow_architect/config/models.yaml +528 -0
- ai_flow_architect-0.1.0/src/ai_flow_architect/core/__init__.py +10 -0
- ai_flow_architect-0.1.0/src/ai_flow_architect/core/architect.py +659 -0
- ai_flow_architect-0.1.0/src/ai_flow_architect/core/cache.py +351 -0
- ai_flow_architect-0.1.0/src/ai_flow_architect/core/context.py +265 -0
- ai_flow_architect-0.1.0/src/ai_flow_architect/core/scheduler.py +474 -0
- ai_flow_architect-0.1.0/src/ai_flow_architect/experts/__init__.py +17 -0
- ai_flow_architect-0.1.0/src/ai_flow_architect/experts/base.py +291 -0
- ai_flow_architect-0.1.0/src/ai_flow_architect/experts/creative.py +407 -0
- ai_flow_architect-0.1.0/src/ai_flow_architect/experts/evaluator.py +389 -0
- ai_flow_architect-0.1.0/src/ai_flow_architect/experts/programmer.py +331 -0
- ai_flow_architect-0.1.0/src/ai_flow_architect/experts/reviewer.py +408 -0
- ai_flow_architect-0.1.0/src/ai_flow_architect/utils/__init__.py +10 -0
- ai_flow_architect-0.1.0/src/ai_flow_architect/utils/compressor.py +335 -0
- ai_flow_architect-0.1.0/src/ai_flow_architect/utils/decision_recorder.py +164 -0
- ai_flow_architect-0.1.0/src/ai_flow_architect/utils/llm_client.py +352 -0
- ai_flow_architect-0.1.0/src/ai_flow_architect/utils/token_counter.py +292 -0
- ai_flow_architect-0.1.0/src/ai_flow_architect/utils/validator.py +510 -0
- ai_flow_architect-0.1.0/src/ai_flow_architect.egg-info/PKG-INFO +616 -0
- ai_flow_architect-0.1.0/src/ai_flow_architect.egg-info/SOURCES.txt +43 -0
- ai_flow_architect-0.1.0/src/ai_flow_architect.egg-info/dependency_links.txt +1 -0
- ai_flow_architect-0.1.0/src/ai_flow_architect.egg-info/entry_points.txt +9 -0
- ai_flow_architect-0.1.0/src/ai_flow_architect.egg-info/not-zip-safe +1 -0
- ai_flow_architect-0.1.0/src/ai_flow_architect.egg-info/requires.txt +37 -0
- 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.
|