Commit Graph

20 Commits

Author SHA1 Message Date
Abner
eba2c1fb05 🔧 ci: 升级 Codacy Analysis CLI action 到 v4.4.7
- 修复旧版本 SARIF 生成时的 IndexOutOfBoundsException 崩溃
2026-05-11 09:14:52 +08:00
Abner
a1628aa33a 🐛 fix(security): 修复全部 76 个 CodeQL 安全扫描告警
修复 GitHub 代码扫描发现的所有安全问题,涵盖 20 个文件、76 个告警:

- Actions 工作流:添加 Fork 仓库限制、来源验证、persist-credentials: false、移除 npm cache
- 明文存储:localStorage 迁移到 secureStorage (sessionStorage + TTL)
- 日志注入:新增 sanitizeLog() 过滤换行符,覆盖全部 console.log 调用
- SSRF:新增 isAllowedTarget() 域名白名单校验
- SRI 完整性:为 Bootstrap/Font Awesome/GTM 添加 integrity + crossorigin
- XSS 防护:错误消息 HTML 转义、Service Worker origin 验证
- URL 清洗:hostname.includes() 替换为精确域名匹配
- HTML 过滤:扩展标签黑名单、添加事件属性过滤
- 限流:全局引入 createRateLimiter (200 req/min/IP)
2026-05-06 21:46:25 +08:00
Abner
1bb9c6db30 Add Codacy security scan workflow
This workflow integrates Codacy security scans into GitHub Actions, checking code on pushes and pull requests to the main branch, and scheduling scans weekly.

Signed-off-by: Abner <22141172+Silentely@users.noreply.github.com>
2026-05-06 20:58:05 +08:00
Abner
37f54a10a1 Add CodeQL analysis workflow configuration
Signed-off-by: Abner <22141172+Silentely@users.noreply.github.com>
2026-05-06 20:57:59 +08:00
Abner
f897ae5212 feat: 优化 AI 智能回复工作流的请求逻辑与 JSON 格式处理
- 移除冗余的 `tools` 和 `tool_choice` 参数,简化请求结构,提升代码可维护性
- 统一使用 `response_format: {"type": "json_object"}` 确保所有请求返回标准 JSON 格式
- 在用户提示末尾明确添加禁止输出 `json` 代码块标记的说明,避免解析错误
- 简化重试逻辑,移除基于模式的条件判断,统一处理消息内容追加
- 将测试用例名称从 `chat_tools`/`chat_json` 调整为更语义化的 `chat_json`/`chat_plain`
2026-05-05 11:45:03 +08:00
Abner
5087ad5e64 feat: 优化 AI 智能回复工作流中的文件内容读取逻辑
- 将单个文件最大读取字符数从 3000 提升至 8000,以获取更完整的上下文信息
- 引入关键词定位机制,自动识别 search_queries、keywords 和 components 中的有效搜索词
- 实现上下文窗口提取功能,对关键词命中行前后各取 40 行内容,提高相关代码片段的完整性
- 添加重叠区间合并逻辑,避免重复内容并保持上下文连贯性
- 在无关键词匹配时保留原始截断策略作为回退方案,确保兼容性
2026-05-02 12:28:20 +08:00
Abner
bf090f9ce2 feat: 升级 AI Issue 智能回复工作流,支持更精确的解决方案输出和新评论模式
- 重构 LLM 调用方式,移除 `chat_tools` 模式,统一使用 `chat_json` 和 `chat_plain` 模式,并增强 JSON 提取逻辑(支持从 markdown 代码块中提取)
- 在响应 schema 中新增 `workaround` 字段,用于提供用户可立即执行的临时解决方案(不依赖代码修改或重新部署)
- 强化 `solution` 和 `actionable_steps` 字段的内容要求,必须包含具体文件路径、函数名、行号及可执行修改步骤,提升对 AI 编程助手的可用性
- 将输出标记从 v3 升级至 v4,并改为始终创建新评论(不再编辑旧评论),保留历史分析记录,提升可追溯性
- 优化错误处理和日志输出,在网络请求失败时打印 HTTP 错误码和响应体前 500 字符,便于调试
2026-04-29 23:22:44 +08:00
Abner
d7c4f5f6e3 ♻️ refactor: 重构 AI Issue 智能回复工作流,移除索引检索并增强上下文分析
- 移除独立的 AI 索引构建工作流(ai-build-index.yml)及相关脚本,简化架构
- 删除 ai/ 目录下所有索引文件(index.jsonl、embeddings.jsonl、index_manifest.json)
- 将 retrieve_ai_context.py 脚本替换为内联的仓库扫描逻辑,直接在工作流中实现上下文检索
- 新增富化上下文(enriched context)收集功能,自动提取 Issue 中的错误堆栈、代码块、相关文件内容和 Git 历史
- 增强 triage 阶段输出结构,新增 error_pattern_summary、related_files 和 actionable_steps 字段
- 优化触发条件,支持 issue_comment 事件并通过 `/ai-analyze` 命令触发重新分析
- 改进 LLM 调用验证逻辑,增加字段完整性检查和自动重试机制
- 重构输出展示模板,提供更结构化的 AI 分析结果和用户操作指引
2026-04-29 22:50:56 +08:00
Abner
01b81eaa5e 🔧 chore: 移除旧版 Issue 模板并重构 AI 工单处理工作流
- 删除 `.github/ISSUE_TEMPLATE/bug_report.yml` 和 `.github/ISSUE_TEMPLATE/config_question.yml` 两个旧版 Issue 模板文件
- 重构 `ai-issue-smart-reply.yml` 工作流,将 LLM 调用从 `appleboy/llm-action` 改为原生 Python 脚本实现
- 在工作流中添加对 Node 24 的强制使用设置 `FORCE_JAVASCRIPT_ACTIONS_TO_NODE24: true`
- 优化 LLM 接口调用逻辑,支持多种响应格式(function calling 和 JSON object)并具备自动降级机制
- 将系统提示词和输入提示词分离为独立文件,提升可维护性和可读性
2026-04-23 17:32:47 +08:00
Abner
4a652270f1 🔧 chore: 新增 GitHub 问题模板和优化 AI 索引构建流程
- 新增 .github/FUNDING.yml 文件,配置 Ko-fi 赞助链接
- 创建 bug_report.yml 问题模板,规范问题提交流程,包含版本、部署方式、环境信息等必填字段
- 创建 config_question.yml 问题模板,用于处理配置和部署相关疑问
- 重构 build_ai_index.py 脚本,改进错误处理、添加 User-Agent 参数、支持批量嵌入大小配置
- 更新 ai-build-index.yml 工作流,添加 API 端点探测步骤,支持嵌入批次大小和用户代理配置变量
- 优化 ai-issue-smart-reply.yml 工作流,简化 LLM 调用参数,增强嵌入检索逻辑以支持混合索引查询
2026-04-18 00:16:29 +08:00
Abner
4bd373ffa2 🔧 chore: 移除冗余的上下文准备步骤
- 删除 `.ai_runtime/index_context.txt` 和 `.ai_runtime/fallback_context.txt` 的处理逻辑
- 移除 `Prepare final retrieved context` 工作流步骤,简化执行流程
- 清理 `.ai_runtime/final_context.txt` 文件相关操作,减少不必要的文件处理
2026-04-13 20:31:03 +08:00
Abner
6c20b62670 feat: 升级 AI 索引构建与检索系统,支持向量嵌入和混合搜索
- 重构 `build_ai_index.py`,新增向量嵌入支持,包括批量嵌入处理、API 响应校验和超时优化,提升索引生成稳定性
- 引入 `retrieve_ai_context.py` 的向量检索能力,支持基于余弦相似度的混合关键词+语义搜索,显著提高相关性匹配精度
- 更新索引清单格式至 version 2,增加生成时间、扫描文件数、启用嵌入等元数据字段,便于调试与监控
- 优化工作流 `ai-build-index.yml`,添加并发控制、步骤摘要输出和嵌入开关逻辑,增强可观测性与资源管理
- 改进 `ai-issue-smart-reply.yml` 的上下文获取流程,统一最终上下文与候选信息处理路径,确保数据一致性和容错能力
2026-04-13 20:21:11 +08:00
Abner
142c484783 Update ai-issue-smart-reply.yml 2026-04-13 20:02:51 +08:00
Abner
73e62d76ab feat: 添加 AI 知识库索引构建与智能 Issue 回复功能
- 新增 `build_ai_index.py` 脚本,用于扫描仓库文件并生成带权重的文本分块索引,支持关键词提取与摘要生成
- 新增 `retrieve_ai_context.py` 脚本,支持基于嵌入索引或仓库扫描的上下文检索,用于为 Issue 分析提供相关文档片段
- 新增 `ai-build-index.yml` 工作流,定期或在指定文件变更时自动构建轻量级索引和可选的真实嵌入向量,并支持提交更新到仓库
- 新增 `ai-issue-smart-reply.yml` 工作流,在新 Issue 创建时自动进行类型识别、重复检查、上下文检索,并由 LLM 生成维护者级别的回复和标签建议
- 支持通过环境变量灵活控制功能开关(如是否使用嵌入索引、是否自动打标签),并集成 GitHub 原生操作实现幂等评论更新与标签管理
2026-04-13 19:56:23 +08:00
Abner
4327e4c29a Delete .github/workflows/codex_hub.yml 2026-02-23 12:02:04 +08:00
Abner
226f5a8f3d Update GitHub Actions workflow for codex_hub 2026-01-07 23:10:02 +08:00
Abner
69d3a923f0 Add Codex Intelligence Hub workflow
This workflow triggers on pull requests and issue comments, running a Codex Intelligence Hub job that processes code changes and user commands.
2026-01-07 22:47:03 +08:00
Abner
1b36a7e1c1 feat: 新增完整的 GitHub Actions 工作流自动化系统
- 添加质量守卫工作流,负责代码推送时的质量检查、安全扫描、单元测试和构建验证
- 实现 CI 自动修复工作流,当质量检查失败时自动尝试重新运行各项检查
- 引入质量自动改进工作流,检测评级不足时自动应用代码格式化和 ESLint 修复
- 建立清理工作流历史定时任务,自动删除三天前的工作流运行记录和附件
- 设计智能评分机制,根据各项检查结果计算综合质量分数并生成评级报告
- 集成 Artifacts 管理,自动上传质量报告、修复结果和改进补丁供后续分析使用
2025-11-24 20:13:33 +08:00
Abner
274fa6ffad ci: 移除 CodeQL 高级配置工作流 2025-08-05 23:50:12 +08:00
Abner
cd9734a00c Create codeql.yml 2025-08-05 23:45:11 +08:00