AI 项目分类细化与标签体系规划
生成日期:2026-07-06
1. 背景与目标
Hello-AI 当前已经进入“目录规模大于原始分类承载力”的阶段。data/stats.json 显示当前公开统计为 20444 个已收录项目、10185 个活跃展示项目;当前工作区 data/projects.json 中按分类展开约 20648 条分类行、20572 个去重 URL。现有 13 个顶层入口中,trending 是虚拟推荐入口,其余 12 个是真正业务分类。
当前问题不是完全没有二级分类,而是二级分类数量少、粒度不均、分布失衡,并且标签没有形成稳定的横向过滤体系。比如当前活跃数据中:
devtools活跃 2974 个项目,其中SDKs & APIs1777 个,单个二级分类过大。agents活跃 1986 个项目,其中Agent Frameworks1109 个,无法区分 MCP、Coding Agent、多智能体、浏览器自动化等实践方向。learning活跃 2226 个项目,Courses & Tutorials与Awesome Lists合计占比过高,论文、Notebook、数据集目录等入口不够明确。multimodal活跃 1764 个项目,但目前主要只有图片、音频、视频三类,视觉理解、OCR、3D、空间智能和多模态基础模型容易混在一起。
本规划目标:
- 保持顶层分类稳定,避免破坏已有 URL、导航和用户认知。
- 将每个大类扩展到 4-7 个稳定二级分类,避免继续把几千个项目堆进单个桶。
- 引入受控的横向标签体系,覆盖能力、任务、平台、受众、成熟度和领域,不把 GitHub topic 直接升级成目录分类。
- 给出可以直接落地到数据结构、评估 prompt、文档生成、Explore 和 Meilisearch 的实施路径。
2. 现状依据
代码和数据链路已经支持“分类来自数据,展示动态生成”,因此本次优化应优先改数据结构和分类规则,而不是硬编码页面。
- README 明确说明评估时会动态读取
data/projects.json中的 categories 和 subcategories,并注入 Prompt 指导 AI 归类:README-zh.md:128、README-zh.md:130。 - README 明确说明文档生成按
subcategory分组:README-zh.md:134、README-zh.md:136。 - 评估 Prompt 目前只把
category.id/name与subcategories列表拼成文本:scripts/evaluation-prompt.js:7、scripts/evaluation-prompt.js:10。 - Prompt 要求 LLM 返回
category_id和subcategory,但subcategory是自由文本字段:scripts/evaluation-prompt.js:35、scripts/evaluation-prompt.js:44。 - 入库逻辑只校验
category_id是否存在,对subcategory没有枚举校验,直接写入项目:scripts/discover-and-evaluate.js:625、scripts/discover-and-evaluate.js:638、scripts/discover-and-evaluate.js:639。 - Markdown 生成按
project.subcategory || '未分类 (Others)'聚合:scripts/generate-docs.js:28、scripts/generate-docs.js:31、scripts/generate-docs.js:78。 - Explore 数据已经把
subcategory、tags、topics纳入打分、相关项目和 facets:scripts/generate-explore-data.js:197、scripts/generate-explore-data.js:211、scripts/generate-explore-data.js:571、scripts/generate-explore-data.js:639。 - Meilisearch 目前搜索
tags/topics/subcategory,过滤categoryId/health/stars/owner/subcategory:scripts/meilisearch-index.js:91、scripts/meilisearch-index.js:121、scripts/meilisearch-index.js:254、scripts/meilisearch-index.js:264。
3. 分类原则
3.1 顶层分类保持稳定
保持现有 12 个业务顶层分类和 1 个虚拟推荐入口:
trending:虚拟榜单,不作为 LLM 可选业务分类。llmsagentsrag_datainfrastructurefinetuningmultimodaldevtoolsapplicationslearningdesktop_toolsrobotics_iotfinance_business
原因:
- 当前前端导航、README 统计、文档路径和 Explore 都已经围绕这些 ID 建立。
- 顶层分类太多会让用户第一步选择变难。
- AI 项目的实践演进更适合通过二级分类和标签反映,例如 MCP、Coding Agent、Local LLM、GraphRAG 都是横跨多个顶层分类的能力信号。
3.2 二级分类控制在 4-7 个
每个顶层分类建议最多 7 个二级分类。二级分类的成立条件:
- 能形成稳定的用户入口,而不是某个短期热词。
- 在当前或未来数据中预计至少有 50 个项目,或占所属大类 5% 以上。
- 与同级分类互斥度足够高,大多数项目能选出一个主归属。
- 不是简单复刻 GitHub topic;更细的差异交给标签。
3.3 标签做横向过滤
标签用于表达项目的能力、任务、平台、目标用户、成熟度和行业领域。例如 mcp、local-ai、code-agent、docker、research、finance 不适合全部变成目录,但非常适合作为筛选和推荐特征。
建议区分三层信号:
subcategoryId:每个项目只有一个,决定目录分组。canonicalTags:受控标签,每个项目 3-8 个,用于筛选、推荐、相似项目。rawTags/topics:保留现有 LLM tags 和 GitHub topics,用于搜索召回和后续分析。
4. 推荐二级分类
下面是可以直接落地的二级分类表。建议在数据里使用稳定英文 id,页面展示使用中文 label,必要时保留英文别名用于搜索。
4.1 llms 基础大模型
| subcategoryId | 中文名 | 覆盖范围 | 典型标签 |
|---|---|---|---|
general-chat-models | 通用语言与聊天模型 | 通用 LLM、聊天模型、文本生成模型、开源权重 | llm, chat-model, open-source-model |
local-small-models | 本地与小模型 | 轻量模型、小参数模型、端侧/本地可运行模型 | local-llm, small-language-model, edge-ai |
domain-code-models | 代码/数学/行业模型 | 代码、数学、科学、医疗、法律、金融等垂直模型 | code-model, math, domain-model |
embedding-rerank-models | 向量与重排模型 | embedding、reranker、检索排序模型 | embedding, reranker, semantic-search |
architecture-research | 模型结构与研究 | Transformer、MoE、状态空间、推理结构、训练论文实现 | transformer, moe, research |
model-hubs-leaderboards | 模型集合与榜单 | 模型清单、排行榜、模型仓库索引 | awesome-list, leaderboard, model-hub |
当前映射建议:
Text Models->general-chat-modelsOpen Source Models-> 根据 tags/topics 二次分配,默认general-chat-modelsModel Architecture->architecture-researchFoundation Models->general-chat-models
4.2 agents 智能体与编排
| subcategoryId | 中文名 | 覆盖范围 | 典型标签 |
|---|---|---|---|
agent-frameworks | 智能体框架与运行时 | Agent SDK、工具调用框架、记忆/规划/执行框架 | agent-framework, tool-use, memory |
autonomous-task-agents | 自主任务智能体 | AutoGPT 类任务执行、研究助理、长任务执行器 | autonomous-agent, research-agent, task-automation |
multi-agent-systems | 多智能体协作 | 多角色协作、群体调度、agent team、仿真协作 | multi-agent, agent-team, coordination |
browser-computer-use | 浏览器与电脑自动化 | Browser Use、GUI 操作、RPA、网页自动执行 | browser-automation, computer-use, rpa |
coding-agents | 编程智能体 | SWE agent、代码修复、仓库理解、自动 PR | coding-agent, swe-agent, code-generation |
mcp-tool-ecosystem | MCP 与工具生态 | MCP server/client、工具目录、外部工具协议 | mcp, mcp-server, integration |
workflow-automation | 工作流与编排自动化 | n8n/langgraph 类流程编排、agent workflow、任务管线 | workflow, orchestration, automation |
当前映射建议:
Agent Frameworks->agent-frameworks,但含mcp的优先迁到mcp-tool-ecosystem,含coding-agent/claude-code/swe-agent的优先迁到coding-agents。Autonomous Agents->autonomous-task-agentsBrowser Automations->browser-computer-useMulti-Agent Systems->multi-agent-systems
4.3 rag_data RAG 与检索
| subcategoryId | 中文名 | 覆盖范围 | 典型标签 |
|---|---|---|---|
rag-frameworks | RAG 框架 | RAG 应用框架、问答系统、知识库框架 | rag, qa, knowledge-base |
vector-databases-indexes | 向量数据库与索引 | Vector DB、ANN、向量索引、向量插件 | vector-database, ann, faiss |
embeddings-reranking | 向量化与重排 | embedding pipeline、reranker、召回排序 | embedding, reranker, retrieval |
document-parsing-ocr | 文档解析与 OCR | PDF/Office/HTML 解析、OCR、版面理解 | document-ai, pdf, ocr |
knowledge-graph-graphrag | 知识图谱与 GraphRAG | KG、GraphRAG、实体关系抽取 | knowledge-graph, graphrag, entity-extraction |
search-retrieval-engines | 搜索与检索引擎 | 全文搜索、语义搜索、元搜索、搜索 API | search-engine, semantic-search, bm25 |
data-connectors-pipelines | 数据连接与管线 | 数据摄取、连接器、爬取、清洗、索引管线 | data-pipeline, connector, etl |
当前映射建议:
RAG Frameworks->rag-frameworksVector Databases->vector-databases-indexesData Parsers->document-parsing-ocr,其中含connector/etl/crawler的迁到data-connectors-pipelines
4.4 infrastructure 基础设施与部署
| subcategoryId | 中文名 | 覆盖范围 | 典型标签 |
|---|---|---|---|
model-serving-inference | 模型服务与推理 | 推理服务、Serving、batch inference、推理 API | inference, model-serving, llm-inference |
local-runtime-model-management | 本地运行时与模型管理 | Ollama、llama.cpp、模型下载/切换/管理 | local-ai, ollama, model-management |
gpu-quantization-acceleration | GPU/量化/加速 | CUDA、TensorRT、量化、推理加速、硬件优化 | cuda, gpu, quantization |
cloud-native-deployment | 云原生部署 | Docker、Kubernetes、Helm、Serverless、集群部署 | docker, kubernetes, cloud-native |
llmops-observability | LLMOps 与可观测 | tracing、监控、评估平台、成本/质量观测 | llmops, observability, monitoring |
api-gateway-routing | API 网关与模型路由 | 多模型网关、代理、负载均衡、成本路由 | llm-gateway, proxy, routing |
当前映射建议:
Model Serving->model-serving-inference,含ollama/llama.cpp/local-llm的迁到local-runtime-model-managementHardware Acceleration->gpu-quantization-accelerationCloud & Hosting->cloud-native-deployment
4.5 finetuning 微调与训练
| subcategoryId | 中文名 | 覆盖范围 | 典型标签 |
|---|---|---|---|
finetuning-lora | 微调与 LoRA 工具 | SFT、LoRA、QLoRA、PEFT、adapter | fine-tuning, lora, peft |
training-frameworks | 训练框架 | 预训练、分布式训练、训练脚手架 | training, distributed-training, pytorch |
datasets-labeling | 数据集与标注 | 数据集、合成数据、清洗、标注工具 | dataset, labeling, synthetic-data |
evaluation-benchmarks | 评测与 Benchmark | 模型评估、benchmark、leaderboard、红队测试 | evaluation, benchmark, evals |
preference-rlhf | 偏好优化与 RLHF | DPO、RLHF、RLAIF、奖励模型、强化学习训练 | rlhf, dpo, reinforcement-learning |
experiment-automl | 实验管理与 AutoML | 超参搜索、实验跟踪、AutoML、训练调度 | automl, experiment-tracking, hpo |
当前映射建议:
Fine-tuning Tools->finetuning-lora,含training/distributed的迁到training-frameworksDataset Management->datasets-labelingEvaluation Metrics->evaluation-benchmarks
4.6 multimodal 多模态与音视频
| subcategoryId | 中文名 | 覆盖范围 | 典型标签 |
|---|---|---|---|
image-generation-editing | 图像生成与编辑 | 文生图、图像编辑、Diffusion、ControlNet | image-generation, diffusion, stable-diffusion |
vision-understanding-ocr | 视觉理解与 OCR | CV、检测/分割、OCR、文档视觉理解 | computer-vision, ocr, object-detection |
video-generation-understanding | 视频生成与理解 | 文生视频、视频理解、视频编辑 | video-generation, video-understanding, video-editing |
audio-speech | 音频与语音 | TTS、STT、ASR、音乐、声音处理 | tts, speech-recognition, audio |
3d-spatial | 3D 与空间智能 | 3D 重建、NeRF、Gaussian Splatting、空间理解 | 3d-reconstruction, spatial-ai, nerf |
multimodal-foundation-models | 多模态基础模型 | VLM、LLaVA、图文/音视频大模型 | vlm, multimodal-llm, vision-language |
creative-media-pipelines | 创意媒体工作流 | ComfyUI 工作流、设计/创作管线、媒体工具链 | creative-tools, workflow, media-pipeline |
当前映射建议:
Image Generation->image-generation-editingAudio & Speech (TTS/STT)和Audio & Speech->audio-speechVideo Generation->video-generation-understanding- 空子类结合 tags/topics 迁到
vision-understanding-ocr、3d-spatial或multimodal-foundation-models
4.7 devtools 开发工具与 SDK
| subcategoryId | 中文名 | 覆盖范围 | 典型标签 |
|---|---|---|---|
sdks-api-clients | SDK 与 API 客户端 | 各语言 SDK、API wrapper、client library | sdk, api-client, openai |
ai-ides-code-assistants | AI IDE 与代码助手 | IDE、编辑器插件、代码补全、代码聊天 | code-assistant, ide, vscode |
cli-dev-utilities | CLI 与开发者工具 | 命令行工具、脚手架、开发辅助工具 | cli, developer-tools, automation |
mcp-integrations | MCP 与集成工具 | MCP server、插件、第三方集成桥接 | mcp, mcp-server, integration |
prompt-eval-tools | Prompt 与评测工具 | Prompt 管理、测试、压缩、注入检测、eval | prompt-engineering, prompt-eval, testing |
code-intelligence-repo-tools | 代码理解与仓库工具 | 代码搜索、AST、仓库问答、代码索引 | code-search, code-intelligence, ast |
app-frameworks-boilerplates | AI 应用框架与模板 | AI app starter、Next.js 模板、后端框架 | app-framework, boilerplate, template |
当前映射建议:
SDKs & APIs-> 默认sdks-api-clients,但含mcp迁到mcp-integrations,含code-search/semantic-search/tree-sitter迁到code-intelligence-repo-toolsIDE & Code Assistants->ai-ides-code-assistantsPrompt Engineering->prompt-eval-toolsTerminal Tools->cli-dev-utilities
4.8 applications AI 终端应用
| subcategoryId | 中文名 | 覆盖范围 | 典型标签 |
|---|---|---|---|
chatbots-assistants | 聊天机器人与个人助手 | ChatGPT UI、AI assistant、客服聊天、角色聊天 | chatbot, ai-assistant, chatgpt |
productivity-knowledge-work | 效率与知识工作 | 笔记、写作、会议、邮件、知识库应用 | productivity, knowledge-work, writing |
creative-content-apps | 创意与内容应用 | 图片、视频、音乐、设计、内容创作应用 | creative, content-creation, image-generation |
business-enterprise-apps | 企业与业务应用 | CRM、客服、运营、BI、企业知识助手 | enterprise, customer-support, bi |
education-research-apps | 教育与研究应用 | 学习助手、论文工具、研究工作台 | education, research-tool, paper |
personal-automation-workflows | 个人自动化与工作流 | 个人 agent、自动化任务、跨应用助手 | personal-ai, workflow, automation |
当前映射建议:
Chatbots & UIs->chatbots-assistantsProductivity Tools->productivity-knowledge-workCreative Apps->creative-content-appsEnterprise Solutions->business-enterprise-apps
4.9 learning 学习与资源
| subcategoryId | 中文名 | 覆盖范围 | 典型标签 |
|---|---|---|---|
courses-tutorials | 课程与教程 | 系统课程、入门教程、实践指南 | course, tutorial, guide |
awesome-curated-lists | Awesome 与精选清单 | awesome list、资源导航、项目集合 | awesome-list, curated-list, resources |
papers-reading-lists | 论文与阅读清单 | 论文集合、论文解读、研究路线图 | paper, reading-list, research |
notebooks-examples | Notebook 与示例 | Colab、Jupyter、示例工程、实验 notebook | notebook, examples, hands-on |
datasets-benchmarks-catalogs | 数据集与 Benchmark 目录 | 数据集清单、评测集合、benchmark 目录 | dataset, benchmark, leaderboard |
books-newsletters-community | 书籍、社区与资讯 | 电子书、Newsletter、社区、学习路径 | book, newsletter, community |
当前映射建议:
Courses & Tutorials->courses-tutorials,含notebook/colab/examples迁到notebooks-examplesAwesome Lists->awesome-curated-listsResearch Papers->papers-reading-lists,含dataset/benchmark迁到datasets-benchmarks-catalogs
4.10 desktop_tools 桌面与操作系统级应用
| subcategoryId | 中文名 | 覆盖范围 | 典型标签 |
|---|---|---|---|
local-gui-apps | 本地图形应用 | Electron/Tauri/原生 GUI、本地 AI 客户端 | desktop-app, electron, tauri |
terminal-cli-apps | 终端与命令行应用 | CLI 聊天、终端助手、本地命令行工具 | cli, terminal, shell |
os-integrations | 操作系统集成 | 菜单栏、快捷键、剪贴板、系统级助手 | macos, windows, os-integration |
browser-extensions | 浏览器扩展 | Chrome/Firefox 插件、网页侧边栏、浏览器助手 | browser-extension, chrome, web-assistant |
local-ai-workbench | 本地 AI 工作台 | 本地模型管理、离线聊天、隐私优先工作台 | local-ai, ollama, privacy |
当前映射建议:
Local GUI Apps->local-gui-apps,含ollama/local-llm/privacy的可迁到local-ai-workbenchTerminal Tools->terminal-cli-appsOS Integrations->os-integrationsBrowser Automations-> 如果是最终用户浏览器插件,迁到browser-extensions;如果是 agent 自动化框架,迁回agents/browser-computer-use
4.11 robotics_iot 机器人与物联网
| subcategoryId | 中文名 | 覆盖范围 | 典型标签 |
|---|---|---|---|
robotics-frameworks-control | 机器人框架与控制 | ROS、控制、路径规划、机械臂、机器人软件栈 | robotics, ros, control |
embodied-ai-simulation | 具身智能与仿真 | 具身智能、仿真环境、机器人学习 benchmark | embodied-ai, simulation, robot-learning |
autonomous-driving | 自动驾驶 | AD、感知、规划、车路协同、驾驶数据集 | autonomous-driving, lidar, planning |
edge-ai-on-device | 边缘与端侧 AI | 边缘推理、嵌入式、移动端/设备端部署 | edge-ai, on-device-ai, embedded |
iot-sensors | 物联网与传感器 | IoT、传感器、设备数据、智能硬件 | iot, sensor, embedded |
slam-perception | SLAM 与感知 | SLAM、定位建图、视觉/雷达感知 | slam, perception, lidar |
当前映射建议:
Robotics-> 默认robotics-frameworks-control,含simulation/embodied-ai迁到embodied-ai-simulation,含slam/lidar/perception迁到slam-perceptionEdge AI->edge-ai-on-deviceIoT->iot-sensors
4.12 finance_business 商业与量化
| subcategoryId | 中文名 | 覆盖范围 | 典型标签 |
|---|---|---|---|
quant-trading-backtesting | 量化交易与回测 | 策略、回测、交易机器人、量化框架 | quant, backtesting, trading-bot |
market-data-analysis | 市场数据与分析 | 金融数据、技术分析、预测、情绪分析 | market-data, technical-analysis, forecasting |
financial-llms-agents | 金融 LLM 与智能体 | 金融大模型、投研 agent、金融问答 | financial-llm, finance-agent, robo-advisor |
enterprise-ai-platforms | 企业 AI 平台 | 企业知识助手、流程自动化、业务平台 | enterprise-ai, workflow, customer-support |
business-ops-bi | 商业运营与 BI | BI、报表、增长分析、业务智能 | bi, analytics, business-ops |
当前映射建议:
Quantitative Trading->quant-trading-backtestingMarket Analysis->market-data-analysisEnterprise Solutions-> 根据finance/quant/trading迁到financial-llms-agents或enterprise-ai-platforms
5. 推荐横向标签体系
标签不要无限扩张。建议建立 data/taxonomy.json 或 data/tag-taxonomy.json,维护 80-120 个受控 canonical tag,并保留 alias 归一化规则。每个项目最多写入 3-8 个 canonical tags;原始 tags 和 topics 继续保留。
5.1 能力标签 capability
建议首批:
llm, local-llm, small-model, embedding, reranking, agent, multi-agent, mcp, tool-use, rag, graphrag, vector-search, semantic-search, knowledge-graph, document-ai, ocr, fine-tuning, training, evaluation, inference, quantization, mlops, observability, image-generation, vision, video, speech, audio, 3d, code-generation, code-search, workflow, automation, robotics, edge-ai, trading, analytics, security, privacy
5.2 任务标签 task
建议首批:
build-agent, build-rag, build-chatbot, code-assistant, repo-analysis, document-qa, web-automation, local-ai-workbench, deploy-model, serve-model, train-model, evaluate-model, create-image, create-video, speech-to-text, text-to-speech, learn-ai, read-papers, analyze-data, trading-bot, robot-control
5.3 平台标签 platform
建议首批:
cli, web, desktop, browser-extension, vscode, jetbrains, macos, windows, linux, ios, android, docker, kubernetes, serverless, edge-device, raspberry-pi, cuda, metal
5.4 受众标签 audience
建议首批:
developer, ai-engineer, data-engineer, researcher, product-builder, end-user, educator, enterprise, quant, roboticist, designer, creator
5.5 成熟度标签 maturity
建议首批:
awesome-list, research, tutorial, example, starter-template, production-ready, experimental, deprecated, maintained, inactive
注意:health 已经存在,不需要完全重复成熟度。maturity 重点表达“项目形态”,health 表达维护状态。
5.6 领域标签 domain
建议首批:
finance, healthcare, legal, education, customer-support, marketing, sales, bi, cybersecurity, science, bioinformatics, gis, iot, autonomous-driving
6. 建议数据结构
6.1 新增 taxonomy 源文件
建议新增:
data/taxonomy.json建议结构:
{
"version": 1,
"categories": [
{
"id": "agents",
"label": "智能体与编排",
"description": "Autonomous agents, tool use, MCP, workflow orchestration.",
"subcategories": [
{
"id": "agent-frameworks",
"label": "智能体框架与运行时",
"aliases": ["Agent Frameworks"],
"description": "Agent SDKs, runtimes, memory, planning and tool-use frameworks."
}
]
}
],
"canonicalTags": {
"capability": [
{ "id": "mcp", "label": "MCP", "aliases": ["mcp-server", "mcp-client"] }
]
}
}6.2 项目记录向后兼容
短期保持 project.subcategory,新增稳定字段:
{
"categoryId": "agents",
"subcategory": "MCP 与工具生态",
"subcategoryId": "mcp-tool-ecosystem",
"canonicalTags": {
"capability": ["agent", "mcp", "tool-use"],
"task": ["build-agent"],
"platform": ["cli"],
"audience": ["developer"],
"maturity": ["maintained"],
"domain": []
}
}兼容策略:
- 旧页面继续读
subcategory。 - 新逻辑优先读
subcategoryId,没有则用subcategory通过 alias 映射。 tags和topics不删除,只做归一化补充。
7. 分类执行规则
7.1 主分类优先级
遇到跨类项目时按“用户主要来找它解决什么问题”归类:
- 模型权重、模型结构、模型榜单 ->
llms - 让模型自主规划、调用工具、执行任务 ->
agents - 检索、索引、文档解析、知识库 ->
rag_data - 推理服务、部署、网关、监控、运行时 ->
infrastructure - 微调、训练、数据集、评测 ->
finetuning - 图像、视频、音频、视觉、3D、多模态模型 ->
multimodal - SDK、API、IDE、CLI、Prompt、代码工具 ->
devtools - 面向最终用户的可直接使用产品 ->
applications - 教程、清单、论文、Notebook、数据集目录 ->
learning - 桌面/OS/浏览器本地深度集成 ->
desktop_tools - 机器人、边缘设备、IoT、自动驾驶 ->
robotics_iot - 金融、量化、企业业务分析 ->
finance_business
7.2 标签生成规则
每个项目建议:
- 必须有 1-3 个
capability。 - 最多 2 个
task。 - 如果平台明确,补 1-2 个
platform。 - 如果项目受众明显,补 1 个
audience。 - 如果是 awesome、research、tutorial、starter-template 等形态,补 1 个
maturity。 - 行业项目补 1 个
domain。 - 总 canonical tag 数建议 3-8 个,不超过 10 个。
8. 迁移实施步骤
阶段 1:taxonomy 定义与校验脚本
- 新增
data/taxonomy.json,写入本规划中的分类、二级分类和 canonical tags。 - 新增
scripts/validate-taxonomy.js:- 校验 taxonomy ID 唯一。
- 校验每个业务分类 4-7 个二级分类。
- 校验每个项目的
subcategoryId能映射到所属 category。 - 输出未识别 subcategory、中文 tags、大小写重复 tags、空 subcategory。
- 将
data/categories.json继续保持轻量导航输出,不承载完整 taxonomy。
阶段 2:现有项目 dry-run 重分类
- 新增
scripts/classify-existing-projects.js --dry-run。 - 输入
data/projects.json,跳过trending或把trending视为派生榜单。 - 先用规则引擎归类:
- 当前
category.id - 当前
subcategory tagstopicsdescription_owner/_name
- 当前
- 对低置信度项目生成
taxonomy-review.jsonl,后续再用 LLM 小批量补判。 - dry-run 输出:
- 每个大类、二级分类的新旧数量对比。
Other/未分类占比。- 被迁出原二级分类的样例。
- canonical tags 覆盖率。
阶段 3:评估 Prompt 改造
更新 scripts/evaluation-prompt.js:
- Prompt 中传入 taxonomy 的 category/subcategory id、中文 label、英文描述和 aliases。
- 要求 LLM 返回
subcategory_id,而不是自由文本subcategory。 - 要求 LLM 返回受控
canonical_tags,并限制只能从白名单选择。 - 对
tags明确要求保留英文、短横线、最多 6 个;中文内容只允许出现在description。
建议输出格式:
{
"category_id": "agents",
"subcategory_id": "mcp-tool-ecosystem",
"canonical_tags": {
"capability": ["agent", "mcp", "tool-use"],
"task": ["build-agent"],
"platform": ["cli"],
"audience": ["developer"],
"maturity": ["maintained"],
"domain": []
}
}同时更新 scripts/discover-and-evaluate.js:
- 校验
subcategory_id属于category_id。 - 校验 canonical tags 属于白名单。
- 失败时自动降级到规则映射或记入 rejected reason,而不是写入自由文本脏数据。
阶段 4:展示与搜索改造
scripts/generate-docs.js- 优先按 taxonomy 中 subcategory 顺序输出。
- 使用中文 label 作为标题,英文别名可作为锚点或小字。
未分类永远最后。
scripts/generate-explore-data.js- facets 增加
canonicalTags分组。 - 相关项目计算中提高
subcategoryId和 canonical capability tags 权重。 - category insights 展示 top canonical tags,而不是混杂 raw tags。
- facets 增加
scripts/meilisearch-index.js- searchable attributes 增加
canonicalTags。 - filterable attributes 增加
subcategoryId、canonicalTags.capability、canonicalTags.platform、canonicalTags.audience。 - displayed attributes 增加
subcategoryId与canonicalTags。
- searchable attributes 增加
阶段 5:批量回填与发布
- 先对 500 个项目 dry-run 抽样,人工检查分布。
- 再对全部非 trending 项目生成迁移 patch。
- 重新生成
home/*.md、data/stats.json、Explore 数据和 Meilisearch 索引。 - 执行构建:
pnpm ai:generate-docs
pnpm explore:generate-data
pnpm docs:build当前仓库使用 npm scripts,实际命令也可以是:
npm run ai:generate-docs
npm run explore:generate-data
npm run docs:build9. 验收标准
9.1 分类质量
- 非
trending项目 98% 以上有合法subcategoryId。 未分类项目占比低于 2%。- 单个大类下最大二级分类占比低于 45%;如分类总数低于 500,可放宽到 55%。
- 每个二级分类至少 30 个活跃项目,或占所属大类活跃项目 5% 以上;不满足则合并回相邻分类。
- LLM 新增项目不能写入 taxonomy 外的
category_id、subcategory_id或 canonical tag。
9.2 标签质量
- 每个活跃项目平均 3-8 个 canonical tags。
- 中文 tags 不再进入新增项目的
tags字段;历史中文 tags 通过迁移脚本归一化或保留为 raw,但不作为 canonical tag。 - canonical tags 总数控制在 80-120 个。
- raw GitHub topics 继续保留,不参与目录分组,只参与搜索召回和 alias 学习。
9.3 产品体验
- 用户在任意大类页能先通过 4-7 个二级入口缩小范围,再通过标签进一步过滤。
- Explore facets 能同时按大类、二级分类、能力、平台、任务过滤。
- 搜索结果能展示项目所属大类、二级分类和关键 canonical tags。
- 热门推荐继续作为派生榜单,不参与主分类统计污染。
9.4 工程稳定性
npm run ai:generate-docs成功。npm run explore:generate-data成功。npm run docs:build成功。scripts/validate-taxonomy.js输出无非法 taxonomy ID。- Meilisearch 重建后可以按
categoryId、subcategoryId、canonicalTags.capability过滤。
10. 风险与缓解
| 风险 | 影响 | 缓解 |
|---|---|---|
| 二级分类仍然过大 | 用户找不到项目 | 按验收标准监控单桶占比,优先拆 devtools/agents/learning/multimodal |
| 分得过细 | 小类无意义,维护成本高 | 每类最多 7 个二级分类,小类低于阈值自动合并 |
| LLM 继续生成脏 subcategory | 数据不一致 | 改为 subcategory_id 枚举校验,不接受自由文本 |
| 标签膨胀 | facets 噪声变大 | canonical tags 白名单控制,raw topics 只做搜索 |
| 历史数据迁移误判 | 项目入口错位 | dry-run 报告、低置信度 review、保留原始 tags/topics |
| 破坏已有页面路径 | 外链失效 | 顶层 category id 不变,二级分类只影响页内锚点与分组 |
11. 推荐优先级
优先处理顺序:
devtools:项目最多,SDKs & APIs桶过大,立即收益最高。agents:MCP、Coding Agent、多智能体、Browser Use 已经明显分化。multimodal:图像、语音、视频之外需要补视觉理解、3D、多模态模型。learning:资源类型需要拆出 Notebook、论文、数据集/benchmark。rag_data与infrastructure:二级分类扩展能显著提升专业用户定位效率。- 其余较小类按相同 taxonomy 一次性补齐即可。
12. 后续可选增强
- 结合 README 离线分析结果补充
maturity、audience、task标签。 - Explore 页面增加“按任务找项目”入口,例如“构建 RAG”“本地运行模型”“做代码智能体”。
- 基于 taxonomy 生成每个大类的概览页,包括二级分类说明、代表项目、趋势标签。
- 定期输出 taxonomy drift 报告:新增项目中哪些 raw topics 高频但尚未映射 canonical tag。
