Files
aiagent/docs/contributing.md
renjianbo ab1589921a 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

3.8 KiB
Raw Blame History

🤝 贡献指南

Contributing Guide

感谢您对天工智能体平台的兴趣我们欢迎所有形式的贡献——代码、文档、Bug 反馈、功能建议等。


一、行为准则

请保持友善和尊重的沟通氛围。我们致力于为所有贡献者提供一个开放、包容的环境。


二、如何贡献

🐛 报告 Bug

  1. 前往 Issues 页面
  2. 搜索是否已有相同问题报告
  3. 创建新 Issue使用 Bug 报告模板
  4. 请包含以下信息:
**标题**: [Bug] 简短描述问题

**描述**:
- 预期行为:
- 实际行为:
- 复现步骤:
  1. ...
  2. ...
- 环境信息:
  - 浏览器/版本:
  - 操作系统:
  - API 版本:
- 截图/日志:

功能建议

  1. 前往 DiscussionsIssues
  2. 使用功能建议模板
  3. 清晰地描述你想要的功能及其使用场景

💻 提交代码

第一步Fork & Clone

# 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

第二步:创建分支

# 从最新的 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

第三步:开发

# 确保你的代码
# 1. 通过所有 lint 检查
cd frontend && pnpm lint

cd backend && flake8 app/

# 2. 通过所有测试
cd frontend && pnpm test
cd backend && pytest

# 3. 遵循代码规范(详见开发指南)

第四步:提交 & 推送

# 使用 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 模板:
## 描述
简要描述本次变更内容

## 关联 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
  • 代码注释:修改代码时保持注释同步更新

五、开发环境

请参考 开发指南 搭建本地开发环境。


再次感谢您的贡献!🎉