## 安全修复 (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>
175 lines
3.8 KiB
Markdown
175 lines
3.8 KiB
Markdown
# 🤝 贡献指南
|
||
|
||
> **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) 搭建本地开发环境。
|
||
|
||
---
|
||
|
||
> 再次感谢您的贡献!🎉
|