All checks were successful
Build and Deploy / build-and-deploy (push) Successful in 1m4s
基于豆包(Doubao) LLM 分析 git commit messages,按仓库维度自动为每个 提交人生成、更新、标记完成 OKR: - 新增 ai_analyzed_commits 表实现增量标记,每条 commit 只分析一次 - objectives/keyResults 新增 source、sourceKey 字段区分 AI 生成与手动创建 - keyResults.status 扩展支持 completed 状态 - 新增 llm-client.ts 封装豆包 Ark API 调用(原生 fetch,零依赖) - 新增 okr-ai-sync.ts 核心服务:按仓库分组 → 构建 prompt → 调用 AI → 执行 actions - scheduler 在 Git 同步后自动触发 AI 分析(受 AI_ENABLED 开关控制) - 新增 POST /api/okr/ai-analyze 手动触发和 preview 预览端点 - 防重复三层保障:commit SHA 标记 + sourceKey 去重 + 项目 OKR 上下文 已验证:501 条 commits 全量分析,生成 37 个 Objectives、164 个 Key Results, 增量去重机制正常(重复调用返回 0 actions)。 Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
21 lines
900 B
SQL
21 lines
900 B
SQL
-- AI Analyzed Commits 表(增量标记,防止重复分析)
|
|
CREATE TABLE IF NOT EXISTS `ai_analyzed_commits` (
|
|
`id` varchar(50) NOT NULL PRIMARY KEY,
|
|
`commit_sha` varchar(200) NOT NULL,
|
|
`batch_id` varchar(50) NOT NULL,
|
|
`created_at` datetime NOT NULL
|
|
);
|
|
--> statement-breakpoint
|
|
CREATE UNIQUE INDEX `uniq_analyzed_sha` ON `ai_analyzed_commits` (`commit_sha`);
|
|
--> statement-breakpoint
|
|
-- objectives 表加 source 字段
|
|
ALTER TABLE `objectives` ADD COLUMN `source` varchar(50) DEFAULT 'manual';
|
|
--> statement-breakpoint
|
|
-- key_results 表加 source 和 source_key 字段
|
|
ALTER TABLE `key_results` ADD COLUMN `source` varchar(50) DEFAULT 'manual';
|
|
--> statement-breakpoint
|
|
ALTER TABLE `key_results` ADD COLUMN `source_key` varchar(300) NULL;
|
|
--> statement-breakpoint
|
|
-- sync_logs source 枚举扩展
|
|
ALTER TABLE `sync_logs` MODIFY COLUMN `source` enum('plane','gitea','ai_okr') NOT NULL;
|