mzaxd
84b0209b03
fix: 修复构建失败并补齐聊天存储模块
2026-02-24 19:12:59 +08:00
mzaxd
ff6f12be21
feat: 完善 signals 热度筛选与展示交互
2026-02-24 17:31:43 +08:00
mzaxd
f157174341
feat: 新增前沿信号聚合页面与Webhook入库能力
2026-02-24 09:38:29 +08:00
mzaxd
4e30ddefc5
fix: 修复 Vercel 统计函数传递导致的预渲染错误
2026-02-24 08:45:13 +08:00
mzaxd
67bba0c207
feat: 接入 Vercel Analytics 与 Speed Insights 并控制采集量
2026-02-23 23:08:01 +08:00
mzaxd
16484827c9
fix: 移除项目探索标签数量上限
2026-02-23 20:15:39 +08:00
mzaxd
d90236bcf0
refactor: 调整首页统计与标签洞察展示
2026-02-23 18:12:54 +08:00
mzaxd
49d673144b
fix: 项目列表默认条数由20调整为10
2026-02-23 18:08:12 +08:00
mzaxd
44b58143c9
fix: 移除项目入库接口标签数量限制
2026-02-23 17:39:54 +08:00
mzaxd
c18a55cf13
refactor: 将 discovery tasks 接口参数改为 status (支持逗号分隔多值)
...
- 移除 `statuses` 参数,统一使用 `status` 参数
- 支持单状态:?status=PENDING
- 支持多状态:?status=PENDING,FAILED
- 简化 API 设计,更符合 REST 规范
2026-02-22 23:24:35 +08:00
mzaxd
521eb97acd
feat: discovery tasks 接口支持多状态查询
...
- 新增 `statuses` 查询参数,支持按多个状态过滤任务
- 保持 `status` 单状态参数的向后兼容性
- 更新验证 schema 以支持逗号分隔的多状态值
示例用法:
- 单状态:?status=PENDING
- 多状态:?statuses=PENDING,FAILED
2026-02-22 23:13:45 +08:00
mzaxd
c7e82b1f8b
feat: 新增首页洞察模块与优化 n8n 工作流
...
首页新增四个洞察组件:
- HomeOverviewStats: 项目统计概览
- HomeRankings: 最新项目与星标排行榜
- HomeTagInsights: 标签分布与热门标签
- HomeRecentTimeline: 最近项目时间线
- 新增 useHome hook 聚合首页数据
n8n 工作流优化:
- 节点名称中文化,提升可读性
- HTTP 节点内置分页支持拉取全量项目
- 新增"拆分项目列表"节点实现逐项目处理
- 移除 SITE_BASE_URL 依赖,使用固定生产环境 URL
2026-02-22 19:45:01 +08:00
mzaxd
8f04acb50c
feat: 新增SEO基础功能 (robots.txt, sitemap.xml, 404页面)
...
- 新增 robots.ts 生成搜索引擎爬虫指令
- 新增 sitemap.ts 动态生成站点地图(含所有项目页面)
- 新增自定义 404 页面,支持中英文
- 新增 catchAll 路由捕获未匹配路径
- 更新翻译文件添加 404 页面文案
2026-02-22 19:24:14 +08:00
mzaxd
7b79fb3275
refactor: AI搜索空状态文案改为可配置
2026-02-22 12:03:20 +08:00
mzaxd
58eb6c8c23
feat: 新增项目 GitHub 星标字段与索引
2026-02-22 12:03:17 +08:00
mzaxd
ef527d69ce
feat: 完善标签分类与领域场景归一化
2026-02-22 12:03:11 +08:00
mzaxd
285af9a039
feat: 新增项目标签重置接口与n8n流程
2026-02-22 11:58:29 +08:00
mzaxd
93c616793d
refactor: 统一API鉴权并提升代码健壮性
2026-02-22 11:50:48 +08:00
mzaxd
2e2edac6af
feat: 升级项目列表筛选结构并优化首屏体验
2026-02-22 11:18:55 +08:00
mzaxd
fb33b76ff5
feat: 新增标签分类体系与固定类型筛选优化
2026-02-21 14:14:45 +08:00
mzaxd
56eada659b
fix: 删除match接口相关校验定义
2026-02-21 12:46:16 +08:00
mzaxd
79c25eb1b3
refactor: 移除 AI 词云、AI 时间轴和博客模块
...
暂停开发以下功能,将设计文档移至未完成计划文件夹:
- AI 词云 (Keyword Cloud): 前端、API、数据库模型、n8n 工作流
- AI 时间轴 (AI Timeline): 前端、API、数据库模型
- 博客 (Blog): 导航链接占位
变更内容:
- 删除词云和时间轴的前端页面及组件
- 删除 /api/keyword-cloud/* 和 /api/events/* API 端点
- 从 prisma/schema.prisma 移除 Keyword, Quarter, VisualStyleRule, KeywordCloudErrorLog, AIEvent 模型
- 从 validations.ts 移除相关 Zod Schema
- 从国际化消息中移除 keywordCloud/timeline 命名空间
- 从导航菜单移除词云、时间轴、博客链接
- 更新 CLAUDE.md 移除词云系统文档
设计文档已移至 .omc/plans/postponed-features/ 供后续恢复开发参考
2026-02-21 12:35:54 +08:00
mzaxd
c2eabfea97
fix: 清洗标签并收敛入库标签噪音
2026-02-21 12:07:02 +08:00
mzaxd
220e9f8b71
feat: 实现标签合并维护接口与n8n每日工作流
2026-02-21 09:52:51 +08:00
mzaxd
6cb4545a17
chore: 更新项目文档和工具状态
...
- 更新 AGENTS.md 项目知识库文档(多目录)
- 添加 docs/analyst.md 产品分析文档
- 添加 .omc/ 工具状态和会话记录
- 添加 .sisyphus/ 计划文档
- 添加 project-structure.txt 项目结构
- 删除 timeline 测试截图
2026-02-20 21:48:05 +08:00
mzaxd
eb797450b5
fix: 修复 n8n-mcp 代理环境变量导致连接失败
...
- 将启动方式从 npx 改为直接执行 /opt/homebrew/bin/n8n-mcp
- 显式清空代理相关环境变量避免请求走本地代理
2026-02-20 21:45:10 +08:00
mzaxd
fc46804405
feat: 新增 Tag Janitor API 用于 n8n 自动化标签合并
...
- 新增 GET /api/tags 接口返回标签列表及项目计数
- 新增 POST /api/tags/maintenance 接口支持批量 nameEn 补全和标签合并
- 合并逻辑包含 ProjectTag 去重处理(避免复合主键冲突)
- 成功后触发 ISR revalidatePath 刷新项目列表页
- 新增 Zod 校验 schemas(TagMaintenanceRequestSchema 等)
- 包含 n8n workflow JSON 模板及文档
2026-02-01 22:51:45 +08:00
mzaxd
3477f06fa2
Merge remote-tracking branch 'origin/main'
...
Fixed conflicts in keyword cloud page and API route
2026-02-01 17:02:17 +08:00
mzaxd
c599e4e05f
doc: opencode config
2026-02-01 16:59:01 +08:00
mzaxd
76eefdc151
refactor: Next.js 15兼容性改进和数据库模型标准化
2026-02-01 16:53:09 +08:00
mzaxd
a33be23281
Merge branch 'feature/ai-timeline'
2026-02-01 15:40:51 +08:00
mzaxd
47a278ca1b
feat: add Timeline i18n support and deterministic EventCard rotation
...
- Add complete Chinese/English translations for timeline page
- Use event ID-based rotation instead of Math.random() for SSR consistency
- Enhance tape decoration styling with blur and transparency
- Fix locale-aware date formatting
2026-02-01 15:40:01 +08:00
mzaxd
53e1faab89
docs: 生成层次化 AGENTS.md 文档系统
2026-02-01 14:57:43 +08:00
mzaxd and Claude
7955cabea8
fix: 修复 Next.js 15 async params 兼容性问题并更新文档
...
- 修复关键词词云页面和 API 路由中的 async params 处理
- 将 params 和 searchParams 正确声明为 Promise 类型并添加 await
- 在 CLAUDE.md 中添加 Next.js 15 Breaking Change 说明
- 添加 ESLint/Prettier 配置文档
- 添加 Next.js 15 页面创建指南
- 补充故障排查部分的相关错误处理说明
Co-Authored-By: Claude (glm-4.7) <noreply@anthropic.com >
2026-01-29 17:21:55 +08:00
mzaxd
e6ff7470a1
test: add verification report and screenshots for fixed timeline
2026-01-27 22:01:44 +08:00
mzaxd
7d78bb2d52
fix: add animations, timeline path, and fix layout to match design
2026-01-27 21:58:08 +08:00
mzaxd
e1d14fcd0b
feat: add historical events seed script (2017-2023)
2026-01-27 21:50:33 +08:00
mzaxd
0a5146117b
docs: add n8n workflow designs for AI timeline
2026-01-27 21:49:18 +08:00
mzaxd
8cfcebc515
test: complete E2E testing with chrome-devtools-mcp
2026-01-27 21:48:20 +08:00
mzaxd
0f0dc4b987
feat: add Timeline link to navigation with i18n support
2026-01-27 21:42:06 +08:00
mzaxd
a54396fb74
refactor: extract EventCard and TimelineSection components
2026-01-27 21:41:15 +08:00
mzaxd
1e99c9a4e6
feat: add timeline page with year-based layout
2026-01-27 21:40:14 +08:00
mzaxd
11a876ebbe
fix: handle null query params in API + add testing guide
2026-01-27 21:39:17 +08:00
mzaxd
f81f51e508
test: add API route tests
2026-01-27 21:37:34 +08:00
mzaxd
11436aee6f
feat: add AI events API endpoints
2026-01-27 21:36:17 +08:00
mzaxd
9aeb649225
feat: add AI event data fetching functions
2026-01-27 21:35:54 +08:00
mzaxd
a6d97e58e2
test: add AIEvent validation tests
2026-01-27 21:34:35 +08:00
mzaxd
65b84e641d
feat: add AIEvent validation schemas
2026-01-27 21:33:29 +08:00
mzaxd
76c45c7132
feat: add AIEvent model to database schema
2026-01-27 21:32:57 +08:00
mzaxd
e1f250d397
feat: 添加关键词词云页面国际化支持
2026-01-27 20:39:38 +08:00
mzaxd
9164086d6e
feat: 在导航中添加 AI 词云入口
2026-01-27 20:36:38 +08:00
mzaxd
4855422b85
fix: 修复 ESLint 错误(转义引号)
2026-01-27 20:32:54 +08:00
mzaxd
0aa983085e
fix: 修复 TypeScript 类型错误
2026-01-27 20:31:57 +08:00
mzaxd
abab035b17
docs: 更新 CLAUDE.md 添加关键词词云系统说明
2026-01-27 20:29:51 +08:00
mzaxd
269c4a9573
feat: 添加关键词词云健康检查端点
2026-01-27 20:28:23 +08:00
mzaxd
522d1a2698
test: 添加关键词词云 API 测试脚本
2026-01-27 20:27:56 +08:00
mzaxd
d9bbdfb06f
chore: 添加 n8n 环境变量配置和文档
2026-01-27 20:26:35 +08:00
mzaxd
1b75ac0b0d
feat: 添加关键词词云种子数据脚本
2026-01-27 20:21:43 +08:00
mzaxd
c02ccdd86e
feat: 添加 n8n 关键词词云工作流配置
2026-01-27 20:20:05 +08:00
mzaxd
ddea832261
feat: 添加关键词词云页面
2026-01-27 20:19:26 +08:00
mzaxd
4ce8f9f756
feat: 添加关键词词云客户端数据获取 Hook
2026-01-27 20:19:10 +08:00
mzaxd
e60c6faeb2
feat: 添加 KeywordCloud 主容器组件
2026-01-27 20:18:26 +08:00
mzaxd
b33886f3ee
feat: 添加 ProgressIndicator 组件
2026-01-27 20:17:58 +08:00
mzaxd
46bd1dbe30
feat: 添加 QuarterNavigator 组件
2026-01-27 20:17:44 +08:00
mzaxd
a7846ecb61
feat: 添加 CloudWord 组件
2026-01-27 20:15:35 +08:00
mzaxd
22fbd42158
feat: 添加获取视觉规则 API
2026-01-27 20:14:58 +08:00
mzaxd
8faa798401
feat: 添加批量写入关键词 API
2026-01-27 20:14:43 +08:00
mzaxd
460c865249
feat: 添加获取关键词 API
2026-01-27 19:35:25 +08:00
mzaxd
1c248a18fa
feat: 添加获取季度列表 API
2026-01-27 19:34:58 +08:00
mzaxd
7c9f7ad018
feat: 添加关键词词云数据访问层函数
2026-01-27 19:34:33 +08:00
mzaxd
76a1646cb7
feat: 添加关键词词云系统 Zod 验证 Schema
2026-01-27 19:30:57 +08:00
mzaxd
3d6c0b4a41
feat: 添加关键词词云系统数据库模型
2026-01-27 19:30:09 +08:00
mzaxd and Claude
2dd4214998
feat: 添加搜索清空按钮并移除 AI 搜索提示
...
- 在搜索输入框有内容时显示清空按钮(X 图标)
- 点击清空按钮可清除输入内容并重置搜索状态
- 移除 AI 模式下的提示文字以简化界面
- 清理相关的 aiHint/traditionalHint props 及传递链
Co-Authored-By: Claude (glm-4.7) <noreply@anthropic.com >
2026-01-27 19:18:02 +08:00
mzaxd and Claude
07457f09b1
refactor: 统一 AI 搜索与传统搜索布局,并简化 n8n 响应格式处理
...
- API 只支持 n8n 返回的 {results: [{id, similarity}]} 格式
- AI 搜索结果改用网格布局,与传统搜索保持一致
- 用右上角相似度徽章替代左侧彩色条和黄色高亮框
- 移除顶部的匹配度说明,徽章颜色直观显示匹配质量
Co-Authored-By: Claude (glm-4.7) <noreply@anthropic.com >
2026-01-27 19:09:16 +08:00
mzaxd and Claude
6c13fc54d6
fix: 修复 AI 搜索跳转后 async/await 客户端组件错误
...
将 ProjectCard 和 SubmitProjectCard 从 async 组件重构为普通组件,
通过 props 接收翻译文本,解决在客户端组件中使用 async 组件导致的错误。
- 移除 ProjectCard 和 SubmitProjectCard 的 async 关键字
- 添加 translations prop 接收翻译文本
- 更新所有调用点传递翻译文本
Co-Authored-By: Claude (glm-4.7) <noreply@anthropic.com >
2026-01-27 17:22:21 +08:00
mzaxd and Claude
b03085292a
fix: 修复 AI 搜索结果类型定义
...
修复 AISearchResultItem 类型,移除对 status 字段的排除,确保类型与实际数据结构匹配
Co-Authored-By: Claude (glm-4.7) <noreply@anthropic.com >
2026-01-27 16:53:28 +08:00
mzaxd and Claude
660cd5168c
feat: 重构 AI 搜索架构并优化用户体验
...
- 重构 AI 搜索数据流:n8n 只返回项目 ID,Next.js 后端负责组装完整数据
- 首页添加 AI 搜索功能,支持跳转到项目列表页后自动触发搜索
- 新增 HomeSearchBar 组件处理首页搜索逻辑
- 修复英文模式下搜索按钮重叠问题,使用 flex 布局确保间距
- 完善国际化支持,添加切换模式提示和加载状态的翻译
- 优化搜索体验:切换 AI/传统搜索模式时保留输入框内容
Co-Authored-By: Claude (glm-4.7) <noreply@anthropic.com >
2026-01-27 16:40:44 +08:00
mzaxd and Claude
11009320f1
fix: 修复 AI 搜索 API 请求方法不匹配问题
...
将 n8n webhook 调用从 POST 改为 GET 请求,参数通过 URL query string 传递,与 n8n webhook 配置保持一致。
Co-Authored-By: Claude (glm-4.7) <noreply@anthropic.com >
2026-01-27 15:37:26 +08:00
mzaxd and Claude
3aec209ff9
refactor: 将 n8n 工作流外部化并简化数据库 schema
...
- 移除 n8n-workflows 目录下的工作流配置文件
- 从 Project 模型移除 embedding 和 embeddingUpdatedAt 字段
- 添加 N8N_AI_SEARCH_WEBHOOK 环境变量配置
Co-Authored-By: Claude (glm-4.7) <noreply@anthropic.com >
2026-01-27 15:17:58 +08:00
mzaxd and Claude
02cbe59a0c
feat: 实现 AI 智能搜索功能
...
添加语义搜索能力,支持自然语言查询找到相关项目。
- 数据库:新增 embedding 字段用于向量存储
- 前端:新增 AI 搜索栏和结果组件,支持传统/AI 模式切换
- API:新增 /api/search/ai 端点处理语义搜索请求
- 国际化:添加 AI 搜索相关中英文翻译
- 探索任务:允许 FAILED 状态直接转到 IN_PROGRESS 简化重试
Co-Authored-By: Claude <noreply@anthropic.com >
2026-01-26 20:59:13 +08:00
mzaxd and Claude
6c65cb7cc0
feat: 添加批量重置探索任务 API 端点
...
新增 POST /api/discovery/tasks/batch-reset 接口,用于 n8n 探索流程失败后批量重置任务状态。
功能:
- 支持按任务 ID 列表重置
- 支持按状态筛选重置(默认 IN_PROGRESS 和 FAILED)
- 重置时清除 startedAt、completedAt、errorMessage
Co-Authored-By: Claude <noreply@anthropic.com >
2026-01-26 15:14:51 +08:00
mzaxd
114ae76abb
docs: 添加季度 AI 热点词云系统设计文档和实施计划
2026-01-26 07:58:30 +08:00
mzaxd
91a8a656ab
docs: 添加 AI 时间轴功能详细实施计划
2026-01-25 18:16:50 +08:00
mzaxd
72bf531e91
docs: 添加 AI 时间轴功能设计文档
2026-01-25 18:12:18 +08:00
mzaxd
52f36c9e4a
docs: 添加 AI 智能搜索系统实施计划
2026-01-25 17:23:52 +08:00
mzaxd
dbbe481be7
docs: 添加 AI 智能搜索系统设计文档
2026-01-25 17:20:02 +08:00
mzaxd
f0aa0616f7
chore: 将 .claude/settings.json 移出 git 追踪
...
- 添加到 .gitignore,允许不同电脑使用不同配置
- 保留本地文件,仅从 git 追踪中移除
2026-01-25 16:52:06 +08:00
mzaxd
da7101621d
feat: 增强标签云组件支持搜索和展开功能
...
- 将 TagCloud 改造为客户端组件,添加实时搜索功能
- 新增 getTopTags 函数获取热门标签(按项目数量排序)
- 支持展开/收起查看所有标签,提升大量标签场景下的用户体验
- 添加标签相关中英文翻译文本
- 新增 scripts/list-tags.js 辅助脚本用于标签统计分析
2026-01-25 16:51:32 +08:00
mzaxd and Claude
3d62cacde8
chore: 移除项目发现系统本地组件并更新文档
...
移除 .claude 目录下的项目发现系统组件:
- content-explorer-agent(项目内容探索专家)
- api-submitter-agent(API 提交专家)
- discover-projects 命令
- project-content-template 模板
同时更新配置和文档:
- settings.json 添加代理配置
- api-reference.md 完善项目发现系统 API 说明
Co-Authored-By: Claude <noreply@anthropic.com >
2026-01-22 10:52:02 +08:00
mzaxd and Claude
70f6f52459
feat: 移除项目创建任务数量上限
...
Co-Authored-By: Claude <noreply@anthropic.com >
2026-01-19 13:57:44 +08:00
mzaxd
13acdd426b
docs: 完善 CLAUDE.md 开发指南和项目发现工作流文档
...
- 添加常见开发模式指南(API 端点、数据库字段、自定义 Agent、多语言内容)
- 新增故障排除部分,涵盖常见问题和调试技巧
- 改进 GET /api/discovery/tasks 端点,支持通过查询参数传递 API key
- 更新环境变量示例,使用更安全的 API key 格式
2026-01-19 07:57:44 +08:00
mzaxd
d59c5aaee6
chore: 明确禁止 discover-projects 使用 chrome-devtools MCP
...
- 在 content-explorer-agent 中添加禁止使用 chrome-devtools MCP 的说明
- 在 discover-projects 命令中添加重要约束章节
- 确保整个流程只通过 Bash 工具调用 agent-browser CLI 命令
- 在多个关键位置强调禁止规则,并提供正确和错误做法示例
2026-01-18 19:23:07 +08:00
mzaxd
d5bf20bbf3
feat: 添加项目发现去重检查 API
...
新增去重检查功能,避免创建重复的探索任务:
API 端点:POST /api/discovery/check-duplicates
功能特性:
- 检查 URL 是否已存在 PENDING/IN_PROGRESS 任务
- 检查 URL 是否已存在 COMPLETED/FAILED 任务
- 检查 URL 对应的项目是否已通过 ExternalLink 收录
- 返回每条 URL 的 shouldCreate 判断和建议原因
新增文件:
- src/app/api/discovery/check-duplicates/route.ts: 去重检查逻辑
- src/lib/validations.ts: CheckTaskDuplicatesSchema
文档更新:
- docs/discovery-workflow.md: 添加步骤 2.5 去重检查文档
- API 调用示例
- 返回结果说明
- 去重逻辑优先级
- n8n 集成建议
2026-01-18 17:44:29 +08:00
mzaxd
18d96911b3
fix: 修正 content-explorer-agent 中 agent-browser 的使用方式
...
修复了将 agent-browser 误认为 agent 的严重架构错误:
- 明确 agent-browser 是 CLI 工具,通过 Bash 工具调用(不是 agent)
- 修改工作流程:从"并行子任务"改为"顺序使用 Bash 调用"
- 添加必须先加载 agent-browser skill 的明确提示
- 更新命令使用说明:snapshot -i、get text 等
- 优化上下文隔离说明,去除错误的"子任务"概念
相关文件:
- .claude/agents/content-explorer-agent.md: 重构工作流程
- .claude/commands/discover-projects.md: 更新技术实现细节
2026-01-18 17:44:18 +08:00
mzaxd
dbd6773d91
docs: 添加项目发现工作流文档
...
详细说明了 AI 项目自动发现和收录的完整流程,包括:
- n8n 自动化平台收集项目链接
- 创建探索任务 API
- Content Explorer Agent 和 API Submitter Agent 的工作流程
- 数据验证和多级去重逻辑
- 环境配置和执行监控指南
2026-01-18 13:08:01 +08:00
mzaxd
44633baae5
chore: 移除 SpecKit 相关文件和配置
...
- 删除所有 SpecKit 命令文件(.claude/commands/speckit.*)
- 删除 .specify 配置目录(templates, scripts, memory)
- 删除 specs 文档目录
- 更新 CLAUDE.md:移除 SpecKit Skills 说明
2026-01-18 12:33:43 +08:00
mzaxd and Claude
bbcc023482
refactor: 重构项目内容标准实现职责分离
...
将 PROJECT_CONTENT_STANDARD.md 拆分为数据模板和质量标准:
- 新建 .claude/schemas/project-content-template.md 存放纯数据 Schema
- 将质量标准迁移到 content-explorer-agent.md 内部管理
- 更新 discover-projects.md 的模板引用路径
架构优势:
- 单一职责:模板只管格式,Agent 管质量
- 清晰边界:数据定义 vs 业务逻辑分离
- 易于维护:修改格式不影响质量标准,反之亦然
Co-Authored-By: Claude <noreply@anthropic.com >
2026-01-17 16:46:06 +08:00
mzaxd and Claude
ffce190ac3
refactor: 重构 discover-projects 命令采用双 Agent 协作架构实现上下文隔离
...
新增文件:
- .claude/agents/content-explorer-agent.md:批量探索项目内容
- .claude/agents/api-submitter-agent.md:处理 API 提交和状态更新
架构变更:
- 探索逻辑和提交逻辑分离到独立的 agent 上下文
- 主上下文只保留调度逻辑和统计信息
- 支持可配置批次大小(--batch=N 参数)
- 数据字段格式统一(links、tags、explorationData)
解决上下文堆积问题,主上下文不再随任务数线性增长
Co-Authored-By: Claude <noreply@anthropic.com >
2026-01-17 16:33:41 +08:00
mzaxd and Claude
1468ce6505
fix: 修复 ESLint 警告,将 console.log/info 改为 console.warn
...
修复内容:
- src/app/api/discovery/tasks/route.ts: 修复 console.log 警告
- src/app/api/discovery/tasks/[id]/route.ts: 修复 console.info 警告
- src/app/api/discovery/tasks/[id]/complete/route.ts: 修复 console.log 警告 (3处)
修改原因:项目 ESLint 规则只允许使用 console.warn 和 console.error
Co-Authored-By: Claude <noreply@anthropic.com >
2026-01-17 15:49:29 +08:00
mzaxd and Claude
e3e72006b0
feat: 新增项目发现任务系统并修复代码审查发现的高优先级问题
...
新增功能:
- 新增 ProjectDiscoveryTask 数据模型,支持异步项目探索任务管理
- 新增 /api/discovery/tasks CRUD API,支持任务创建、查询和状态更新
- 新增 /api/discovery/tasks/:id/complete API,完成探索并自动创建项目
- 新增 discovery-service 服务层,封装多级去重和标签处理逻辑
- 新增 discover-projects 命令,支持批量探索项目
- 新增 PROJECT_CONTENT_STANDARD.md 内容标准模板
代码质量修复:
- 修复状态转换验证未使用问题,防止非法状态转换
- 修复 explorationData 类型安全问题,使用 z.record(z.unknown()) 替代 z.any()
- 添加事务保护到 complete API,确保项目创建和任务状态更新的原子性
代码重构:
- 将 webhook/projects 的去重逻辑迁移到 discovery-service
- 统一探索任务相关的验证模式到 validations.ts
Co-Authored-By: Claude <noreply@anthropic.com >
2026-01-17 15:44:33 +08:00