Files
aiagent/docs/contributing.md

175 lines
3.8 KiB
Markdown
Raw Normal View History

fix: 修复35个安全与功能缺陷,补全知识进化/数字孪生/行为采集模块 ## 安全修复 (12项) - Webhook接口添加全局Token认证,过滤敏感请求头 - 修复JWT Base64 padding公式,防止签名验证绕过 - 数据库密码/飞书Token从源码移除,改为环境变量 - 工作流引擎添加路径遍历防护 (_resolve_safe_path) - eval()添加模板长度上限检查 - 审批API添加认证依赖 - 前端v-html增强XSS转义,console.log仅开发模式输出 - 500错误不再暴露内部异常详情 ## Agent运行时修复 (7项) - 删除_inject_knowledge_context中未定义db变量的finally块 - 工具执行添加try/except保护,异常不崩溃Agent - LLM重试计入budget计数器 - self_review异常时passed=False - max_iterations截断标记success=False - 工具参数JSON解析失败时记录警告日志 - run()开始时重置_llm_invocations计数器 ## 配置与基础设施 - DEBUG默认False,SQL_ECHO独立配置项 - init_db()补全13个缺失模型导入 - 新增WEBHOOK_AUTH_TOKEN/SQL_ECHO配置项 - 新增.env.example模板文件 ## 前端修复 (12项) - 登录改用URLSearchParams替代FormData - 401拦截器通过Pinia store统一清理状态 - SSE流超时从60s延长至300s - final/error事件时清除streamTimeout - localStorage聊天记录添加24h TTL - safeParseArgCount替代模板中裸JSON.parse - fetchUser 401时同时清除user对象 ## 新增模块 - 知识进化: knowledge_extractor/retriever/tasks - 数字孪生: shadow_executor/comparison模型 - 行为采集: behavior_middleware/collector/fingerprint_engine - 代码审查: code_review_agent/document_review_agent - 反馈学习: feedback_learner - 瓶颈检测/优化引擎/成本估算/需求估算 - 速率限制器 (rate_limiter) - Alembic迁移 015-020 ## 文档 - 商业化落地计划 - 8篇docs文档 (架构/API/部署/开发/贡献等) - Docker Compose生产配置 Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-05-10 19:50:20 +08:00
# 🤝 贡献指南
> **Contributing Guide**
感谢您对天工智能体平台的兴趣我们欢迎所有形式的贡献——代码、文档、Bug 反馈、功能建议等。
---
## 一、行为准则
请保持友善和尊重的沟通氛围。我们致力于为所有贡献者提供一个开放、包容的环境。
---
## 二、如何贡献
### 🐛 报告 Bug
1. 前往 **[Issues](#)** 页面
2. 搜索是否已有相同问题报告
3. 创建新 Issue使用 Bug 报告模板
4. 请包含以下信息:
```
**标题**: [Bug] 简短描述问题
**描述**:
- 预期行为:
- 实际行为:
- 复现步骤:
1. ...
2. ...
- 环境信息:
- 浏览器/版本:
- 操作系统:
- API 版本:
- 截图/日志:
```
### ✨ 功能建议
1. 前往 **[Discussions](#)** 或 **Issues**
2. 使用功能建议模板
3. 清晰地描述你想要的功能及其使用场景
### 💻 提交代码
#### 第一步Fork & Clone
```bash
# Fork 项目到你的 GitHub 账号
# 然后 Clone 你的 Fork
git clone https://github.com/<your-username>/aiagent.git
cd aiagent
# 添加 upstream 远程仓库
git remote add upstream https://github.com/original/aiagent.git
```
#### 第二步:创建分支
```bash
# 从最新的 main 分支创建功能分支
git checkout main
git pull upstream main
git checkout -b feat/your-feature-name
```
分支命名规范:
| 分支类型 | 命名格式 | 示例 |
|:---------|:---------|:------|
| 新功能 | `feat/<描述>` | `feat/add-voice-input` |
| Bug 修复 | `fix/<描述>` | `fix/token-refresh-bug` |
| 文档 | `docs/<描述>` | `docs/update-api-ref` |
| 重构 | `refactor/<描述>` | `refactor/user-module` |
#### 第三步:开发
```bash
# 确保你的代码
# 1. 通过所有 lint 检查
cd frontend && pnpm lint
cd backend && flake8 app/
# 2. 通过所有测试
cd frontend && pnpm test
cd backend && pytest
# 3. 遵循代码规范(详见开发指南)
```
#### 第四步:提交 & 推送
```bash
# 使用 Conventional Commits 规范
git add .
git commit -m "feat(agent): 新增智能体知识库关联功能"
# 推送到你的 Fork
git push origin feat/your-feature-name
```
#### 第五步:发起 Pull Request
1. 前往原始仓库的 **Pull Requests** 页面
2. 点击 **New Pull Request**
3. 选择你的分支 → 目标分支 (`main`)
4. 填写 PR 模板:
```markdown
## 描述
简要描述本次变更内容
## 关联 Issue
Closes #123
## 变更类型
- [ ] 新功能 (feat)
- [ ] Bug 修复 (fix)
- [ ] 文档更新 (docs)
- [ ] 代码重构 (refactor)
- [ ] 测试 (test)
- [ ] 构建/工具链 (chore)
## 自测清单
- [ ] 代码已 lint 通过
- [ ] 测试已通过
- [ ] 本地运行验证通过
- [ ] 文档已更新(如需要)
```
---
## 三、Code Review 流程
| 阶段 | 说明 |
|:-----|:------|
| 1⃣ 提交 PR | PR 状态变为 `Open` |
| 2⃣ CI 检查 | 自动运行 Lint + 测试 |
| 3⃣ Review 分配 | 维护者分配 Reviewer |
| 4⃣ 代码审查 | Reviewer 逐行审查,提出修改建议 |
| 5⃣ 修改 | 提交者根据反馈修改代码 |
| 6⃣ 批准合并 | Review 通过后,由维护者合并到 `main` |
### Review 关注点
- 代码正确性:功能是否符合预期
- 代码风格:是否遵循项目规范
- 性能影响:是否有明显性能问题
- 安全漏洞:是否存在 SQL 注入 / XSS / 越权等隐患
- 测试覆盖:是否包含必要的测试用例
---
## 四、文档贡献
文档和代码同等重要!如果你发现文档有误或缺失,欢迎贡献:
- **API 文档**:位于 `docs/api-reference.md`
- **架构文档**:位于 `docs/architecture.md`
- **使用指南**:位于 `docs/quickstart.md`
- **代码注释**:修改代码时保持注释同步更新
---
## 五、开发环境
请参考 [开发指南](./development-guide.md) 搭建本地开发环境。
---
> 再次感谢您的贡献!🎉