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:
@@ -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. **灵活应用**:根据项目实际情况动态调整内容结构
|
||||
|
||||
@@ -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` 内部管理和执行
|
||||
|
||||
### 数据库影响
|
||||
- 所有操作直接在生产数据库上进行
|
||||
|
||||
@@ -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": "官方网站"}
|
||||
]
|
||||
}
|
||||
```
|
||||
@@ -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. **灵活应用**:根据项目实际情况动态调整内容结构
|
||||
Reference in New Issue
Block a user