Commit Graph
8 Commits
Author SHA1 Message Date
mzaxd 65b84e641d feat: add AIEvent validation schemas 2026-01-27 21:33:29 +08:00
mzaxd 76a1646cb7 feat: 添加关键词词云系统 Zod 验证 Schema 2026-01-27 19:30:57 +08:00
mzaxdandClaude 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
mzaxdandClaude 70f6f52459 feat: 移除项目创建任务数量上限
Co-Authored-By: Claude <noreply@anthropic.com>
2026-01-19 13:57:44 +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
mzaxdandClaude 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
mzaxdandClaude 2a37a83072 fix: 修复代码审查发现的安全性和性能问题
主要修复:
- 安全性:API 密钥使用恒定时间比较防止时序攻击
- 安全性:URL 验证仅允许 http/https 协议,防止 XSS
- 安全性:移除 Markdown 的 rehypeRaw 插件增强 XSS 防护
- 安全性:Webhook 错误信息脱敏,生产环境不暴露敏感数据
- 性能:项目详情页使用并行数据获取
- 性能:Webhook 批量查询标签,避免 N+1 查询问题
- 类型安全:移除 any 类型,使用 Prisma 类型注解
- 类型安全:为 useProjects 函数添加返回类型
- 代码质量:创建 slug 工具函数统一 slug 生成逻辑
- 代码质量:搜索字符串添加最小长度限制(2字符)

Co-Authored-By: Claude <noreply@anthropic.com>
2026-01-16 14:43:46 +08:00
mzaxdandClaude ba1fab65c6 feat: 实现 Agent Park AI 项目导航网站核心功能
完成 Next.js 14+ 全栈应用的 MVP 实现,包含以下功能:

## 项目设置
- 初始化 Next.js 14+ 项目,配置 TypeScript 严格模式
- 配置 Tailwind CSS、ESLint、Prettier 代码质量工具
- 集成 shadcn/ui 组件库和 next-intl 国际化方案

## 数据层
- 配置 PostgreSQL + Prisma ORM
- 定义 Project、Tag、ExternalLink 数据模型
- 实现种子数据脚本(5个AI项目)

## 用户故事 1:浏览和搜索 AI 项目
- 实现首页,展示热门标签云和精选项目
- 实现项目列表页,支持搜索和标签筛选
- 创建 TagCloud、ProjectCard、ProjectList、SearchBar 组件
- 实现 ISR 缓存策略优化性能

## 用户故事 2:查看项目详细信息
- 实现项目详情页,显示完整信息
- 创建 ExternalLinkCard 组件展示外部链接
- 实现安全的 target="_blank" 外链跳转

## 用户故事 4:数据更新和管理
- 实现 webhook API 端点接收 n8n 数据推送
- 实现 API Key 身份验证
- 支持部分成功模式的批量数据处理
- 完善的错误处理和日志记录

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-12-25 15:12:09 +08:00