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>
This commit is contained in:
2026-01-17 16:46:06 +08:00
co-authored by Claude
parent ffce190ac3
commit bbcc023482
4 changed files with 200 additions and 107 deletions
+67 -7
View File
@@ -30,8 +30,10 @@ tools: ["Task", "Read", "Bash", "Grep", "Glob"]
## 工作流程
### 步骤 1: 读取内容标准模板
使用 `Read` 工具读取 `PROJECT_CONTENT_STANDARD.md`,理解内容质量要求
### 步骤 1: 读取数据模板
使用 `Read` 工具读取 `.claude/schemas/project-content-template.md`,理解输出格式
**注意**:质量标准在本文件的"内容质量标准"章节中定义。
### 步骤 2: 批量探索项目
对批次中的每个任务,**并行**启动 `agent-browser` 子任务:
@@ -42,13 +44,18 @@ tools: ["Task", "Read", "Bash", "Grep", "Glob"]
- prompt: "
你是一个项目探索专家。请探索以下项目并返回结构化数据。
项目URL${PROJECT_URL}
项目URL\${PROJECT_URL}
任务要求:
1. 导航到项目页面,提取 README 内容
2. 如果是 GitHub 项目,获取仓库信息(stars、forks、描述等)
3. 按照 PROJECT_CONTENT_STANDARD.md 的标准整理信息
4. 生成符合以下 Schema 的 JSON 数据
3. 按照 .claude/schemas/project-content-template.md 的格式整理信息
4. 应用以下质量标准:
- 描述必须清晰说明项目功能和核心价值
- 从README提取并重新组织内容,不要机械翻译
- 避免营销术语,保持客观
- 不将动态数据(stars、forks等)写入内容
5. 生成符合以下 Schema 的 JSON 数据
**重要:只返回纯JSON,不要任何其他内容**
@@ -146,8 +153,9 @@ tools: ["Task", "Read", "Bash", "Grep", "Glob"]
1. **只返回JSON**: 不要添加任何解释性文字
2. **上下文隔离**: 每个子任务完成后即释放,结果只保留JSON
3. **并行处理**: 批次内的任务并行启动
4. **质量标准**: 严格遵循 PROJECT_CONTENT_STANDARD.md
5. **数据验证**: 确保返回的JSON格式正确,字段完整
4. **质量标准**: 遵循本文件的"内容质量标准"章节
5. **数据格式**: 按照 `.claude/schemas/project-content-template.md` 的格式要求
6. **数据验证**: 确保返回的JSON格式正确,字段完整
## 数据Schema验证
@@ -172,3 +180,55 @@ tools: ["Task", "Read", "Bash", "Grep", "Glob"]
- `"WEBSITE"`: 项目官网或文档
- `"HUGGINGFACE"`: Hugging Face模型/数据集链接
- `"PAPER"`: 论文链接
---
## 内容质量标准
### 描述质量要求
- ✅ 清晰说明项目是做什么的
- ✅ 突出项目的核心价值
- ✅ 避免营销术语,保持客观
- ❌ 避免直接复制README第一句作为描述
### 内容完整性要求
- ✅ 从README中提取关键信息
- ✅ 重新组织内容,使其更易读
- ✅ 添加必要的上下文说明
- ❌ 不要机械翻译,要符合中文表达习惯
### 验证规则
- `description`: 必须 10-500 字符
- `tags`: 必须 1-10 个标签
- `links`: 必须 1-10 个链接,至少包含 1 个 `GITHUB` 链接
### 链接有效性
- ✅ 所有链接都必须可访问
- ✅ 优先使用GitHub仓库链接
- ✅ 包含文档或Demo链接
---
## 数据处理策略
### 内容来源优先级
1. **README.md** - 主要信息来源
2. **官网/文档** - 补充说明
3. **代码结构** - 理解技术实现
4. **Issues/Discussions** - 了解用户反馈
### 动态数据处理
以下数据**不应**写入内容中(使用 GitHub Badge 显示):
- Star/Fork 数量
- 最近更新时间
- 贡献者数量
- Issue/PR 数量
---
## 注意事项
1. **保持客观**:避免过度夸大或营销语言
2. **用户视角**:从用户角度描述价值,而非技术实现细节
3. **灵活应用**:根据项目实际情况动态调整内容结构
+6 -4
View File
@@ -87,8 +87,10 @@ TOTAL_TASKS=$(echo "$RESPONSE" | grep -o '"tasks":\[' | wc -l)
如果没有任务,显示提示并退出。
#### 1.3 读取内容标准模板
使用 `Read` 工具读取 `PROJECT_CONTENT_STANDARD.md`,理解内容质量要求。
#### 1.3 读取数据模板
使用 `Read` 工具读取 `.claude/schemas/project-content-template.md`,理解数据格式要求。
**注意**:质量标准由 `content-explorer-agent` 内部管理,主命令不需要处理。
---
@@ -260,8 +262,8 @@ fi
- 更新状态:`/api/discovery/tasks/{id}`
### 质量标准
- 严格遵循 `PROJECT_CONTENT_STANDARD.md` 的内容质量要求
- Content Explorer Agent 内部会进行质量检查
- 数据格式遵循 `.claude/schemas/project-content-template.md`
- 质量标准由 `content-explorer-agent` 内部管理和执行
### 数据库影响
- 所有操作直接在生产数据库上进行
+127
View File
@@ -0,0 +1,127 @@
# 项目内容数据模板
此文档定义了项目探索时需要收集的数据结构和输出格式。
## 数据 Schema
### 基本信息
| 字段 | 类型 | 必需 | 约束 | 说明 |
|------|------|------|------|------|
| `name` | string | 是 | 1-200字符 | 项目中文名称(如果原项目是英文,需要翻译) |
| `nameEn` | string | 否 | 最多200字符 | 原始项目名称(保持原文) |
| `description` | string | 是 | 10-500字符 | 中文描述,1-2句话概括项目功能 |
| `descriptionEn` | string | 否 | 最多500字符 | 英文描述 |
| `content` | string | 否 | 最多10000字符 | 详细内容(中文,Markdown格式) |
| `contentEn` | string | 否 | 最多10000字符 | 详细内容(英文,Markdown格式) |
| `status` | enum | 否 | `"ACTIVE"``"ARCHIVED"` | 项目状态,默认 `"ACTIVE"` |
| `source` | string | 否 | 最多100字符 | 来源标识,默认 `"discovery"` |
### 标签 (tags)
数组,1-10个元素:
| 字段 | 类型 | 必需 | 说明 |
|------|------|------|------|
| `name` | string | 是 | 标签中文名称 |
| `nameEn` | string | 否 | 标签英文名称 |
### 外部链接 (links)
数组,1-10个元素:
| 字段 | 类型 | 必需 | 说明 |
|------|------|------|------|
| `type` | enum | 是 | 链接类型:`GITHUB``WEBSITE``HUGGINGFACE``PAPER` |
| `url` | string | 是 | 链接地址 |
| `title` | string | 否 | 链接标题 |
## 详细内容结构(Markdown格式)
`content` 字段建议包含以下章节(按需选择):
```markdown
## 项目简介
[项目背景、目的、解决的问题]
## 核心功能
### 功能1
[详细说明]
### 功能2
[详细说明]
## 技术架构
[技术选型和架构说明]
## 使用场景
- 场景1
- 场景2
## 项目特点
- 特点1
- 特点2
```
## 标签分类建议
- **技术标签**:如 `NLP``Computer Vision``React`
- **应用标签**:如 `聊天机器人``数据分析`
- **状态标签**:如 `活跃维护``实验性项目`
## 链接类型说明
| 类型 | 说明 | 示例 |
|------|------|------|
| `GITHUB` | GitHub仓库链接 | `https://github.com/user/project` |
| `WEBSITE` | 项目官网或文档 | `https://example.com/docs` |
| `HUGGINGFACE` | Hugging Face模型/数据集 | `https://huggingface.co/...` |
| `PAPER` | 论文链接 | `https://arxiv.org/...` |
## JSON 格式示例
### 简洁版
```json
{
"name": "项目中文名称",
"nameEn": "Project English Name",
"description": "项目的中文描述,10-500字",
"descriptionEn": "English description",
"content": "## 项目简介\n\n详细内容...",
"contentEn": "## Introduction\n\nDetailed content...",
"status": "ACTIVE",
"source": "discovery",
"tags": [
{"name": "AI", "nameEn": "Artificial Intelligence"},
{"name": "机器学习", "nameEn": "Machine Learning"}
],
"links": [
{"type": "GITHUB", "url": "https://github.com/user/project"},
{"type": "WEBSITE", "url": "https://example.com", "title": "官方网站"}
]
}
```
### 完整版
```json
{
"name": "Claude Code",
"nameEn": "Claude Code",
"description": "Claude Code 是 Anthropic 官方推出的 CLI 工具,让开发者能够在终端中直接与 Claude AI 协作完成软件开发任务。支持代码编写、调试、重构、测试等全流程开发工作。",
"descriptionEn": "Claude Code is Anthropic's official CLI tool for direct developer-AI collaboration in the terminal.",
"content": "## 项目简介\n\nClaude Code 是 Anthropic 官方推出的命令行工具,将强大的 Claude AI 能力直接集成到开发者的终端环境中。\n\n## 核心功能\n\n- **智能代码编写**:自然语言描述需求,AI 生成符合项目规范的代码\n- **上下文感知**:自动理解整个项目结构,提供精准建议\n- **多工具协作**:集成文件操作、搜索、测试、版本控制等开发工具\n- **实时交互**:在终端中与 AI 进行对话式开发\n\n## 技术架构\n\n- **AI 模型**:基于 Claude 3.5 Sonnet / Opus\n- **架构模式**App Router (Next.js 15)\n- **工具系统**:可扩展的工具调用框架\n\n## 使用场景\n\n- 快速原型开发\n- 代码重构和优化\n- Bug 诊断和修复\n- 测试用例生成",
"contentEn": "## Introduction\n\nClaude Code is Anthropic's official CLI tool that integrates powerful Claude AI capabilities directly into the developer's terminal environment.\n\n## Key Features\n\n- **Intelligent Code Writing**: Describe requirements in natural language, AI generates code that meets project specifications\n- **Context Awareness**: Automatically understands the entire project structure and provides precise suggestions\n- **Multi-tool Collaboration**: Integrated development tools for file operations, search, testing, and version control\n- **Real-time Interaction**: Conversational development with AI in the terminal\n\n## Tech Stack\n\n- **AI Model**: Based on Claude 3.5 Sonnet / Opus\n- **Architecture**: App Router (Next.js 15)\n- **Tool System**: Extensible tool invocation framework",
"status": "ACTIVE",
"source": "discovery",
"tags": [
{"name": "AI", "nameEn": "Artificial Intelligence"},
{"name": "开发工具", "nameEn": "Developer Tools"},
{"name": "CLI", "nameEn": "Command Line Interface"},
{"name": "代码助手", "nameEn": "Code Assistant"}
],
"links": [
{"type": "GITHUB", "url": "https://github.com/anthropics/claude-code"},
{"type": "WEBSITE", "url": "https://claude.ai/claude-code", "title": "官方网站"}
]
}
```
-96
View File
@@ -1,96 +0,0 @@
# 项目内容标准模板
此文档定义了项目探索时需要收集的内容结构和质量标准。
## 必需内容
### 1. 基本信息
- **中文名称**:项目的中文名称(如果原项目是英文,需要翻译)
- **英文名称**:原始项目名称(保持原文)
- **中文描述**:1-2句话概括项目功能(10-500字)
- **英文描述**:项目功能的英文描述
### 2. 详细内容(Markdown格式)
- **项目简介**:背景、目的、解决的问题
- **核心功能**:主要功能列表或说明
- **技术栈**:使用的技术、框架、工具
- **使用场景**:适用场景和用例
- **特点亮点**:与同类项目的差异化特点
### 3. 标签(1-10个)
- 技术标签:如 `NLP`, `Computer Vision`, `React`
- 应用标签:如 `聊天机器人`, `数据分析`
- 状态标签:如 `活跃维护`, `实验性项目`
### 4. 外部链接(至少1个)
- **GitHub链接**:如果项目在GitHub上
- **官网链接**:项目官方网站或文档
- **Demo链接**:在线演示地址
- **论文链接**:如果有相关论文
## 内容质量标准
### 描述质量
- ✅ 清晰说明项目是做什么的
- ✅ 突出项目的核心价值
- ✅ 避免营销术语,保持客观
- ❌ 避免直接复制README第一句
### 内容完整性
- ✅ 从README中提取关键信息
- ✅ 重新组织内容,使其更易读
- ✅ 添加必要的上下文说明
- ❌ 不要机械翻译,要符合中文表达习惯
### 链接有效性
- ✅ 所有链接都必须可访问
- ✅ 优先使用GitHub仓库链接
- ✅ 包含文档或Demo链接
## 动态数据处理
以下数据**不应**写入内容中(使用GitHub Badge显示):
- Star/Fork数量
- 最近更新时间
- 贡献者数量
- Issue/PR数量
## 内容来源优先级
1. **README.md** - 主要信息来源
2. **官网/文档** - 补充说明
3. **代码结构** - 理解技术实现
4. **Issues/Discussions** - 了解用户反馈
## 示例格式
### 详细版(适用于复杂项目)
```markdown
## 背景
[项目背景和动机]
## 核心功能
### 功能1
[详细说明]
### 功能2
[详细说明]
## 技术架构
[技术选型和架构说明]
## 使用场景
- 场景1
- 场景2
## 项目特点
- 特点1
- 特点2
```
## 注意事项
1. **保持客观**:避免过度夸大或营销语言
2. **用户视角**:从用户角度描述价值,而非技术实现细节
3. **持续更新**:此标准会根据需要调整
4. **灵活应用**:根据项目实际情况动态调整内容结构