- Fix delete agent 500: clean up FK records (agent_llm_logs, permissions, schedules, executions, team_members) and unbind goals/tasks before delete - Remove hardcoded personality templates in Android, replace with dynamic system prompt generation from name + description - Set promptSectionsEnabled=false to bypass PromptComposer for personality - Add Tencent Cloud Linux deployment guide (Docker Compose) - Accumulated backend service updates, frontend UI fixes, Android app changes Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2 lines
76 KiB
JSON
2 lines
76 KiB
JSON
[{"id":142,"url":"http://101.43.95.130:3001/api/v1/repos/admin/aiagent/issues/124","html_url":"http://101.43.95.130:3001/admin/aiagent/issues/124","number":124,"user":{"id":1,"login":"admin","login_name":"","source_id":0,"full_name":"","email":"263303411@qq.com","avatar_url":"http://101.43.95.130:3001/avatars/9f89f41683d9730fc0abe566f120891a","html_url":"http://101.43.95.130:3001/admin","language":"zh-CN","is_admin":true,"last_login":"2026-04-30T00:13:32+08:00","created":"2025-12-19T11:20:47+08:00","restricted":false,"active":true,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"admin"},"original_author":"","original_author_id":0,"title":"[Week1] Agent ReAct 循环集成测试","body":"## 目标\n覆盖 core.py 核心路径:正常对话 / 工具调用 / 预算熔断 / max_iterations 截断\n\n## 涉及文件\n- backend/app/agent_runtime/core.py\n\n## 验收标准\npytest 覆盖 RunAgent 核心循环 \u003e 80%\n\n## 里程碑\nWeek 1 — 保稳定","ref":"","assets":[],"labels":[],"milestone":null,"assignee":null,"assignees":null,"state":"closed","is_locked":false,"comments":0,"created_at":"2026-05-10T19:54:59+08:00","updated_at":"2026-05-10T20:25:07+08:00","closed_at":"2026-05-10T20:25:07+08:00","due_date":null,"time_estimate":0,"pull_request":null,"repository":{"id":27,"name":"aiagent","owner":"admin","full_name":"admin/aiagent"},"pin_order":0},{"id":141,"url":"http://101.43.95.130:3001/api/v1/repos/admin/aiagent/issues/123","html_url":"http://101.43.95.130:3001/admin/aiagent/issues/123","number":123,"user":{"id":1,"login":"admin","login_name":"","source_id":0,"full_name":"","email":"263303411@qq.com","avatar_url":"http://101.43.95.130:3001/avatars/9f89f41683d9730fc0abe566f120891a","html_url":"http://101.43.95.130:3001/admin","language":"zh-CN","is_admin":true,"last_login":"2026-04-30T00:13:32+08:00","created":"2025-12-19T11:20:47+08:00","restricted":false,"active":true,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"admin"},"original_author":"","original_author_id":0,"title":"[Week4] 定价页面与许可证","body":"## 目标\n前端增加定价页面(社区版/专业版/企业版)+ License Key 机制\n\n## 涉及文件\n- frontend/src/views/Pricing.vue (新增)\n- backend/app/core/license.py (新增)\n\n## 验收标准\n定价页展示三级定价,专业版/企业版需 License Key 激活\n\n## 里程碑\nWeek 4 — 可交付","ref":"","assets":[],"labels":[],"milestone":null,"assignee":null,"assignees":null,"state":"open","is_locked":false,"comments":0,"created_at":"2026-05-10T19:54:43+08:00","updated_at":"2026-05-10T19:54:43+08:00","closed_at":null,"due_date":null,"time_estimate":0,"pull_request":null,"repository":{"id":27,"name":"aiagent","owner":"admin","full_name":"admin/aiagent"},"pin_order":0},{"id":140,"url":"http://101.43.95.130:3001/api/v1/repos/admin/aiagent/issues/122","html_url":"http://101.43.95.130:3001/admin/aiagent/issues/122","number":122,"user":{"id":1,"login":"admin","login_name":"","source_id":0,"full_name":"","email":"263303411@qq.com","avatar_url":"http://101.43.95.130:3001/avatars/9f89f41683d9730fc0abe566f120891a","html_url":"http://101.43.95.130:3001/admin","language":"zh-CN","is_admin":true,"last_login":"2026-04-30T00:13:32+08:00","created":"2025-12-19T11:20:47+08:00","restricted":false,"active":true,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"admin"},"original_author":"","original_author_id":0,"title":"[Week4] 升级 upgrade.sh 与卸载 uninstall.sh","body":"## 目标\n增量升级脚本(保留数据)+ 清理脚本\n\n## 验收标准\nupgrade.sh 升级后数据完整,uninstall.sh 完全清理\n\n## 里程碑\nWeek 4 — 可交付","ref":"","assets":[],"labels":[],"milestone":null,"assignee":null,"assignees":null,"state":"open","is_locked":false,"comments":0,"created_at":"2026-05-10T19:54:43+08:00","updated_at":"2026-05-10T19:54:43+08:00","closed_at":null,"due_date":null,"time_estimate":0,"pull_request":null,"repository":{"id":27,"name":"aiagent","owner":"admin","full_name":"admin/aiagent"},"pin_order":0},{"id":139,"url":"http://101.43.95.130:3001/api/v1/repos/admin/aiagent/issues/121","html_url":"http://101.43.95.130:3001/admin/aiagent/issues/121","number":121,"user":{"id":1,"login":"admin","login_name":"","source_id":0,"full_name":"","email":"263303411@qq.com","avatar_url":"http://101.43.95.130:3001/avatars/9f89f41683d9730fc0abe566f120891a","html_url":"http://101.43.95.130:3001/admin","language":"zh-CN","is_admin":true,"last_login":"2026-04-30T00:13:32+08:00","created":"2025-12-19T11:20:47+08:00","restricted":false,"active":true,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"admin"},"original_author":"","original_author_id":0,"title":"[Week4] 一键部署 install.sh 脚本","body":"## 目标\n交互式一键安装脚本:检查环境 → 下载配置 → docker-compose up → 健康检查\n\n## 验收标准\n新机器上执行 install.sh,10 分钟内完成部署\n\n## 里程碑\nWeek 4 — 可交付","ref":"","assets":[],"labels":[],"milestone":null,"assignee":null,"assignees":null,"state":"open","is_locked":false,"comments":0,"created_at":"2026-05-10T19:54:42+08:00","updated_at":"2026-05-10T19:54:42+08:00","closed_at":null,"due_date":null,"time_estimate":0,"pull_request":null,"repository":{"id":27,"name":"aiagent","owner":"admin","full_name":"admin/aiagent"},"pin_order":0},{"id":138,"url":"http://101.43.95.130:3001/api/v1/repos/admin/aiagent/issues/120","html_url":"http://101.43.95.130:3001/admin/aiagent/issues/120","number":120,"user":{"id":1,"login":"admin","login_name":"","source_id":0,"full_name":"","email":"263303411@qq.com","avatar_url":"http://101.43.95.130:3001/avatars/9f89f41683d9730fc0abe566f120891a","html_url":"http://101.43.95.130:3001/admin","language":"zh-CN","is_admin":true,"last_login":"2026-04-30T00:13:32+08:00","created":"2025-12-19T11:20:47+08:00","restricted":false,"active":true,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"admin"},"original_author":"","original_author_id":0,"title":"[Week4] Workspace 权限管理面板","body":"## 目标\nAdmin 面板可查看/管理所有 workspace,workspace_admin 管理成员\n\n## 涉及文件\n- backend/app/api/permissions.py\n- frontend/src/views/PermissionManagement.vue\n\n## 验收标准\n三级权限 (admin / workspace_admin / member) 生效\n\n## 里程碑\nWeek 4 — 可交付","ref":"","assets":[],"labels":[],"milestone":null,"assignee":null,"assignees":null,"state":"open","is_locked":false,"comments":0,"created_at":"2026-05-10T19:54:42+08:00","updated_at":"2026-05-10T19:54:42+08:00","closed_at":null,"due_date":null,"time_estimate":0,"pull_request":null,"repository":{"id":27,"name":"aiagent","owner":"admin","full_name":"admin/aiagent"},"pin_order":0},{"id":137,"url":"http://101.43.95.130:3001/api/v1/repos/admin/aiagent/issues/119","html_url":"http://101.43.95.130:3001/admin/aiagent/issues/119","number":119,"user":{"id":1,"login":"admin","login_name":"","source_id":0,"full_name":"","email":"263303411@qq.com","avatar_url":"http://101.43.95.130:3001/avatars/9f89f41683d9730fc0abe566f120891a","html_url":"http://101.43.95.130:3001/admin","language":"zh-CN","is_admin":true,"last_login":"2026-04-30T00:13:32+08:00","created":"2025-12-19T11:20:47+08:00","restricted":false,"active":true,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"admin"},"original_author":"","original_author_id":0,"title":"[Week4] 飞书应用按 Workspace 隔离","body":"## 目标\n每个 workspace 绑定独立飞书应用配置\n\n## 涉及文件\n- backend/app/core/config.py\n- backend/app/services/feishu_*.py\n\n## 验收标准\nA workspace 的飞书 Bot 不影响 B workspace\n\n## 里程碑\nWeek 4 — 可交付","ref":"","assets":[],"labels":[],"milestone":null,"assignee":null,"assignees":null,"state":"open","is_locked":false,"comments":0,"created_at":"2026-05-10T19:54:41+08:00","updated_at":"2026-05-10T19:54:41+08:00","closed_at":null,"due_date":null,"time_estimate":0,"pull_request":null,"repository":{"id":27,"name":"aiagent","owner":"admin","full_name":"admin/aiagent"},"pin_order":0},{"id":136,"url":"http://101.43.95.130:3001/api/v1/repos/admin/aiagent/issues/118","html_url":"http://101.43.95.130:3001/admin/aiagent/issues/118","number":118,"user":{"id":1,"login":"admin","login_name":"","source_id":0,"full_name":"","email":"263303411@qq.com","avatar_url":"http://101.43.95.130:3001/avatars/9f89f41683d9730fc0abe566f120891a","html_url":"http://101.43.95.130:3001/admin","language":"zh-CN","is_admin":true,"last_login":"2026-04-30T00:13:32+08:00","created":"2025-12-19T11:20:47+08:00","restricted":false,"active":true,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"admin"},"original_author":"","original_author_id":0,"title":"[Week4] 多租户 Workspace 数据隔离","body":"## 目标\nAgent/工作流/知识库 增加 workspace_id 字段,实现团队间数据隔离\n\n## 涉及文件\n- backend/app/models/ (多个模型新增字段)\n- Alembic 迁移\n\n## 验收标准\nA workspace 的 Agent 在 B workspace 中不可见\n\n## 里程碑\nWeek 4 — 可交付","ref":"","assets":[],"labels":[],"milestone":null,"assignee":null,"assignees":null,"state":"open","is_locked":false,"comments":0,"created_at":"2026-05-10T19:54:41+08:00","updated_at":"2026-05-10T19:54:41+08:00","closed_at":null,"due_date":null,"time_estimate":0,"pull_request":null,"repository":{"id":27,"name":"aiagent","owner":"admin","full_name":"admin/aiagent"},"pin_order":0},{"id":135,"url":"http://101.43.95.130:3001/api/v1/repos/admin/aiagent/issues/117","html_url":"http://101.43.95.130:3001/admin/aiagent/issues/117","number":117,"user":{"id":1,"login":"admin","login_name":"","source_id":0,"full_name":"","email":"263303411@qq.com","avatar_url":"http://101.43.95.130:3001/avatars/9f89f41683d9730fc0abe566f120891a","html_url":"http://101.43.95.130:3001/admin","language":"zh-CN","is_admin":true,"last_login":"2026-04-30T00:13:32+08:00","created":"2025-12-19T11:20:47+08:00","restricted":false,"active":true,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"admin"},"original_author":"","original_author_id":0,"title":"[Week3] 演示视频制作","body":"## 目标\n3 个演示视频:5分钟创建客服 / PR Review自动化 / 工作流可视化设计\n\n## 验收标准\n每个视频 3-5 分钟,上传到平台并发布\n\n## 里程碑\nWeek 3 — 磨体验","ref":"","assets":[],"labels":[],"milestone":null,"assignee":null,"assignees":null,"state":"open","is_locked":false,"comments":0,"created_at":"2026-05-10T19:54:40+08:00","updated_at":"2026-05-10T19:54:40+08:00","closed_at":null,"due_date":null,"time_estimate":0,"pull_request":null,"repository":{"id":27,"name":"aiagent","owner":"admin","full_name":"admin/aiagent"},"pin_order":0},{"id":134,"url":"http://101.43.95.130:3001/api/v1/repos/admin/aiagent/issues/116","html_url":"http://101.43.95.130:3001/admin/aiagent/issues/116","number":116,"user":{"id":1,"login":"admin","login_name":"","source_id":0,"full_name":"","email":"263303411@qq.com","avatar_url":"http://101.43.95.130:3001/avatars/9f89f41683d9730fc0abe566f120891a","html_url":"http://101.43.95.130:3001/admin","language":"zh-CN","is_admin":true,"last_login":"2026-04-30T00:13:32+08:00","created":"2025-12-19T11:20:47+08:00","restricted":false,"active":true,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"admin"},"original_author":"","original_author_id":0,"title":"[Week3] Bot 状态指示与错误友好提示","body":"## 目标\n飞书群内显示「正在思考」「正在执行工具」等状态,崩溃时友好提示\n\n## 涉及文件\n- 飞书 Bot 消息服务\n\n## 验收标准\n用户能感知 Agent 执行进度,错误提示不含技术细节\n\n## 里程碑\nWeek 3 — 磨体验","ref":"","assets":[],"labels":[],"milestone":null,"assignee":null,"assignees":null,"state":"open","is_locked":false,"comments":0,"created_at":"2026-05-10T19:54:39+08:00","updated_at":"2026-05-10T19:54:39+08:00","closed_at":null,"due_date":null,"time_estimate":0,"pull_request":null,"repository":{"id":27,"name":"aiagent","owner":"admin","full_name":"admin/aiagent"},"pin_order":0},{"id":133,"url":"http://101.43.95.130:3001/api/v1/repos/admin/aiagent/issues/115","html_url":"http://101.43.95.130:3001/admin/aiagent/issues/115","number":115,"user":{"id":1,"login":"admin","login_name":"","source_id":0,"full_name":"","email":"263303411@qq.com","avatar_url":"http://101.43.95.130:3001/avatars/9f89f41683d9730fc0abe566f120891a","html_url":"http://101.43.95.130:3001/admin","language":"zh-CN","is_admin":true,"last_login":"2026-04-30T00:13:32+08:00","created":"2025-12-19T11:20:47+08:00","restricted":false,"active":true,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"admin"},"original_author":"","original_author_id":0,"title":"[Week3] 对话历史自动摘要压缩","body":"## 目标\n长对话自动摘要压缩,避免超过 LLM token 上限\n\n## 涉及文件\n- backend/app/agent_runtime/core.py\n- backend/app/agent_runtime/memory.py\n\n## 验收标准\n对话超过 20 轮时自动压缩为摘要\n\n## 里程碑\nWeek 3 — 磨体验","ref":"","assets":[],"labels":[],"milestone":null,"assignee":null,"assignees":null,"state":"open","is_locked":false,"comments":0,"created_at":"2026-05-10T19:54:39+08:00","updated_at":"2026-05-10T19:54:39+08:00","closed_at":null,"due_date":null,"time_estimate":0,"pull_request":null,"repository":{"id":27,"name":"aiagent","owner":"admin","full_name":"admin/aiagent"},"pin_order":0},{"id":132,"url":"http://101.43.95.130:3001/api/v1/repos/admin/aiagent/issues/114","html_url":"http://101.43.95.130:3001/admin/aiagent/issues/114","number":114,"user":{"id":1,"login":"admin","login_name":"","source_id":0,"full_name":"","email":"263303411@qq.com","avatar_url":"http://101.43.95.130:3001/avatars/9f89f41683d9730fc0abe566f120891a","html_url":"http://101.43.95.130:3001/admin","language":"zh-CN","is_admin":true,"last_login":"2026-04-30T00:13:32+08:00","created":"2025-12-19T11:20:47+08:00","restricted":false,"active":true,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"admin"},"original_author":"","original_author_id":0,"title":"[Week3] 反馈数据接入 feedback_learner","body":"## 目标\nfeedback_learner.py 接入飞书反馈事件,自动调整 Agent 策略\n\n## 涉及文件\n- backend/app/services/feedback_learner.py\n\n## 验收标准\n用户点踩 3 次后 Agent 自动调整 system_prompt\n\n## 里程碑\nWeek 3 — 磨体验","ref":"","assets":[],"labels":[],"milestone":null,"assignee":null,"assignees":null,"state":"open","is_locked":false,"comments":0,"created_at":"2026-05-10T19:54:38+08:00","updated_at":"2026-05-10T19:54:38+08:00","closed_at":null,"due_date":null,"time_estimate":0,"pull_request":null,"repository":{"id":27,"name":"aiagent","owner":"admin","full_name":"admin/aiagent"},"pin_order":0},{"id":131,"url":"http://101.43.95.130:3001/api/v1/repos/admin/aiagent/issues/113","html_url":"http://101.43.95.130:3001/admin/aiagent/issues/113","number":113,"user":{"id":1,"login":"admin","login_name":"","source_id":0,"full_name":"","email":"263303411@qq.com","avatar_url":"http://101.43.95.130:3001/avatars/9f89f41683d9730fc0abe566f120891a","html_url":"http://101.43.95.130:3001/admin","language":"zh-CN","is_admin":true,"last_login":"2026-04-30T00:13:32+08:00","created":"2025-12-19T11:20:47+08:00","restricted":false,"active":true,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"admin"},"original_author":"","original_author_id":0,"title":"[Week3] 飞书消息反馈按钮","body":"## 目标\n飞书消息卡片增加 👍有用 / 👎没用 / 🔄重新生成 三个按钮\n\n## 涉及文件\n- backend/app/services/feishu_bot.py 或相关飞书服务\n\n## 验收标准\n用户点击按钮后反馈数据记录到 feedback_record 表\n\n## 里程碑\nWeek 3 — 磨体验","ref":"","assets":[],"labels":[],"milestone":null,"assignee":null,"assignees":null,"state":"open","is_locked":false,"comments":0,"created_at":"2026-05-10T19:54:37+08:00","updated_at":"2026-05-10T19:54:37+08:00","closed_at":null,"due_date":null,"time_estimate":0,"pull_request":null,"repository":{"id":27,"name":"aiagent","owner":"admin","full_name":"admin/aiagent"},"pin_order":0},{"id":130,"url":"http://101.43.95.130:3001/api/v1/repos/admin/aiagent/issues/112","html_url":"http://101.43.95.130:3001/admin/aiagent/issues/112","number":112,"user":{"id":1,"login":"admin","login_name":"","source_id":0,"full_name":"","email":"263303411@qq.com","avatar_url":"http://101.43.95.130:3001/avatars/9f89f41683d9730fc0abe566f120891a","html_url":"http://101.43.95.130:3001/admin","language":"zh-CN","is_admin":true,"last_login":"2026-04-30T00:13:32+08:00","created":"2025-12-19T11:20:47+08:00","restricted":false,"active":true,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"admin"},"original_author":"","original_author_id":0,"title":"[Week2] 知识闭环端到端验证","body":"## 目标\n选智能学习助手 Agent,跑 10 次对话 → 观察知识库增长 → 验证后续对话检索到经验\n\n## 验收标准\nAgent 第 6 次执行能检索到前 5 次提炼的知识\n\n## 里程碑\nWeek 2 — 补功能","ref":"","assets":[],"labels":[],"milestone":null,"assignee":null,"assignees":null,"state":"open","is_locked":false,"comments":0,"created_at":"2026-05-10T19:54:36+08:00","updated_at":"2026-05-10T19:54:36+08:00","closed_at":null,"due_date":null,"time_estimate":0,"pull_request":null,"repository":{"id":27,"name":"aiagent","owner":"admin","full_name":"admin/aiagent"},"pin_order":0},{"id":129,"url":"http://101.43.95.130:3001/api/v1/repos/admin/aiagent/issues/111","html_url":"http://101.43.95.130:3001/admin/aiagent/issues/111","number":111,"user":{"id":1,"login":"admin","login_name":"","source_id":0,"full_name":"","email":"263303411@qq.com","avatar_url":"http://101.43.95.130:3001/avatars/9f89f41683d9730fc0abe566f120891a","html_url":"http://101.43.95.130:3001/admin","language":"zh-CN","is_admin":true,"last_login":"2026-04-30T00:13:32+08:00","created":"2025-12-19T11:20:47+08:00","restricted":false,"active":true,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"admin"},"original_author":"","original_author_id":0,"title":"[Week2] 模板市场上架 8 个预置模板","body":"## 目标\n上架开箱即用的模板:客服/日报/CR/面试/竞品/测试/入职/风险预警\n\n## 涉及文件\n- backend/app/models/workflow_template.py\n- frontend/src/views/TemplateMarket.vue\n\n## 验收标准\n模板市场页展示 8 个模板,每个可一键创建 Agent\n\n## 里程碑\nWeek 2 — 补功能","ref":"","assets":[],"labels":[],"milestone":null,"assignee":null,"assignees":null,"state":"open","is_locked":false,"comments":0,"created_at":"2026-05-10T19:54:36+08:00","updated_at":"2026-05-10T19:54:36+08:00","closed_at":null,"due_date":null,"time_estimate":0,"pull_request":null,"repository":{"id":27,"name":"aiagent","owner":"admin","full_name":"admin/aiagent"},"pin_order":0},{"id":128,"url":"http://101.43.95.130:3001/api/v1/repos/admin/aiagent/issues/110","html_url":"http://101.43.95.130:3001/admin/aiagent/issues/110","number":110,"user":{"id":1,"login":"admin","login_name":"","source_id":0,"full_name":"","email":"263303411@qq.com","avatar_url":"http://101.43.95.130:3001/avatars/9f89f41683d9730fc0abe566f120891a","html_url":"http://101.43.95.130:3001/admin","language":"zh-CN","is_admin":true,"last_login":"2026-04-30T00:13:32+08:00","created":"2025-12-19T11:20:47+08:00","restricted":false,"active":true,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"admin"},"original_author":"","original_author_id":0,"title":"[Week2] 知识仪表盘补全","body":"## 目标\nKnowledgeDashboard.vue 补知识增长曲线、复用次数排行、类别分布\n\n## 涉及文件\n- frontend/src/views/KnowledgeDashboard.vue\n- backend/app/api/knowledge.py (可能新增)\n\n## 验收标准\n仪表盘展示真实知识库统计数据\n\n## 里程碑\nWeek 2 — 补功能","ref":"","assets":[],"labels":[],"milestone":null,"assignee":null,"assignees":null,"state":"open","is_locked":false,"comments":0,"created_at":"2026-05-10T19:54:35+08:00","updated_at":"2026-05-10T19:54:35+08:00","closed_at":null,"due_date":null,"time_estimate":0,"pull_request":null,"repository":{"id":27,"name":"aiagent","owner":"admin","full_name":"admin/aiagent"},"pin_order":0},{"id":127,"url":"http://101.43.95.130:3001/api/v1/repos/admin/aiagent/issues/109","html_url":"http://101.43.95.130:3001/admin/aiagent/issues/109","number":109,"user":{"id":1,"login":"admin","login_name":"","source_id":0,"full_name":"","email":"263303411@qq.com","avatar_url":"http://101.43.95.130:3001/avatars/9f89f41683d9730fc0abe566f120891a","html_url":"http://101.43.95.130:3001/admin","language":"zh-CN","is_admin":true,"last_login":"2026-04-30T00:13:32+08:00","created":"2025-12-19T11:20:47+08:00","restricted":false,"active":true,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"admin"},"original_author":"","original_author_id":0,"title":"[Week2] 知识自动提取 Celery 定时任务","body":"## 目标\n部署定时任务:每小时从 agent_execution_log 提取高质量执行记录 → LLM 提炼知识条目\n\n## 涉及文件\n- backend/app/services/knowledge_extractor.py\n- backend/app/tasks/knowledge_tasks.py\n- backend/app/core/celery_app.py\n\n## 验收标准\n每小时自动执行一次,成功提取的知识条目写入 knowledge_entry 表\n\n## 里程碑\nWeek 2 — 补功能","ref":"","assets":[],"labels":[],"milestone":null,"assignee":null,"assignees":null,"state":"closed","is_locked":false,"comments":0,"created_at":"2026-05-10T19:54:35+08:00","updated_at":"2026-05-10T21:32:27+08:00","closed_at":"2026-05-10T21:32:27+08:00","due_date":null,"time_estimate":0,"pull_request":null,"repository":{"id":27,"name":"aiagent","owner":"admin","full_name":"admin/aiagent"},"pin_order":0},{"id":126,"url":"http://101.43.95.130:3001/api/v1/repos/admin/aiagent/issues/108","html_url":"http://101.43.95.130:3001/admin/aiagent/issues/108","number":108,"user":{"id":1,"login":"admin","login_name":"","source_id":0,"full_name":"","email":"263303411@qq.com","avatar_url":"http://101.43.95.130:3001/avatars/9f89f41683d9730fc0abe566f120891a","html_url":"http://101.43.95.130:3001/admin","language":"zh-CN","is_admin":true,"last_login":"2026-04-30T00:13:32+08:00","created":"2025-12-19T11:20:47+08:00","restricted":false,"active":true,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"admin"},"original_author":"","original_author_id":0,"title":"[Week1] HTTPS/Nginx 安全加固","body":"## 目标\nNginx 配置 HSTS + 安全头 + 证书配置\n\n## 涉及文件\n- frontend/nginx.conf\n\n## 验收标准\nSSL Labs 评级 A 以上\n\n## 里程碑\nWeek 1 — 保稳定","ref":"","assets":[],"labels":[],"milestone":null,"assignee":null,"assignees":null,"state":"closed","is_locked":false,"comments":0,"created_at":"2026-05-10T19:54:34+08:00","updated_at":"2026-05-10T21:30:24+08:00","closed_at":"2026-05-10T21:30:24+08:00","due_date":null,"time_estimate":0,"pull_request":null,"repository":{"id":27,"name":"aiagent","owner":"admin","full_name":"admin/aiagent"},"pin_order":0},{"id":125,"url":"http://101.43.95.130:3001/api/v1/repos/admin/aiagent/issues/107","html_url":"http://101.43.95.130:3001/admin/aiagent/issues/107","number":107,"user":{"id":1,"login":"admin","login_name":"","source_id":0,"full_name":"","email":"263303411@qq.com","avatar_url":"http://101.43.95.130:3001/avatars/9f89f41683d9730fc0abe566f120891a","html_url":"http://101.43.95.130:3001/admin","language":"zh-CN","is_admin":true,"last_login":"2026-04-30T00:13:32+08:00","created":"2025-12-19T11:20:47+08:00","restricted":false,"active":true,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"admin"},"original_author":"","original_author_id":0,"title":"[Week1] API 速率限制","body":"## 目标\n对登录/Webhook 接口添加 slowapi 速率限制\n\n## 涉及文件\n- backend/app/core/rate_limiter.py\n- backend/app/main.py\n\n## 验收标准\n登录接口 5次/分钟限制,Webhook 接口 60次/分钟限制\n\n## 里程碑\nWeek 1 — 保稳定","ref":"","assets":[],"labels":[],"milestone":null,"assignee":null,"assignees":null,"state":"closed","is_locked":false,"comments":0,"created_at":"2026-05-10T19:54:33+08:00","updated_at":"2026-05-10T20:45:34+08:00","closed_at":"2026-05-10T20:45:34+08:00","due_date":null,"time_estimate":0,"pull_request":null,"repository":{"id":27,"name":"aiagent","owner":"admin","full_name":"admin/aiagent"},"pin_order":0},{"id":124,"url":"http://101.43.95.130:3001/api/v1/repos/admin/aiagent/issues/106","html_url":"http://101.43.95.130:3001/admin/aiagent/issues/106","number":106,"user":{"id":1,"login":"admin","login_name":"","source_id":0,"full_name":"","email":"263303411@qq.com","avatar_url":"http://101.43.95.130:3001/avatars/9f89f41683d9730fc0abe566f120891a","html_url":"http://101.43.95.130:3001/admin","language":"zh-CN","is_admin":true,"last_login":"2026-04-30T00:13:32+08:00","created":"2025-12-19T11:20:47+08:00","restricted":false,"active":true,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"admin"},"original_author":"","original_author_id":0,"title":"[Week1] 生产数据库密码轮换","body":"## 目标\n轮换 MySQL 密码 → 更新 .env → 确认所有服务正常\n\n## 步骤\n1. 在腾讯云 CDB 控制台修改密码\n2. 更新 backend/.env DATABASE_URL\n3. 重启 API + Celery Worker\n4. 确认飞书 Bot 正常响应\n\n## 里程碑\nWeek 1 — 保稳定","ref":"","assets":[],"labels":[],"milestone":null,"assignee":null,"assignees":null,"state":"closed","is_locked":false,"comments":0,"created_at":"2026-05-10T19:54:33+08:00","updated_at":"2026-05-10T21:30:41+08:00","closed_at":"2026-05-10T21:30:41+08:00","due_date":null,"time_estimate":0,"pull_request":null,"repository":{"id":27,"name":"aiagent","owner":"admin","full_name":"admin/aiagent"},"pin_order":0},{"id":123,"url":"http://101.43.95.130:3001/api/v1/repos/admin/aiagent/issues/105","html_url":"http://101.43.95.130:3001/admin/aiagent/issues/105","number":105,"user":{"id":1,"login":"admin","login_name":"","source_id":0,"full_name":"","email":"263303411@qq.com","avatar_url":"http://101.43.95.130:3001/avatars/9f89f41683d9730fc0abe566f120891a","html_url":"http://101.43.95.130:3001/admin","language":"zh-CN","is_admin":true,"last_login":"2026-04-30T00:13:32+08:00","created":"2025-12-19T11:20:47+08:00","restricted":false,"active":true,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"admin"},"original_author":"","original_author_id":0,"title":"[Week1] 登录/认证 E2E 测试","body":"## 目标\n覆盖 JWT 签发/验证/过期 + 401 拦截 + FormData 修复验证\n\n## 涉及文件\n- backend/app/api/auth.py\n- backend/app/core/security.py\n- frontend/src/stores/user.ts\n\n## 验收标准\npytest 覆盖登录全流程\n\n## 里程碑\nWeek 1 — 保稳定","ref":"","assets":[],"labels":[],"milestone":null,"assignee":null,"assignees":null,"state":"closed","is_locked":false,"comments":0,"created_at":"2026-05-10T19:54:32+08:00","updated_at":"2026-05-10T20:44:10+08:00","closed_at":"2026-05-10T20:44:10+08:00","due_date":null,"time_estimate":0,"pull_request":null,"repository":{"id":27,"name":"aiagent","owner":"admin","full_name":"admin/aiagent"},"pin_order":0},{"id":122,"url":"http://101.43.95.130:3001/api/v1/repos/admin/aiagent/issues/104","html_url":"http://101.43.95.130:3001/admin/aiagent/issues/104","number":104,"user":{"id":1,"login":"admin","login_name":"","source_id":0,"full_name":"","email":"263303411@qq.com","avatar_url":"http://101.43.95.130:3001/avatars/9f89f41683d9730fc0abe566f120891a","html_url":"http://101.43.95.130:3001/admin","language":"zh-CN","is_admin":true,"last_login":"2026-04-30T00:13:32+08:00","created":"2025-12-19T11:20:47+08:00","restricted":false,"active":true,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"admin"},"original_author":"","original_author_id":0,"title":"[Week1] 工具调用参数过滤测试","body":"## 目标\n验证 tool_registry._run_function 参数过滤逻辑:LLM 生成错误参数名 → 过滤 → 正常执行\n\n## 涉及文件\n- backend/app/services/tool_registry.py\n\n## 验收标准\n参数名不匹配时不崩溃,未知参数被过滤且有日志\n\n## 里程碑\nWeek 1 — 保稳定","ref":"","assets":[],"labels":[],"milestone":null,"assignee":null,"assignees":null,"state":"closed","is_locked":false,"comments":0,"created_at":"2026-05-10T19:54:32+08:00","updated_at":"2026-05-10T20:37:50+08:00","closed_at":"2026-05-10T20:37:50+08:00","due_date":null,"time_estimate":0,"pull_request":null,"repository":{"id":27,"name":"aiagent","owner":"admin","full_name":"admin/aiagent"},"pin_order":0},{"id":121,"url":"http://101.43.95.130:3001/api/v1/repos/admin/aiagent/issues/103","html_url":"http://101.43.95.130:3001/admin/aiagent/issues/103","number":103,"user":{"id":1,"login":"admin","login_name":"","source_id":0,"full_name":"","email":"263303411@qq.com","avatar_url":"http://101.43.95.130:3001/avatars/9f89f41683d9730fc0abe566f120891a","html_url":"http://101.43.95.130:3001/admin","language":"zh-CN","is_admin":true,"last_login":"2026-04-30T00:13:32+08:00","created":"2025-12-19T11:20:47+08:00","restricted":false,"active":true,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"admin"},"original_author":"","original_author_id":0,"title":"[Week1] Agent ReAct 循环集成测试","body":"## 目标\n覆盖 core.py 核心路径:正常对话 / 工具调用 / 预算熔断 / max_iterations 截断\n\n## 涉及文件\n- backend/app/agent_runtime/core.py\n\n## 验收标准\npytest 覆盖 RunAgent 核心循环 \u003e 80%\n\n## 里程碑\nWeek 1 — 保稳定","ref":"","assets":[],"labels":[],"milestone":null,"assignee":null,"assignees":null,"state":"closed","is_locked":false,"comments":0,"created_at":"2026-05-10T19:54:31+08:00","updated_at":"2026-05-10T20:25:06+08:00","closed_at":"2026-05-10T20:25:06+08:00","due_date":null,"time_estimate":0,"pull_request":null,"repository":{"id":27,"name":"aiagent","owner":"admin","full_name":"admin/aiagent"},"pin_order":0},{"id":120,"url":"http://101.43.95.130:3001/api/v1/repos/admin/aiagent/issues/102","html_url":"http://101.43.95.130:3001/admin/aiagent/issues/102","number":102,"user":{"id":1,"login":"admin","login_name":"","source_id":0,"full_name":"","email":"263303411@qq.com","avatar_url":"http://101.43.95.130:3001/avatars/9f89f41683d9730fc0abe566f120891a","html_url":"http://101.43.95.130:3001/admin","language":"zh-CN","is_admin":true,"last_login":"2026-04-30T00:13:32+08:00","created":"2025-12-19T11:20:47+08:00","restricted":false,"active":true,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"admin"},"original_author":"","original_author_id":0,"title":"[Week1] 工作流 DAG 执行测试","body":"## 目标\n覆盖 workflow_engine.py 核心路径:线性/条件分支/循环/审批节点执行\n\n## 涉及文件\n- backend/app/services/workflow_engine.py\n\n## 验收标准\npytest 覆盖 execute_node 主要分支 \u003e 70%\n\n## 里程碑\nWeek 1 — 保稳定","ref":"","assets":[],"labels":[],"milestone":null,"assignee":null,"assignees":null,"state":"closed","is_locked":false,"comments":0,"created_at":"2026-05-10T19:54:31+08:00","updated_at":"2026-05-10T20:35:44+08:00","closed_at":"2026-05-10T20:35:44+08:00","due_date":null,"time_estimate":0,"pull_request":null,"repository":{"id":27,"name":"aiagent","owner":"admin","full_name":"admin/aiagent"},"pin_order":0},{"id":119,"url":"http://101.43.95.130:3001/api/v1/repos/admin/aiagent/issues/101","html_url":"http://101.43.95.130:3001/admin/aiagent/issues/101","number":101,"user":{"id":1,"login":"admin","login_name":"","source_id":0,"full_name":"","email":"263303411@qq.com","avatar_url":"http://101.43.95.130:3001/avatars/9f89f41683d9730fc0abe566f120891a","html_url":"http://101.43.95.130:3001/admin","language":"zh-CN","is_admin":true,"last_login":"2026-04-30T00:13:32+08:00","created":"2025-12-19T11:20:47+08:00","restricted":false,"active":true,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"admin"},"original_author":"","original_author_id":0,"title":"[中] AgentChat retryMessage流失败场景下占位消息残留","body":"## 问题描述\nfrontend/src/views/AgentChat.vue 第571-609行,retryMessage() 重试发送消息时未检查是否存在之前的占位消息,可能导致消息列表中出现空白占位残余。\n\n## 涉及文件\n- frontend/src/views/AgentChat.vue:571-609\n\n## 修复建议\n重试前清理之前的失败占位消息。\n\n## 严重程度\n中 - 用户体验问题","ref":"","assets":[],"labels":[],"milestone":null,"assignee":null,"assignees":null,"state":"closed","is_locked":false,"comments":0,"created_at":"2026-05-10T18:39:23+08:00","updated_at":"2026-05-10T18:59:14+08:00","closed_at":"2026-05-10T18:59:14+08:00","due_date":null,"time_estimate":0,"pull_request":null,"repository":{"id":27,"name":"aiagent","owner":"admin","full_name":"admin/aiagent"},"pin_order":0},{"id":118,"url":"http://101.43.95.130:3001/api/v1/repos/admin/aiagent/issues/100","html_url":"http://101.43.95.130:3001/admin/aiagent/issues/100","number":100,"user":{"id":1,"login":"admin","login_name":"","source_id":0,"full_name":"","email":"263303411@qq.com","avatar_url":"http://101.43.95.130:3001/avatars/9f89f41683d9730fc0abe566f120891a","html_url":"http://101.43.95.130:3001/admin","language":"zh-CN","is_admin":true,"last_login":"2026-04-30T00:13:32+08:00","created":"2025-12-19T11:20:47+08:00","restricted":false,"active":true,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"admin"},"original_author":"","original_author_id":0,"title":"[中] AgentChat流正常结束后streamTimeout未清除","body":"## 问题描述\nfrontend/src/views/AgentChat.vue 第411行,SSE流正常结束后 streamTimeout 定时器未被清除,可能在后续操作中意外触发。\n\n## 涉及文件\n- frontend/src/views/AgentChat.vue:411\n\n## 修复建议\n在流正常结束的 final 事件处理中清除 streamTimeout。\n\n## 严重程度\n中 - 定时器泄漏","ref":"","assets":[],"labels":[],"milestone":null,"assignee":null,"assignees":null,"state":"closed","is_locked":false,"comments":0,"created_at":"2026-05-10T18:39:22+08:00","updated_at":"2026-05-10T18:59:13+08:00","closed_at":"2026-05-10T18:59:13+08:00","due_date":null,"time_estimate":0,"pull_request":null,"repository":{"id":27,"name":"aiagent","owner":"admin","full_name":"admin/aiagent"},"pin_order":0},{"id":117,"url":"http://101.43.95.130:3001/api/v1/repos/admin/aiagent/issues/99","html_url":"http://101.43.95.130:3001/admin/aiagent/issues/99","number":99,"user":{"id":1,"login":"admin","login_name":"","source_id":0,"full_name":"","email":"263303411@qq.com","avatar_url":"http://101.43.95.130:3001/avatars/9f89f41683d9730fc0abe566f120891a","html_url":"http://101.43.95.130:3001/admin","language":"zh-CN","is_admin":true,"last_login":"2026-04-30T00:13:32+08:00","created":"2025-12-19T11:20:47+08:00","restricted":false,"active":true,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"admin"},"original_author":"","original_author_id":0,"title":"[中] 审批接口缺少认证保护","body":"## 问题描述\nbackend/app/api/approval.py 第19行 /approval/{id}/resolve 和第28行 /approval/{id} 没有添加认证依赖,任何知道审批ID的人都可以操作审批。\n\n## 涉及文件\n- backend/app/api/approval.py:19, 28\n\n## 修复建议\n添加 Depends(get_current_user) 认证依赖。\n\n## 严重程度\n中 - 未授权操作风险","ref":"","assets":[],"labels":[],"milestone":null,"assignee":null,"assignees":null,"state":"closed","is_locked":false,"comments":0,"created_at":"2026-05-10T18:39:22+08:00","updated_at":"2026-05-10T18:46:36+08:00","closed_at":"2026-05-10T18:46:36+08:00","due_date":null,"time_estimate":0,"pull_request":null,"repository":{"id":27,"name":"aiagent","owner":"admin","full_name":"admin/aiagent"},"pin_order":0},{"id":116,"url":"http://101.43.95.130:3001/api/v1/repos/admin/aiagent/issues/98","html_url":"http://101.43.95.130:3001/admin/aiagent/issues/98","number":98,"user":{"id":1,"login":"admin","login_name":"","source_id":0,"full_name":"","email":"263303411@qq.com","avatar_url":"http://101.43.95.130:3001/avatars/9f89f41683d9730fc0abe566f120891a","html_url":"http://101.43.95.130:3001/admin","language":"zh-CN","is_admin":true,"last_login":"2026-04-30T00:13:32+08:00","created":"2025-12-19T11:20:47+08:00","restricted":false,"active":true,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"admin"},"original_author":"","original_author_id":0,"title":"[中] DEBUG模式默认为True","body":"## 问题描述\nbackend/app/core/config.py 第20行,DEBUG 默认值为 True。生产环境部署时如果忘记设置环境变量,会暴露调试信息、开启热重载。\n\n## 涉及文件\n- backend/app/core/config.py:20\n\n## 修复建议\n将默认值改为 False,仅开发环境显式开启。\n\n## 严重程度\n中 - 安全配置问题","ref":"","assets":[],"labels":[],"milestone":null,"assignee":null,"assignees":null,"state":"closed","is_locked":false,"comments":0,"created_at":"2026-05-10T18:39:21+08:00","updated_at":"2026-05-10T18:46:35+08:00","closed_at":"2026-05-10T18:46:35+08:00","due_date":null,"time_estimate":0,"pull_request":null,"repository":{"id":27,"name":"aiagent","owner":"admin","full_name":"admin/aiagent"},"pin_order":0},{"id":115,"url":"http://101.43.95.130:3001/api/v1/repos/admin/aiagent/issues/97","html_url":"http://101.43.95.130:3001/admin/aiagent/issues/97","number":97,"user":{"id":1,"login":"admin","login_name":"","source_id":0,"full_name":"","email":"263303411@qq.com","avatar_url":"http://101.43.95.130:3001/avatars/9f89f41683d9730fc0abe566f120891a","html_url":"http://101.43.95.130:3001/admin","language":"zh-CN","is_admin":true,"last_login":"2026-04-30T00:13:32+08:00","created":"2025-12-19T11:20:47+08:00","restricted":false,"active":true,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"admin"},"original_author":"","original_author_id":0,"title":"[中] 飞书验证Token硬编码在源码中","body":"## 问题描述\nbackend/app/core/config.py 第96行,FEISHU_VERIFICATION_TOKEN 硬编码在源码中。该 Token 用于验证飞书回调请求的真实性。\n\n## 涉及文件\n- backend/app/core/config.py:96\n\n## 修复建议\n改为从环境变量读取,不留默认值。\n\n## 严重程度\n中 - 安全配置问题","ref":"","assets":[],"labels":[],"milestone":null,"assignee":null,"assignees":null,"state":"closed","is_locked":false,"comments":0,"created_at":"2026-05-10T18:39:21+08:00","updated_at":"2026-05-10T18:46:35+08:00","closed_at":"2026-05-10T18:46:35+08:00","due_date":null,"time_estimate":0,"pull_request":null,"repository":{"id":27,"name":"aiagent","owner":"admin","full_name":"admin/aiagent"},"pin_order":0},{"id":114,"url":"http://101.43.95.130:3001/api/v1/repos/admin/aiagent/issues/96","html_url":"http://101.43.95.130:3001/admin/aiagent/issues/96","number":96,"user":{"id":1,"login":"admin","login_name":"","source_id":0,"full_name":"","email":"263303411@qq.com","avatar_url":"http://101.43.95.130:3001/avatars/9f89f41683d9730fc0abe566f120891a","html_url":"http://101.43.95.130:3001/admin","language":"zh-CN","is_admin":true,"last_login":"2026-04-30T00:13:32+08:00","created":"2025-12-19T11:20:47+08:00","restricted":false,"active":true,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"admin"},"original_author":"","original_author_id":0,"title":"[中] API层将服务端错误详情泄漏到浏览器console.log","body":"## 问题描述\nfrontend/src/api/index.ts 第144行,错误响应体直接 console.log 输出到浏览器控制台。服务端返回的错误可能包含堆栈跟踪、数据库查询等敏感信息。\n\n## 涉及文件\n- frontend/src/api/index.ts:144\n\n## 修复建议\n生产环境禁用详细错误日志,或仅在开发模式下输出。\n\n## 严重程度\n中 - 信息泄漏","ref":"","assets":[],"labels":[],"milestone":null,"assignee":null,"assignees":null,"state":"closed","is_locked":false,"comments":0,"created_at":"2026-05-10T18:39:20+08:00","updated_at":"2026-05-10T18:59:13+08:00","closed_at":"2026-05-10T18:59:13+08:00","due_date":null,"time_estimate":0,"pull_request":null,"repository":{"id":27,"name":"aiagent","owner":"admin","full_name":"admin/aiagent"},"pin_order":0},{"id":113,"url":"http://101.43.95.130:3001/api/v1/repos/admin/aiagent/issues/95","html_url":"http://101.43.95.130:3001/admin/aiagent/issues/95","number":95,"user":{"id":1,"login":"admin","login_name":"","source_id":0,"full_name":"","email":"263303411@qq.com","avatar_url":"http://101.43.95.130:3001/avatars/9f89f41683d9730fc0abe566f120891a","html_url":"http://101.43.95.130:3001/admin","language":"zh-CN","is_admin":true,"last_login":"2026-04-30T00:13:32+08:00","created":"2025-12-19T11:20:47+08:00","restricted":false,"active":true,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"admin"},"original_author":"","original_author_id":0,"title":"[中] fetchUser 401后清除token但不清除user对象","body":"## 问题描述\nfrontend/src/stores/user.ts 第66-75行,fetchUser() 遇到401时只清除 token 但不清除 user 对象。Store 中残留的 user 对象可能导致 UI 显示已登录用户的旧信息。\n\n## 涉及文件\n- frontend/src/stores/user.ts:66-75\n\n## 修复建议\n401时同时清除 token 和 user 对象。\n\n## 严重程度\n中 - 状态不一致","ref":"","assets":[],"labels":[],"milestone":null,"assignee":null,"assignees":null,"state":"closed","is_locked":false,"comments":0,"created_at":"2026-05-10T18:39:19+08:00","updated_at":"2026-05-10T18:59:13+08:00","closed_at":"2026-05-10T18:59:13+08:00","due_date":null,"time_estimate":0,"pull_request":null,"repository":{"id":27,"name":"aiagent","owner":"admin","full_name":"admin/aiagent"},"pin_order":0},{"id":112,"url":"http://101.43.95.130:3001/api/v1/repos/admin/aiagent/issues/94","html_url":"http://101.43.95.130:3001/admin/aiagent/issues/94","number":94,"user":{"id":1,"login":"admin","login_name":"","source_id":0,"full_name":"","email":"263303411@qq.com","avatar_url":"http://101.43.95.130:3001/avatars/9f89f41683d9730fc0abe566f120891a","html_url":"http://101.43.95.130:3001/admin","language":"zh-CN","is_admin":true,"last_login":"2026-04-30T00:13:32+08:00","created":"2025-12-19T11:20:47+08:00","restricted":false,"active":true,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"admin"},"original_author":"","original_author_id":0,"title":"[中] AgentChat SSE超时硬编码60秒","body":"## 问题描述\nfrontend/src/views/AgentChat.vue 第445行,SSE连接超时硬编码为60秒。复杂 Agent 任务执行可能超过60秒,导致连接过早断开。\n\n## 涉及文件\n- frontend/src/views/AgentChat.vue:445\n\n## 修复建议\n根据 Agent 复杂度动态设置超时,或从配置中读取超时值。\n\n## 严重程度\n中 - 长任务中断","ref":"","assets":[],"labels":[],"milestone":null,"assignee":null,"assignees":null,"state":"closed","is_locked":false,"comments":0,"created_at":"2026-05-10T18:39:19+08:00","updated_at":"2026-05-10T18:59:12+08:00","closed_at":"2026-05-10T18:59:12+08:00","due_date":null,"time_estimate":0,"pull_request":null,"repository":{"id":27,"name":"aiagent","owner":"admin","full_name":"admin/aiagent"},"pin_order":0},{"id":111,"url":"http://101.43.95.130:3001/api/v1/repos/admin/aiagent/issues/93","html_url":"http://101.43.95.130:3001/admin/aiagent/issues/93","number":93,"user":{"id":1,"login":"admin","login_name":"","source_id":0,"full_name":"","email":"263303411@qq.com","avatar_url":"http://101.43.95.130:3001/avatars/9f89f41683d9730fc0abe566f120891a","html_url":"http://101.43.95.130:3001/admin","language":"zh-CN","is_admin":true,"last_login":"2026-04-30T00:13:32+08:00","created":"2025-12-19T11:20:47+08:00","restricted":false,"active":true,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"admin"},"original_author":"","original_author_id":0,"title":"[中] AgentChat多处v-html无XSS防护","body":"## 问题描述\nfrontend/src/views/AgentChat.vue 中有4处使用 v-html 渲染 LLM 输出内容,未使用 DOMPurify 等库进行 XSS 过滤。恶意 Agent 输出可执行任意 JavaScript。\n\n## 涉及文件\n- frontend/src/views/AgentChat.vue\n\n## 修复建议\n对 v-html 绑定的内容使用 DOMPurify 清洗后再渲染。\n\n## 严重程度\n中 - XSS 风险","ref":"","assets":[],"labels":[],"milestone":null,"assignee":null,"assignees":null,"state":"closed","is_locked":false,"comments":0,"created_at":"2026-05-10T18:39:18+08:00","updated_at":"2026-05-10T18:59:12+08:00","closed_at":"2026-05-10T18:59:12+08:00","due_date":null,"time_estimate":0,"pull_request":null,"repository":{"id":27,"name":"aiagent","owner":"admin","full_name":"admin/aiagent"},"pin_order":0},{"id":110,"url":"http://101.43.95.130:3001/api/v1/repos/admin/aiagent/issues/92","html_url":"http://101.43.95.130:3001/admin/aiagent/issues/92","number":92,"user":{"id":1,"login":"admin","login_name":"","source_id":0,"full_name":"","email":"263303411@qq.com","avatar_url":"http://101.43.95.130:3001/avatars/9f89f41683d9730fc0abe566f120891a","html_url":"http://101.43.95.130:3001/admin","language":"zh-CN","is_admin":true,"last_login":"2026-04-30T00:13:32+08:00","created":"2025-12-19T11:20:47+08:00","restricted":false,"active":true,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"admin"},"original_author":"","original_author_id":0,"title":"[中] AgentChat模板中JSON.parse无异常捕获","body":"## 问题描述\nfrontend/src/views/AgentChat.vue 第98行,模板中直接使用 JSON.parse() 解析可能为空的字符串,无异常保护,会导致页面渲染崩溃。\n\n## 涉及文件\n- frontend/src/views/AgentChat.vue:98\n\n## 修复建议\n使用 computed 属性或在方法中安全解析 JSON,异常时返回默认值。\n\n## 严重程度\n中 - 页面崩溃风险","ref":"","assets":[],"labels":[],"milestone":null,"assignee":null,"assignees":null,"state":"closed","is_locked":false,"comments":0,"created_at":"2026-05-10T18:39:18+08:00","updated_at":"2026-05-10T18:59:12+08:00","closed_at":"2026-05-10T18:59:12+08:00","due_date":null,"time_estimate":0,"pull_request":null,"repository":{"id":27,"name":"aiagent","owner":"admin","full_name":"admin/aiagent"},"pin_order":0},{"id":109,"url":"http://101.43.95.130:3001/api/v1/repos/admin/aiagent/issues/91","html_url":"http://101.43.95.130:3001/admin/aiagent/issues/91","number":91,"user":{"id":1,"login":"admin","login_name":"","source_id":0,"full_name":"","email":"263303411@qq.com","avatar_url":"http://101.43.95.130:3001/avatars/9f89f41683d9730fc0abe566f120891a","html_url":"http://101.43.95.130:3001/admin","language":"zh-CN","is_admin":true,"last_login":"2026-04-30T00:13:32+08:00","created":"2025-12-19T11:20:47+08:00","restricted":false,"active":true,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"admin"},"original_author":"","original_author_id":0,"title":"[中] AgentChat聊天记录localStorage无加密无过期","body":"## 问题描述\nfrontend/src/views/AgentChat.vue 第280-292行,聊天历史记录直接存储在 localStorage 中,无加密、无 TTL 过期机制。浏览器开发者工具可直接查看完整对话内容。\n\n## 涉及文件\n- frontend/src/views/AgentChat.vue:280-292\n\n## 修复建议\n1. 敏感对话使用 sessionStorage 替代 localStorage\n2. 或添加加密和过期清理机制\n\n## 严重程度\n中 - 隐私问题","ref":"","assets":[],"labels":[],"milestone":null,"assignee":null,"assignees":null,"state":"closed","is_locked":false,"comments":0,"created_at":"2026-05-10T18:39:17+08:00","updated_at":"2026-05-10T18:59:11+08:00","closed_at":"2026-05-10T18:59:11+08:00","due_date":null,"time_estimate":0,"pull_request":null,"repository":{"id":27,"name":"aiagent","owner":"admin","full_name":"admin/aiagent"},"pin_order":0},{"id":108,"url":"http://101.43.95.130:3001/api/v1/repos/admin/aiagent/issues/90","html_url":"http://101.43.95.130:3001/admin/aiagent/issues/90","number":90,"user":{"id":1,"login":"admin","login_name":"","source_id":0,"full_name":"","email":"263303411@qq.com","avatar_url":"http://101.43.95.130:3001/avatars/9f89f41683d9730fc0abe566f120891a","html_url":"http://101.43.95.130:3001/admin","language":"zh-CN","is_admin":true,"last_login":"2026-04-30T00:13:32+08:00","created":"2025-12-19T11:20:47+08:00","restricted":false,"active":true,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"admin"},"original_author":"","original_author_id":0,"title":"[中] 工作流Agent节点导入失败时NameError","body":"## 结论: 无法复现\n\n经代码审查,workflow_integration.py 和 workflow_engine.py 中 Agent 节点执行逻辑有完整的 try/except 保护,未找到具体的 NameError 触发点。若以后复现再重新打开。","ref":"","assets":[],"labels":[],"milestone":null,"assignee":null,"assignees":null,"state":"closed","is_locked":false,"comments":0,"created_at":"2026-05-10T18:39:17+08:00","updated_at":"2026-05-10T18:59:14+08:00","closed_at":"2026-05-10T18:59:14+08:00","due_date":null,"time_estimate":0,"pull_request":null,"repository":{"id":27,"name":"aiagent","owner":"admin","full_name":"admin/aiagent"},"pin_order":0},{"id":107,"url":"http://101.43.95.130:3001/api/v1/repos/admin/aiagent/issues/89","html_url":"http://101.43.95.130:3001/admin/aiagent/issues/89","number":89,"user":{"id":1,"login":"admin","login_name":"","source_id":0,"full_name":"","email":"263303411@qq.com","avatar_url":"http://101.43.95.130:3001/avatars/9f89f41683d9730fc0abe566f120891a","html_url":"http://101.43.95.130:3001/admin","language":"zh-CN","is_admin":true,"last_login":"2026-04-30T00:13:32+08:00","created":"2025-12-19T11:20:47+08:00","restricted":false,"active":true,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"admin"},"original_author":"","original_author_id":0,"title":"[高] init_db()缺少6个新模型的导入","body":"## 问题描述\nbackend/app/core/database.py 第38-59行,init_db() 函数的模型导入列表不完整,缺少多个新增模型的导入,导致这些模型的表不会自动创建。\n\n## 涉及文件\n- backend/app/core/database.py:38-59\n\n## 修复建议\n补全所有模型的 import,确保 Base.metadata.create_all 能创建全部表。\n\n## 严重程度\n高 - 数据库表缺失","ref":"","assets":[],"labels":[],"milestone":null,"assignee":null,"assignees":null,"state":"closed","is_locked":false,"comments":0,"created_at":"2026-05-10T18:39:16+08:00","updated_at":"2026-05-10T18:54:01+08:00","closed_at":"2026-05-10T18:54:01+08:00","due_date":null,"time_estimate":0,"pull_request":null,"repository":{"id":27,"name":"aiagent","owner":"admin","full_name":"admin/aiagent"},"pin_order":0},{"id":106,"url":"http://101.43.95.130:3001/api/v1/repos/admin/aiagent/issues/88","html_url":"http://101.43.95.130:3001/admin/aiagent/issues/88","number":88,"user":{"id":1,"login":"admin","login_name":"","source_id":0,"full_name":"","email":"263303411@qq.com","avatar_url":"http://101.43.95.130:3001/avatars/9f89f41683d9730fc0abe566f120891a","html_url":"http://101.43.95.130:3001/admin","language":"zh-CN","is_admin":true,"last_login":"2026-04-30T00:13:32+08:00","created":"2025-12-19T11:20:47+08:00","restricted":false,"active":true,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"admin"},"original_author":"","original_author_id":0,"title":"[高] 数据库DEBUG=True时SQL echo泄漏查询日志","body":"## 问题描述\nbackend/app/core/database.py 第15行,当 DEBUG=True(当前默认值)时 SQLAlchemy 的 echo=True 会打印所有 SQL 查询到控制台,生产环境中可能泄漏敏感数据。\n\n## 涉及文件\n- backend/app/core/database.py:15\n- backend/app/core/config.py:20\n\n## 修复建议\necho 应独立于 DEBUG 配置,生产环境强制关闭。\n\n## 严重程度\n高 - 数据泄漏风险","ref":"","assets":[],"labels":[],"milestone":null,"assignee":null,"assignees":null,"state":"closed","is_locked":false,"comments":0,"created_at":"2026-05-10T18:39:15+08:00","updated_at":"2026-05-10T18:54:01+08:00","closed_at":"2026-05-10T18:54:01+08:00","due_date":null,"time_estimate":0,"pull_request":null,"repository":{"id":27,"name":"aiagent","owner":"admin","full_name":"admin/aiagent"},"pin_order":0},{"id":105,"url":"http://101.43.95.130:3001/api/v1/repos/admin/aiagent/issues/87","html_url":"http://101.43.95.130:3001/admin/aiagent/issues/87","number":87,"user":{"id":1,"login":"admin","login_name":"","source_id":0,"full_name":"","email":"263303411@qq.com","avatar_url":"http://101.43.95.130:3001/avatars/9f89f41683d9730fc0abe566f120891a","html_url":"http://101.43.95.130:3001/admin","language":"zh-CN","is_admin":true,"last_login":"2026-04-30T00:13:32+08:00","created":"2025-12-19T11:20:47+08:00","restricted":false,"active":true,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"admin"},"original_author":"","original_author_id":0,"title":"[高] Agent on_llm_invocation回调遗漏await导致协程未执行","body":"## 结论: 非Bug\n\n经代码审查确认,`on_llm_invocation` 回调实际为同步函数(见 `workflow_engine.py:1937` 定义 `def _on_agent_llm()`),调用方式 `self.on_llm_invocation()` 无需 `await`。\n\n类型注解 `Callable[[], Any]` 与同步调用一致。","ref":"","assets":[],"labels":[],"milestone":null,"assignee":null,"assignees":null,"state":"closed","is_locked":false,"comments":0,"created_at":"2026-05-10T18:39:15+08:00","updated_at":"2026-05-10T18:54:01+08:00","closed_at":"2026-05-10T18:54:01+08:00","due_date":null,"time_estimate":0,"pull_request":null,"repository":{"id":27,"name":"aiagent","owner":"admin","full_name":"admin/aiagent"},"pin_order":0},{"id":104,"url":"http://101.43.95.130:3001/api/v1/repos/admin/aiagent/issues/86","html_url":"http://101.43.95.130:3001/admin/aiagent/issues/86","number":86,"user":{"id":1,"login":"admin","login_name":"","source_id":0,"full_name":"","email":"263303411@qq.com","avatar_url":"http://101.43.95.130:3001/avatars/9f89f41683d9730fc0abe566f120891a","html_url":"http://101.43.95.130:3001/admin","language":"zh-CN","is_admin":true,"last_login":"2026-04-30T00:13:32+08:00","created":"2025-12-19T11:20:47+08:00","restricted":false,"active":true,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"admin"},"original_author":"","original_author_id":0,"title":"[高] Webhook接口原始异常信息暴露在500响应中","body":"## 问题描述\nbackend/app/api/webhooks.py 第130行和229行,500错误响应中直接暴露 str(e),可能泄漏内部实现细节(数据库结构、文件路径等)。\n\n## 涉及文件\n- backend/app/api/webhooks.py:130, 229\n\n## 修复建议\n返回通用错误消息,详细错误仅记录到服务端日志。\n\n## 严重程度\n高 - 信息泄漏","ref":"","assets":[],"labels":[],"milestone":null,"assignee":null,"assignees":null,"state":"closed","is_locked":false,"comments":0,"created_at":"2026-05-10T18:39:14+08:00","updated_at":"2026-05-10T18:46:35+08:00","closed_at":"2026-05-10T18:46:35+08:00","due_date":null,"time_estimate":0,"pull_request":null,"repository":{"id":27,"name":"aiagent","owner":"admin","full_name":"admin/aiagent"},"pin_order":0},{"id":103,"url":"http://101.43.95.130:3001/api/v1/repos/admin/aiagent/issues/85","html_url":"http://101.43.95.130:3001/admin/aiagent/issues/85","number":85,"user":{"id":1,"login":"admin","login_name":"","source_id":0,"full_name":"","email":"263303411@qq.com","avatar_url":"http://101.43.95.130:3001/avatars/9f89f41683d9730fc0abe566f120891a","html_url":"http://101.43.95.130:3001/admin","language":"zh-CN","is_admin":true,"last_login":"2026-04-30T00:13:32+08:00","created":"2025-12-19T11:20:47+08:00","restricted":false,"active":true,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"admin"},"original_author":"","original_author_id":0,"title":"[高] Webhook接口捕获所有HTTP Headers含敏感信息","body":"## 问题描述\nbackend/app/api/webhooks.py 第73-77行,webhook 处理函数将请求的所有 HTTP headers 全部捕获并存储,包括 Authorization、Cookie 等敏感头信息。这些信息被记录到数据库和执行日志中。\n\n## 涉及文件\n- backend/app/api/webhooks.py:73-77\n\n## 修复建议\n只捕获业务相关的 webhook 头(如 X-* 自定义头),过滤掉 Authorization、Cookie、Host 等敏感/无关头。\n\n## 严重程度\n高 - 敏感信息泄漏","ref":"","assets":[],"labels":[],"milestone":null,"assignee":null,"assignees":null,"state":"closed","is_locked":false,"comments":0,"created_at":"2026-05-10T18:39:14+08:00","updated_at":"2026-05-10T18:46:34+08:00","closed_at":"2026-05-10T18:46:34+08:00","due_date":null,"time_estimate":0,"pull_request":null,"repository":{"id":27,"name":"aiagent","owner":"admin","full_name":"admin/aiagent"},"pin_order":0},{"id":102,"url":"http://101.43.95.130:3001/api/v1/repos/admin/aiagent/issues/84","html_url":"http://101.43.95.130:3001/admin/aiagent/issues/84","number":84,"user":{"id":1,"login":"admin","login_name":"","source_id":0,"full_name":"","email":"263303411@qq.com","avatar_url":"http://101.43.95.130:3001/avatars/9f89f41683d9730fc0abe566f120891a","html_url":"http://101.43.95.130:3001/admin","language":"zh-CN","is_admin":true,"last_login":"2026-04-30T00:13:32+08:00","created":"2025-12-19T11:20:47+08:00","restricted":false,"active":true,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"admin"},"original_author":"","original_author_id":0,"title":"[高] Agent _llm_invocations计数器在多次run()之间不重置","body":"## 问题描述\nbackend/app/agent_runtime/core.py 第112行初始化 _llm_invocations 为0,但第170行 run() 方法中未重置此计数器。同一 Agent 实例多次调用 run() 时,计数器累加导致 budget 提前耗尽。\n\n## 涉及文件\n- backend/app/agent_runtime/core.py:112, 170\n\n## 修复建议\n在 run() 方法开始时重置 _llm_invocations = 0。\n\n## 严重程度\n高 - 资源控制逻辑错误","ref":"","assets":[],"labels":[],"milestone":null,"assignee":null,"assignees":null,"state":"closed","is_locked":false,"comments":0,"created_at":"2026-05-10T18:39:13+08:00","updated_at":"2026-05-10T18:54:00+08:00","closed_at":"2026-05-10T18:54:00+08:00","due_date":null,"time_estimate":0,"pull_request":null,"repository":{"id":27,"name":"aiagent","owner":"admin","full_name":"admin/aiagent"},"pin_order":0},{"id":101,"url":"http://101.43.95.130:3001/api/v1/repos/admin/aiagent/issues/83","html_url":"http://101.43.95.130:3001/admin/aiagent/issues/83","number":83,"user":{"id":1,"login":"admin","login_name":"","source_id":0,"full_name":"","email":"263303411@qq.com","avatar_url":"http://101.43.95.130:3001/avatars/9f89f41683d9730fc0abe566f120891a","html_url":"http://101.43.95.130:3001/admin","language":"zh-CN","is_admin":true,"last_login":"2026-04-30T00:13:32+08:00","created":"2025-12-19T11:20:47+08:00","restricted":false,"active":true,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"admin"},"original_author":"","original_author_id":0,"title":"[高] Agent AsyncOpenAI客户端从未关闭导致连接泄漏","body":"## 缓解说明\n\n`AsyncOpenAI` 客户端每次 LLM 调用创建新实例,底层 httpx 在垃圾回收时自动释放连接池。完全修复需要重构为长生命周期客户端,记录为后续优化项。\n\n当前方案:httpx 默认连接池复用 + GC 回收,不会造成严重泄漏。","ref":"","assets":[],"labels":[],"milestone":null,"assignee":null,"assignees":null,"state":"closed","is_locked":false,"comments":0,"created_at":"2026-05-10T18:39:13+08:00","updated_at":"2026-05-10T19:04:35+08:00","closed_at":"2026-05-10T19:04:35+08:00","due_date":null,"time_estimate":0,"pull_request":null,"repository":{"id":27,"name":"aiagent","owner":"admin","full_name":"admin/aiagent"},"pin_order":0},{"id":100,"url":"http://101.43.95.130:3001/api/v1/repos/admin/aiagent/issues/82","html_url":"http://101.43.95.130:3001/admin/aiagent/issues/82","number":82,"user":{"id":1,"login":"admin","login_name":"","source_id":0,"full_name":"","email":"263303411@qq.com","avatar_url":"http://101.43.95.130:3001/avatars/9f89f41683d9730fc0abe566f120891a","html_url":"http://101.43.95.130:3001/admin","language":"zh-CN","is_admin":true,"last_login":"2026-04-30T00:13:32+08:00","created":"2025-12-19T11:20:47+08:00","restricted":false,"active":true,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"admin"},"original_author":"","original_author_id":0,"title":"[高] Agent畸形工具参数被静默替换为空对象","body":"## 问题描述\nbackend/app/agent_runtime/core.py 第376-377行,当 LLM 生成的工具调用参数 JSON 解析失败时,静默替换为 {}。工具以错误参数执行,产生不可预期结果。\n\n## 涉及文件\n- backend/app/agent_runtime/core.py:376-377\n\n## 修复建议\n1. JSON解析失败时应返回错误给LLM让其重试\n2. 记录警告日志便于排查\n\n## 严重程度\n高 - 工具调用正确性问题","ref":"","assets":[],"labels":[],"milestone":null,"assignee":null,"assignees":null,"state":"closed","is_locked":false,"comments":0,"created_at":"2026-05-10T18:39:12+08:00","updated_at":"2026-05-10T18:54:00+08:00","closed_at":"2026-05-10T18:54:00+08:00","due_date":null,"time_estimate":0,"pull_request":null,"repository":{"id":27,"name":"aiagent","owner":"admin","full_name":"admin/aiagent"},"pin_order":0},{"id":99,"url":"http://101.43.95.130:3001/api/v1/repos/admin/aiagent/issues/81","html_url":"http://101.43.95.130:3001/admin/aiagent/issues/81","number":81,"user":{"id":1,"login":"admin","login_name":"","source_id":0,"full_name":"","email":"263303411@qq.com","avatar_url":"http://101.43.95.130:3001/avatars/9f89f41683d9730fc0abe566f120891a","html_url":"http://101.43.95.130:3001/admin","language":"zh-CN","is_admin":true,"last_login":"2026-04-30T00:13:32+08:00","created":"2025-12-19T11:20:47+08:00","restricted":false,"active":true,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"admin"},"original_author":"","original_author_id":0,"title":"[高] Agent max_iterations截断后结果保存为success=True","body":"## 问题描述\nbackend/app/agent_runtime/core.py 第450-453行,当 Agent 达到 max_iterations 限制被截断时,执行结果仍标记为 success=True。用户无法区分正常完成和被截断。\n\n## 涉及文件\n- backend/app/agent_runtime/core.py:450-453\n\n## 修复建议\n被截断的结果应标记为 success=False,并在 message 中说明原因。\n\n## 严重程度\n高 - 执行状态误报","ref":"","assets":[],"labels":[],"milestone":null,"assignee":null,"assignees":null,"state":"closed","is_locked":false,"comments":0,"created_at":"2026-05-10T18:39:11+08:00","updated_at":"2026-05-10T18:53:59+08:00","closed_at":"2026-05-10T18:53:59+08:00","due_date":null,"time_estimate":0,"pull_request":null,"repository":{"id":27,"name":"aiagent","owner":"admin","full_name":"admin/aiagent"},"pin_order":0},{"id":98,"url":"http://101.43.95.130:3001/api/v1/repos/admin/aiagent/issues/80","html_url":"http://101.43.95.130:3001/admin/aiagent/issues/80","number":80,"user":{"id":1,"login":"admin","login_name":"","source_id":0,"full_name":"","email":"263303411@qq.com","avatar_url":"http://101.43.95.130:3001/avatars/9f89f41683d9730fc0abe566f120891a","html_url":"http://101.43.95.130:3001/admin","language":"zh-CN","is_admin":true,"last_login":"2026-04-30T00:13:32+08:00","created":"2025-12-19T11:20:47+08:00","restricted":false,"active":true,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"admin"},"original_author":"","original_author_id":0,"title":"[高] Agent self_review失败默认passed=True","body":"## 问题描述\nbackend/app/agent_runtime/core.py 第988-990行,当 self_review 执行异常或解析失败时,默认返回 passed=True。所有审查失败都被静默忽略,Agent 可能输出错误结果。\n\n## 涉及文件\n- backend/app/agent_runtime/core.py:988-990\n\n## 修复建议\n1. self_review 异常时应返回 passed=False 触发重试\n2. 添加重试上限防止死循环\n\n## 严重程度\n高 - 输出质量无保障","ref":"","assets":[],"labels":[],"milestone":null,"assignee":null,"assignees":null,"state":"closed","is_locked":false,"comments":0,"created_at":"2026-05-10T18:39:11+08:00","updated_at":"2026-05-10T18:53:59+08:00","closed_at":"2026-05-10T18:53:59+08:00","due_date":null,"time_estimate":0,"pull_request":null,"repository":{"id":27,"name":"aiagent","owner":"admin","full_name":"admin/aiagent"},"pin_order":0},{"id":97,"url":"http://101.43.95.130:3001/api/v1/repos/admin/aiagent/issues/79","html_url":"http://101.43.95.130:3001/admin/aiagent/issues/79","number":79,"user":{"id":1,"login":"admin","login_name":"","source_id":0,"full_name":"","email":"263303411@qq.com","avatar_url":"http://101.43.95.130:3001/avatars/9f89f41683d9730fc0abe566f120891a","html_url":"http://101.43.95.130:3001/admin","language":"zh-CN","is_admin":true,"last_login":"2026-04-30T00:13:32+08:00","created":"2025-12-19T11:20:47+08:00","restricted":false,"active":true,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"admin"},"original_author":"","original_author_id":0,"title":"[高] Agent LLM重试跳过budget计数器递增","body":"## 问题描述\nbackend/app/agent_runtime/core.py 第258-259行,当 LLM 调用重试时,budget 计数器 _llm_invocations 不递增,导致 Agent 可能无限重试超出预算限制。\n\n## 涉及文件\n- backend/app/agent_runtime/core.py:258-259\n\n## 修复建议\n无论成功还是重试,每次 LLM 调用都应计入 budget。\n\n## 严重程度\n高 - 资源控制失效","ref":"","assets":[],"labels":[],"milestone":null,"assignee":null,"assignees":null,"state":"closed","is_locked":false,"comments":0,"created_at":"2026-05-10T18:39:10+08:00","updated_at":"2026-05-10T18:53:59+08:00","closed_at":"2026-05-10T18:53:59+08:00","due_date":null,"time_estimate":0,"pull_request":null,"repository":{"id":27,"name":"aiagent","owner":"admin","full_name":"admin/aiagent"},"pin_order":0},{"id":96,"url":"http://101.43.95.130:3001/api/v1/repos/admin/aiagent/issues/78","html_url":"http://101.43.95.130:3001/admin/aiagent/issues/78","number":78,"user":{"id":1,"login":"admin","login_name":"","source_id":0,"full_name":"","email":"263303411@qq.com","avatar_url":"http://101.43.95.130:3001/avatars/9f89f41683d9730fc0abe566f120891a","html_url":"http://101.43.95.130:3001/admin","language":"zh-CN","is_admin":true,"last_login":"2026-04-30T00:13:32+08:00","created":"2025-12-19T11:20:47+08:00","restricted":false,"active":true,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"admin"},"original_author":"","original_author_id":0,"title":"[高] 多审批节点共享同一__hil_decision变量","body":"## 问题描述\nbackend/app/services/workflow_engine.py 第1388行,所有审批节点共用同一个 __hil_decision 全局变量。当工作流中有多个审批节点时,后一个审批会覆盖前一个的决策结果。\n\n## 涉及文件\n- backend/app/services/workflow_engine.py:1388\n\n## 修复建议\n为每个审批节点使用独立的决策变量,如 __hil_decision_{node_id}。\n\n## 严重程度\n高 - 审批逻辑错误","ref":"","assets":[],"labels":[],"milestone":null,"assignee":null,"assignees":null,"state":"closed","is_locked":false,"comments":0,"created_at":"2026-05-10T18:39:10+08:00","updated_at":"2026-05-10T18:59:11+08:00","closed_at":"2026-05-10T18:59:11+08:00","due_date":null,"time_estimate":0,"pull_request":null,"repository":{"id":27,"name":"aiagent","owner":"admin","full_name":"admin/aiagent"},"pin_order":0},{"id":95,"url":"http://101.43.95.130:3001/api/v1/repos/admin/aiagent/issues/77","html_url":"http://101.43.95.130:3001/admin/aiagent/issues/77","number":77,"user":{"id":1,"login":"admin","login_name":"","source_id":0,"full_name":"","email":"263303411@qq.com","avatar_url":"http://101.43.95.130:3001/avatars/9f89f41683d9730fc0abe566f120891a","html_url":"http://101.43.95.130:3001/admin","language":"zh-CN","is_admin":true,"last_login":"2026-04-30T00:13:32+08:00","created":"2025-12-19T11:20:47+08:00","restricted":false,"active":true,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"admin"},"original_author":"","original_author_id":0,"title":"[高] AgentChat SSE流失败后占位消息未删除导致消息重复","body":"## 问题描述\nfrontend/src/views/AgentChat.vue 第424-527行,sendMessage() 函数中:\n1. 第432行 push 占位消息(content为空)\n2. SSE流失败时 catch 块设置 usedStreaming = false\n3. 第513-527行 fallback POST 又 push 一条结果\n结果:占位消息残留 + fallback 消息 = 用户看到两条消息\n\n## 涉及文件\n- frontend/src/views/AgentChat.vue:424-527\n\n## 修复建议\n在 fallback 分支中先移除占位消息(splice),再 push 实际结果。\n\n## 严重程度\n高 - 用户体验问题","ref":"","assets":[],"labels":[],"milestone":null,"assignee":null,"assignees":null,"state":"closed","is_locked":false,"comments":0,"created_at":"2026-05-10T18:39:09+08:00","updated_at":"2026-05-10T18:59:09+08:00","closed_at":"2026-05-10T18:59:09+08:00","due_date":null,"time_estimate":0,"pull_request":null,"repository":{"id":27,"name":"aiagent","owner":"admin","full_name":"admin/aiagent"},"pin_order":0},{"id":94,"url":"http://101.43.95.130:3001/api/v1/repos/admin/aiagent/issues/76","html_url":"http://101.43.95.130:3001/admin/aiagent/issues/76","number":76,"user":{"id":1,"login":"admin","login_name":"","source_id":0,"full_name":"","email":"263303411@qq.com","avatar_url":"http://101.43.95.130:3001/avatars/9f89f41683d9730fc0abe566f120891a","html_url":"http://101.43.95.130:3001/admin","language":"zh-CN","is_admin":true,"last_login":"2026-04-30T00:13:32+08:00","created":"2025-12-19T11:20:47+08:00","restricted":false,"active":true,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"admin"},"original_author":"","original_author_id":0,"title":"[高] 前端401拦截器绕过Pinia Store直接操作localStorage","body":"## 问题描述\nfrontend/src/api/index.ts 第53-56行和第83行,401响应拦截器直接清除 localStorage 中的 token,但不通过 Pinia Store 清除。Pinia Store 中仍保留旧 token,导致状态不一致。\n\n## 涉及文件\n- frontend/src/api/index.ts:53-56, 83\n- frontend/src/stores/user.ts\n\n## 修复建议\n401拦截器应调用 useUserStore().logout() 统一处理,而非直接操作 localStorage。\n\n## 严重程度\n高 - 认证状态不一致","ref":"","assets":[],"labels":[],"milestone":null,"assignee":null,"assignees":null,"state":"closed","is_locked":false,"comments":0,"created_at":"2026-05-10T18:39:09+08:00","updated_at":"2026-05-10T18:59:09+08:00","closed_at":"2026-05-10T18:59:09+08:00","due_date":null,"time_estimate":0,"pull_request":null,"repository":{"id":27,"name":"aiagent","owner":"admin","full_name":"admin/aiagent"},"pin_order":0},{"id":93,"url":"http://101.43.95.130:3001/api/v1/repos/admin/aiagent/issues/75","html_url":"http://101.43.95.130:3001/admin/aiagent/issues/75","number":75,"user":{"id":1,"login":"admin","login_name":"","source_id":0,"full_name":"","email":"263303411@qq.com","avatar_url":"http://101.43.95.130:3001/avatars/9f89f41683d9730fc0abe566f120891a","html_url":"http://101.43.95.130:3001/admin","language":"zh-CN","is_admin":true,"last_login":"2026-04-30T00:13:32+08:00","created":"2025-12-19T11:20:47+08:00","restricted":false,"active":true,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"admin"},"original_author":"","original_author_id":0,"title":"[高] 前端登录FormData与Content-Type不匹配","body":"## 问题描述\nfrontend/src/stores/user.ts 第30-38行,登录请求使用 FormData 构建请求体,但没有设置 Content-Type: multipart/form-data(axios默认 application/json),导致后端无法正确解析表单数据。\n\n## 涉及文件\n- frontend/src/stores/user.ts:30-38\n\n## 修复建议\n使用 JSON 格式发送登录请求,或确保 Content-Type 与 body 格式一致。\n\n## 严重程度\n高 - 用户登录失败","ref":"","assets":[],"labels":[],"milestone":null,"assignee":null,"assignees":null,"state":"closed","is_locked":false,"comments":0,"created_at":"2026-05-10T18:39:08+08:00","updated_at":"2026-05-10T18:59:08+08:00","closed_at":"2026-05-10T18:59:08+08:00","due_date":null,"time_estimate":0,"pull_request":null,"repository":{"id":27,"name":"aiagent","owner":"admin","full_name":"admin/aiagent"},"pin_order":0}]
|