Commit Graph
92 Commits
Author SHA1 Message Date
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
mzaxdandClaude 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
mzaxdandClaude 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
mzaxdandClaude 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
mzaxdandClaude b03085292a fix: 修复 AI 搜索结果类型定义
修复 AISearchResultItem 类型,移除对 status 字段的排除,确保类型与实际数据结构匹配

Co-Authored-By: Claude (glm-4.7) <noreply@anthropic.com>
2026-01-27 16:53:28 +08:00
mzaxdandClaude 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
mzaxdandClaude 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
mzaxdandClaude 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
mzaxdandClaude 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
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
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
mzaxdandClaude 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
mzaxdandClaude 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
mzaxdandClaude 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
mzaxdandClaude 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
mzaxdandClaude 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
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
mzaxd 2025db4a47 Merge branch 'main' of https://github.com/Mzaxd/agent_park 2026-01-16 16:59:48 +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
mzaxd c545f13bd2 fix: 修复 Next.js 15 动态路由 params 参数类型
将 /api/projects/[slug]/route.ts 中的 params 类型从同步改为 Promise,以符合 Next.js 15 的类型要求
2026-01-11 16:05:58 +08:00
mzaxd fe52f1d178 chore: 配置 Git 用户信息 2026-01-11 16:04:05 +08:00
mzaxdandClaude 2fe86f6818 fix: 修复 Vercel 部署时的 TypeScript 类型和 ESLint 错误
- 修复 prisma/seed.ts 中显式连接表的类型错误
- 将 webhook 路由中的 console.log 改为 console.warn
- 添加非空断言修复 badges.ts 中的类型错误

Co-Authored-By: Claude <noreply@anthropic.com>
2026-01-10 12:38:44 +08:00
mzaxdandClaude f41d97bf1a fix: 修复 Vercel 部署配置并添加 Neon 数据库文档
- 移除 vercel.json 中不存在的 Secret 引用 (@database_url)
- 在 CLAUDE.md 中添加 Neon 数据库配置说明
- 环境变量应直接在 Vercel Dashboard 中设置

Co-Authored-By: Claude <noreply@anthropic.com>
2026-01-10 12:28:25 +08:00
mzaxd 1a7d8dcdd9 chore: 移除未使用的 NEXT_PUBLIC_SITE_URL 环境变量 2026-01-10 12:05:52 +08:00
mzaxd c688a2ad79 feat: 添加 Vercel 部署配置 2026-01-10 11:59:56 +08:00
mzaxdandClaude 6b4189291c chore: 清理重构后的旧架构残留文件
移除已废弃的 agent 定义、命令配置和脚本文件,这些文件在之前的多源数据入库架构重构后已不再使用。

Co-Authored-By: Claude <noreply@anthropic.com>
2026-01-10 11:50:33 +08:00
mzaxdandClaude 2d3796da43 refactor: 重构多源数据入库架构,移除任务派发器并优化并行处理
核心变更:
- 移除 task-dispatcher agent,将并行调度逻辑迁移至 add-trending 命令
- 重构 project-analyzer 支持单任务处理模式(通过 taskId 参数)
- 优化并行处理策略:固定 3 实例分批处理,避免文件竞争
- 改进任务状态管理:pending → processing → completed/failed
- 各 scraper 增加输出文件规范说明

文件变更:
- 删除: .claude/agents/task-dispatcher.md
- 修改: .claude/agents/project-analyzer.md(单任务模式、状态机)
- 修改: .claude/commands/add-trending.md(直接并行调度)
- 修改: .claude/settings.json(代理配置注释)
- 新增: prisma/migrations/、scripts/scrape-huggingface.js

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

Co-Authored-By: Claude <noreply@anthropic.com>
2026-01-06 20:59:16 +08:00
mzaxdandClaude 3bbf481008 docs: 更新 add-trending 命令文档并启用代理配置
- 更新 add-trending 命令描述为英文,强调使用 Agent 工作流
- 文档中明确所有数据处理由专用 Agent 完成,主窗口仅负责协调
- 启用 Claude Code 代理设置(HTTP_PROXY/HTTPS_PROXY)
- 添加 .trending-workspace/ 到 .gitignore
- 完善 CLAUDE.md 文档:数据库约束、级联删除、tag 处理逻辑、新增组件等

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

Co-Authored-By: Claude <noreply@anthropic.com>
2026-01-06 19:49:28 +08:00
mzaxdandClaude 0b9573072f refactor: 去重器改用 API 并修复 tag 唯一性约束处理
- deduplicator: 从直接数据库查询改为调用 /api/webhook/check-duplicates API
- database-ingestor: 使用 JSON 文件传参避免 curl 编码问题
- webhook: 修复 tag name 唯一性约束冲突,更新时删除旧关联重建
- 添加 check-duplicates API 端点用于批量去重检测
- 适配 ProjectTag 显式关联表的数据查询逻辑
- ProjectCard: 修复 getProjectIcon 空值处理

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

Co-Authored-By: Claude <noreply@anthropic.com>
2026-01-06 14:21:10 +08:00
mzaxdandClaude 7baf547bf3 feat: 新增多源数据自动入库系统和 /add-trending 命令
- 添加任务派发器架构,支持并行调度多个数据源爬虫
- 新增去重器 Agent,基于数据库查询避免重复入库
- 新增项目分析器 Agent,支持质量评分和中英双语生成
- 新增入库器 Agent,批量调用 webhook API
- 实现 GitHub Trending、Hugging Face、Papers with Code 爬虫
- 添加 /add-trending 命令,支持 source/period/limit 参数配置

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

Co-Authored-By: Claude <noreply@anthropic.com>
2026-01-04 20:45:06 +08:00
mzaxdandClaude ab82de3af3 refactor: Prisma schema 添加显式 ProjectTag 关联表并优化索引
- 将 Project-Tag 多对多关系改为显式 ProjectTag 中间表
- 为 ExternalLink 添加 url 索引和 type+url 复合索引
- 添加 projectId+url 唯一约束防止重复链接

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

Co-Authored-By: Claude <noreply@anthropic.com>
2026-01-04 15:16:22 +08:00
mzaxdandClaude cb667b7321 refactor: 精简首页和项目列表页,移除重复内容
- 首页删除"按标签浏览"区块,功能与项目列表页重复
- 项目列表页删除顶部标题、副标题及装饰元素

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-12-30 20:07:19 +08:00
mzaxdandClaude bb1bee58c7 feat: 项目预览框支持图片 URL
- 添加 isImageUrl 辅助函数检测 URL 是否为图片
- 根据资源类型条件渲染 img 或 iframe 标签
- 图片资源自适应高度,iframe 保持 16:9 比例

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-12-30 19:57:13 +08:00
mzaxdandClaude 4b0770fe44 fix: 完善首页和详情页国际化实现
- 首页 hero 区域标题和描述使用 i18n 翻译
- 首页 "BROWSE BY TAGS" 和 "FEATURED PROJECTS" 使用 i18n 翻译
- 详情页 "BACK TO PROJECTS" 使用 i18n 翻译
- 添加缺失的中英文翻译键

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-12-30 19:57:07 +08:00
mzaxdandClaude 5e43a7d382 refactor: 项目详情页预览框改为条件渲染,无演示内容时不显示占位符
🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-12-30 16:01:24 +08:00
mzaxdandClaude cae5686d2d feat: 添加 GitHub 统计数据展示功能
新增 GitHub 统计卡片和徽章组件,在项目卡片、详情页和侧边栏中展示 GitHub stars、forks 等统计数据

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-12-30 14:14:02 +08:00
mzaxdandClaude 443dc8370e refactor: 完善项目详情与侧边栏组件国际化实现
将 ProjectDetail 和 ProjectSidebar 组件中的硬编码文本替换为国际化翻译键,提升中英文支持一致性。

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-12-29 20:46:05 +08:00
mzaxdandClaude 3869bb23bb refactor: 优化组件国际化实现
- 将客户端组件改为服务端组件,使用 getTranslations
- LocaleSwitcher 简化为接收 switchUrl prop
- ProjectCard/ProjectList/ExternalLinkCard 等组件支持 i18n
- 优化 webhook 去重查询,关联 links 数据
- 移除 ProjectDetail 中的客户端交互逻辑(ShareButtons 暂时禁用)

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-12-29 19:58:23 +08:00
mzaxdandClaude 6303fd7ae6 docs: 完善 CLAUDE.md 项目文档
- 补充项目路由结构说明
- 添加数据库多级去重策略详细说明
- 新增数据获取、内容渲染、UI 组件等架构文档
- 补充 Next.js 配置说明

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-12-29 19:58:18 +08:00
mzaxdandClaude 3ab2d2057c feat: 添加顶部公告栏跳转链接和关闭按钮功能
- 新增 AnnouncementBar 客户端组件支持点击跳转
- 添加关闭按钮,状态保存至 localStorage
- 刷新页面后记住用户关闭状态
- 支持 i18n 配置公告内容和链接

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-12-29 19:57:47 +08:00
mzaxdandClaude a8a847beb2 fix: 修复 Markdown 代码块渲染导致的 HTML hydration 错误
- 移除客户端状态管理,改为服务端渲染
- 添加 pre 组件处理代码块的包裹样式
- 修改 code 组件只返回 <code> 元素,避免重复渲染
- 添加 p 组件块级元素检测,防止 <p><pre> 嵌套
- 使用 className 和换行符检测区分 inline code 和代码块

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-12-28 10:32:49 +08:00
mzaxdandClaude bf69555978 feat: 添加项目详情 Markdown 渲染支持及项目添加脚本
- 新增 MarkdownContent 组件支持 Markdown 渲染
- 新增 scripts 目录下的项目添加工具脚本
- 更新项目详情页面支持 Markdown 内容显示
- 更新依赖包支持 Markdown 解析

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-12-27 17:19:39 +08:00
mzaxdandClaude a0cca1f171 docs: 完善 CLAUDE.md 项目文档结构
- 添加开发命令参考(构建、测试、数据库)
- 新增架构概述章节(i18n、App Router、数据库等)
- 完善 MCP Servers 使用说明
- 统一提交信息格式规范

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-12-27 10:37:06 +08:00
mzaxdandClaude 23d4c7df49 feat: 优化 webhook 去重策略实现多级匹配
- 新增 findExistingProject 函数实现智能去重
- 优先级1: GitHub URL 完全匹配(最准确)
- 优先级2: Website URL 完全匹配
- 优先级3: slug 匹配(兜底)
- 增强日志输出,清晰显示匹配方式和项目 ID

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-12-27 10:29:59 +08:00
mzaxdandClaude 31ed4b7c25 fix: 实现中英文语言切换功能
- 新建 LocaleSwitcher 组件支持语言切换
- 使用 usePathname 保持当前页面路径
- 点击切换时自动更新 URL 语言前缀

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-12-26 16:50:08 +08:00
mzaxdandClaude 4abe6715bb feat: 优化项目网站 UI/UX 并新增项目详情组件
- 重构首页和项目列表页布局,优化视觉层次
- 新增 ProjectDetail、ProjectSidebar、RelatedProjects 组件
- 改进项目卡片样式,增加悬停效果
- 优化标签云和搜索栏交互体验
- 更新全局样式和 Tailwind 配置

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-12-26 16:36:33 +08:00
mzaxdandClaude 85fe0b920b docs: 更新任务清单标记已完成任务
- 阶段 1 (设置): T001-T006 全部完成
- 阶段 2 (基础): T007-T015 全部完成
- 阶段 3 (用户故事 1): T016-T029 全部完成
- 阶段 4 (用户故事 2): T030-T034 全部完成
- 阶段 6 (用户故事 4): T043-T051 全部完成

MVP 范围 (T001-T034) 已实现完毕。

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-12-25 19:22:09 +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
mzaxdandClaude 6d40d4e8e6 docs: 添加 git commit 中文语言规则
🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-12-25 14:22:04 +08:00
mzaxdandClaude c5a8de8cf0 chore: 初始化 Agent Park v2 项目
- 更新项目章程,从模板更新为完整版本,包含 TypeScript 严格模式、组件优先架构和 TDD 原则
- 添加项目配置文件(.claude/settings.json、.gitignore、CLAUDE.md)
- 添加完整的 specs 目录,包含需求、契约和文档

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-12-25 14:21:35 +08:00
mzaxd f9a6fe619f Initial commit from Spec Kit CN template 2025-12-24 20:57:09 +08:00