Skip to content

AI 项目分类细化与标签体系规划

生成日期:2026-07-06

1. 背景与目标

Hello-AI 当前已经进入“目录规模大于原始分类承载力”的阶段。data/stats.json 显示当前公开统计为 20444 个已收录项目、10185 个活跃展示项目;当前工作区 data/projects.json 中按分类展开约 20648 条分类行、20572 个去重 URL。现有 13 个顶层入口中,trending 是虚拟推荐入口,其余 12 个是真正业务分类。

当前问题不是完全没有二级分类,而是二级分类数量少、粒度不均、分布失衡,并且标签没有形成稳定的横向过滤体系。比如当前活跃数据中:

  • devtools 活跃 2974 个项目,其中 SDKs & APIs 1777 个,单个二级分类过大。
  • agents 活跃 1986 个项目,其中 Agent Frameworks 1109 个,无法区分 MCP、Coding Agent、多智能体、浏览器自动化等实践方向。
  • learning 活跃 2226 个项目,Courses & TutorialsAwesome Lists 合计占比过高,论文、Notebook、数据集目录等入口不够明确。
  • multimodal 活跃 1764 个项目,但目前主要只有图片、音频、视频三类,视觉理解、OCR、3D、空间智能和多模态基础模型容易混在一起。

本规划目标:

  1. 保持顶层分类稳定,避免破坏已有 URL、导航和用户认知。
  2. 将每个大类扩展到 4-7 个稳定二级分类,避免继续把几千个项目堆进单个桶。
  3. 引入受控的横向标签体系,覆盖能力、任务、平台、受众、成熟度和领域,不把 GitHub topic 直接升级成目录分类。
  4. 给出可以直接落地到数据结构、评估 prompt、文档生成、Explore 和 Meilisearch 的实施路径。

2. 现状依据

代码和数据链路已经支持“分类来自数据,展示动态生成”,因此本次优化应优先改数据结构和分类规则,而不是硬编码页面。

  • README 明确说明评估时会动态读取 data/projects.json 中的 categories 和 subcategories,并注入 Prompt 指导 AI 归类:README-zh.md:128README-zh.md:130
  • README 明确说明文档生成按 subcategory 分组:README-zh.md:134README-zh.md:136
  • 评估 Prompt 目前只把 category.id/namesubcategories 列表拼成文本:scripts/evaluation-prompt.js:7scripts/evaluation-prompt.js:10
  • Prompt 要求 LLM 返回 category_idsubcategory,但 subcategory 是自由文本字段:scripts/evaluation-prompt.js:35scripts/evaluation-prompt.js:44
  • 入库逻辑只校验 category_id 是否存在,对 subcategory 没有枚举校验,直接写入项目:scripts/discover-and-evaluate.js:625scripts/discover-and-evaluate.js:638scripts/discover-and-evaluate.js:639
  • Markdown 生成按 project.subcategory || '未分类 (Others)' 聚合:scripts/generate-docs.js:28scripts/generate-docs.js:31scripts/generate-docs.js:78
  • Explore 数据已经把 subcategorytagstopics 纳入打分、相关项目和 facets:scripts/generate-explore-data.js:197scripts/generate-explore-data.js:211scripts/generate-explore-data.js:571scripts/generate-explore-data.js:639
  • Meilisearch 目前搜索 tags/topics/subcategory,过滤 categoryId/health/stars/owner/subcategoryscripts/meilisearch-index.js:91scripts/meilisearch-index.js:121scripts/meilisearch-index.js:254scripts/meilisearch-index.js:264

3. 分类原则

3.1 顶层分类保持稳定

保持现有 12 个业务顶层分类和 1 个虚拟推荐入口:

  • trending:虚拟榜单,不作为 LLM 可选业务分类。
  • llms
  • agents
  • rag_data
  • infrastructure
  • finetuning
  • multimodal
  • devtools
  • applications
  • learning
  • desktop_tools
  • robotics_iot
  • finance_business

原因:

  1. 当前前端导航、README 统计、文档路径和 Explore 都已经围绕这些 ID 建立。
  2. 顶层分类太多会让用户第一步选择变难。
  3. AI 项目的实践演进更适合通过二级分类和标签反映,例如 MCP、Coding Agent、Local LLM、GraphRAG 都是横跨多个顶层分类的能力信号。

3.2 二级分类控制在 4-7 个

每个顶层分类建议最多 7 个二级分类。二级分类的成立条件:

  • 能形成稳定的用户入口,而不是某个短期热词。
  • 在当前或未来数据中预计至少有 50 个项目,或占所属大类 5% 以上。
  • 与同级分类互斥度足够高,大多数项目能选出一个主归属。
  • 不是简单复刻 GitHub topic;更细的差异交给标签。

3.3 标签做横向过滤

标签用于表达项目的能力、任务、平台、目标用户、成熟度和行业领域。例如 mcplocal-aicode-agentdockerresearchfinance 不适合全部变成目录,但非常适合作为筛选和推荐特征。

建议区分三层信号:

  • 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-models
  • Open Source Models -> 根据 tags/topics 二次分配,默认 general-chat-models
  • Model Architecture -> architecture-research
  • Foundation 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、代码修复、仓库理解、自动 PRcoding-agent, swe-agent, code-generation
mcp-tool-ecosystemMCP 与工具生态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-agents
  • Browser Automations -> browser-computer-use
  • Multi-Agent Systems -> multi-agent-systems

4.3 rag_data RAG 与检索

subcategoryId中文名覆盖范围典型标签
rag-frameworksRAG 框架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文档解析与 OCRPDF/Office/HTML 解析、OCR、版面理解document-ai, pdf, ocr
knowledge-graph-graphrag知识图谱与 GraphRAGKG、GraphRAG、实体关系抽取knowledge-graph, graphrag, entity-extraction
search-retrieval-engines搜索与检索引擎全文搜索、语义搜索、元搜索、搜索 APIsearch-engine, semantic-search, bm25
data-connectors-pipelines数据连接与管线数据摄取、连接器、爬取、清洗、索引管线data-pipeline, connector, etl

当前映射建议:

  • RAG Frameworks -> rag-frameworks
  • Vector Databases -> vector-databases-indexes
  • Data Parsers -> document-parsing-ocr,其中含 connector/etl/crawler 的迁到 data-connectors-pipelines

4.4 infrastructure 基础设施与部署

subcategoryId中文名覆盖范围典型标签
model-serving-inference模型服务与推理推理服务、Serving、batch inference、推理 APIinference, model-serving, llm-inference
local-runtime-model-management本地运行时与模型管理Ollama、llama.cpp、模型下载/切换/管理local-ai, ollama, model-management
gpu-quantization-accelerationGPU/量化/加速CUDA、TensorRT、量化、推理加速、硬件优化cuda, gpu, quantization
cloud-native-deployment云原生部署Docker、Kubernetes、Helm、Serverless、集群部署docker, kubernetes, cloud-native
llmops-observabilityLLMOps 与可观测tracing、监控、评估平台、成本/质量观测llmops, observability, monitoring
api-gateway-routingAPI 网关与模型路由多模型网关、代理、负载均衡、成本路由llm-gateway, proxy, routing

当前映射建议:

  • Model Serving -> model-serving-inference,含 ollama/llama.cpp/local-llm 的迁到 local-runtime-model-management
  • Hardware Acceleration -> gpu-quantization-acceleration
  • Cloud & Hosting -> cloud-native-deployment

4.5 finetuning 微调与训练

subcategoryId中文名覆盖范围典型标签
finetuning-lora微调与 LoRA 工具SFT、LoRA、QLoRA、PEFT、adapterfine-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偏好优化与 RLHFDPO、RLHF、RLAIF、奖励模型、强化学习训练rlhf, dpo, reinforcement-learning
experiment-automl实验管理与 AutoML超参搜索、实验跟踪、AutoML、训练调度automl, experiment-tracking, hpo

当前映射建议:

  • Fine-tuning Tools -> finetuning-lora,含 training/distributed 的迁到 training-frameworks
  • Dataset Management -> datasets-labeling
  • Evaluation Metrics -> evaluation-benchmarks

4.6 multimodal 多模态与音视频

subcategoryId中文名覆盖范围典型标签
image-generation-editing图像生成与编辑文生图、图像编辑、Diffusion、ControlNetimage-generation, diffusion, stable-diffusion
vision-understanding-ocr视觉理解与 OCRCV、检测/分割、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-spatial3D 与空间智能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-editing
  • Audio & Speech (TTS/STT)Audio & Speech -> audio-speech
  • Video Generation -> video-generation-understanding
  • 空子类结合 tags/topics 迁到 vision-understanding-ocr3d-spatialmultimodal-foundation-models

4.7 devtools 开发工具与 SDK

subcategoryId中文名覆盖范围典型标签
sdks-api-clientsSDK 与 API 客户端各语言 SDK、API wrapper、client librarysdk, api-client, openai
ai-ides-code-assistantsAI IDE 与代码助手IDE、编辑器插件、代码补全、代码聊天code-assistant, ide, vscode
cli-dev-utilitiesCLI 与开发者工具命令行工具、脚手架、开发辅助工具cli, developer-tools, automation
mcp-integrationsMCP 与集成工具MCP server、插件、第三方集成桥接mcp, mcp-server, integration
prompt-eval-toolsPrompt 与评测工具Prompt 管理、测试、压缩、注入检测、evalprompt-engineering, prompt-eval, testing
code-intelligence-repo-tools代码理解与仓库工具代码搜索、AST、仓库问答、代码索引code-search, code-intelligence, ast
app-frameworks-boilerplatesAI 应用框架与模板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-tools
  • IDE & Code Assistants -> ai-ides-code-assistants
  • Prompt Engineering -> prompt-eval-tools
  • Terminal 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-assistants
  • Productivity Tools -> productivity-knowledge-work
  • Creative Apps -> creative-content-apps
  • Enterprise Solutions -> business-enterprise-apps

4.9 learning 学习与资源

subcategoryId中文名覆盖范围典型标签
courses-tutorials课程与教程系统课程、入门教程、实践指南course, tutorial, guide
awesome-curated-listsAwesome 与精选清单awesome list、资源导航、项目集合awesome-list, curated-list, resources
papers-reading-lists论文与阅读清单论文集合、论文解读、研究路线图paper, reading-list, research
notebooks-examplesNotebook 与示例Colab、Jupyter、示例工程、实验 notebooknotebook, 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-examples
  • Awesome Lists -> awesome-curated-lists
  • Research 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-workbench
  • Terminal Tools -> terminal-cli-apps
  • OS Integrations -> os-integrations
  • Browser Automations -> 如果是最终用户浏览器插件,迁到 browser-extensions;如果是 agent 自动化框架,迁回 agents/browser-computer-use

4.11 robotics_iot 机器人与物联网

subcategoryId中文名覆盖范围典型标签
robotics-frameworks-control机器人框架与控制ROS、控制、路径规划、机械臂、机器人软件栈robotics, ros, control
embodied-ai-simulation具身智能与仿真具身智能、仿真环境、机器人学习 benchmarkembodied-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-perceptionSLAM 与感知SLAM、定位建图、视觉/雷达感知slam, perception, lidar

当前映射建议:

  • Robotics -> 默认 robotics-frameworks-control,含 simulation/embodied-ai 迁到 embodied-ai-simulation,含 slam/lidar/perception 迁到 slam-perception
  • Edge AI -> edge-ai-on-device
  • IoT -> 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商业运营与 BIBI、报表、增长分析、业务智能bi, analytics, business-ops

当前映射建议:

  • Quantitative Trading -> quant-trading-backtesting
  • Market Analysis -> market-data-analysis
  • Enterprise Solutions -> 根据 finance/quant/trading 迁到 financial-llms-agentsenterprise-ai-platforms

5. 推荐横向标签体系

标签不要无限扩张。建议建立 data/taxonomy.jsondata/tag-taxonomy.json,维护 80-120 个受控 canonical tag,并保留 alias 归一化规则。每个项目最多写入 3-8 个 canonical tags;原始 tagstopics 继续保留。

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 源文件

建议新增:

text
data/taxonomy.json

建议结构:

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,新增稳定字段:

json
{
  "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 映射。
  • tagstopics 不删除,只做归一化补充。

7. 分类执行规则

7.1 主分类优先级

遇到跨类项目时按“用户主要来找它解决什么问题”归类:

  1. 模型权重、模型结构、模型榜单 -> llms
  2. 让模型自主规划、调用工具、执行任务 -> agents
  3. 检索、索引、文档解析、知识库 -> rag_data
  4. 推理服务、部署、网关、监控、运行时 -> infrastructure
  5. 微调、训练、数据集、评测 -> finetuning
  6. 图像、视频、音频、视觉、3D、多模态模型 -> multimodal
  7. SDK、API、IDE、CLI、Prompt、代码工具 -> devtools
  8. 面向最终用户的可直接使用产品 -> applications
  9. 教程、清单、论文、Notebook、数据集目录 -> learning
  10. 桌面/OS/浏览器本地深度集成 -> desktop_tools
  11. 机器人、边缘设备、IoT、自动驾驶 -> robotics_iot
  12. 金融、量化、企业业务分析 -> 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 定义与校验脚本

  1. 新增 data/taxonomy.json,写入本规划中的分类、二级分类和 canonical tags。
  2. 新增 scripts/validate-taxonomy.js
    • 校验 taxonomy ID 唯一。
    • 校验每个业务分类 4-7 个二级分类。
    • 校验每个项目的 subcategoryId 能映射到所属 category。
    • 输出未识别 subcategory、中文 tags、大小写重复 tags、空 subcategory。
  3. data/categories.json 继续保持轻量导航输出,不承载完整 taxonomy。

阶段 2:现有项目 dry-run 重分类

  1. 新增 scripts/classify-existing-projects.js --dry-run
  2. 输入 data/projects.json,跳过 trending 或把 trending 视为派生榜单。
  3. 先用规则引擎归类:
    • 当前 category.id
    • 当前 subcategory
    • tags
    • topics
    • description
    • _owner/_name
  4. 对低置信度项目生成 taxonomy-review.jsonl,后续再用 LLM 小批量补判。
  5. dry-run 输出:
    • 每个大类、二级分类的新旧数量对比。
    • Other/未分类 占比。
    • 被迁出原二级分类的样例。
    • canonical tags 覆盖率。

阶段 3:评估 Prompt 改造

更新 scripts/evaluation-prompt.js

  1. Prompt 中传入 taxonomy 的 category/subcategory id、中文 label、英文描述和 aliases。
  2. 要求 LLM 返回 subcategory_id,而不是自由文本 subcategory
  3. 要求 LLM 返回受控 canonical_tags,并限制只能从白名单选择。
  4. tags 明确要求保留英文、短横线、最多 6 个;中文内容只允许出现在 description

建议输出格式:

json
{
  "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:展示与搜索改造

  1. scripts/generate-docs.js
    • 优先按 taxonomy 中 subcategory 顺序输出。
    • 使用中文 label 作为标题,英文别名可作为锚点或小字。
    • 未分类 永远最后。
  2. scripts/generate-explore-data.js
    • facets 增加 canonicalTags 分组。
    • 相关项目计算中提高 subcategoryId 和 canonical capability tags 权重。
    • category insights 展示 top canonical tags,而不是混杂 raw tags。
  3. scripts/meilisearch-index.js
    • searchable attributes 增加 canonicalTags
    • filterable attributes 增加 subcategoryIdcanonicalTags.capabilitycanonicalTags.platformcanonicalTags.audience
    • displayed attributes 增加 subcategoryIdcanonicalTags

阶段 5:批量回填与发布

  1. 先对 500 个项目 dry-run 抽样,人工检查分布。
  2. 再对全部非 trending 项目生成迁移 patch。
  3. 重新生成 home/*.mddata/stats.json、Explore 数据和 Meilisearch 索引。
  4. 执行构建:
bash
pnpm ai:generate-docs
pnpm explore:generate-data
pnpm docs:build

当前仓库使用 npm scripts,实际命令也可以是:

bash
npm run ai:generate-docs
npm run explore:generate-data
npm run docs:build

9. 验收标准

9.1 分类质量

  • trending 项目 98% 以上有合法 subcategoryId
  • 未分类 项目占比低于 2%。
  • 单个大类下最大二级分类占比低于 45%;如分类总数低于 500,可放宽到 55%。
  • 每个二级分类至少 30 个活跃项目,或占所属大类活跃项目 5% 以上;不满足则合并回相邻分类。
  • LLM 新增项目不能写入 taxonomy 外的 category_idsubcategory_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 重建后可以按 categoryIdsubcategoryIdcanonicalTags.capability 过滤。

10. 风险与缓解

风险影响缓解
二级分类仍然过大用户找不到项目按验收标准监控单桶占比,优先拆 devtools/agents/learning/multimodal
分得过细小类无意义,维护成本高每类最多 7 个二级分类,小类低于阈值自动合并
LLM 继续生成脏 subcategory数据不一致改为 subcategory_id 枚举校验,不接受自由文本
标签膨胀facets 噪声变大canonical tags 白名单控制,raw topics 只做搜索
历史数据迁移误判项目入口错位dry-run 报告、低置信度 review、保留原始 tags/topics
破坏已有页面路径外链失效顶层 category id 不变,二级分类只影响页内锚点与分组

11. 推荐优先级

优先处理顺序:

  1. devtools:项目最多,SDKs & APIs 桶过大,立即收益最高。
  2. agents:MCP、Coding Agent、多智能体、Browser Use 已经明显分化。
  3. multimodal:图像、语音、视频之外需要补视觉理解、3D、多模态模型。
  4. learning:资源类型需要拆出 Notebook、论文、数据集/benchmark。
  5. rag_datainfrastructure:二级分类扩展能显著提升专业用户定位效率。
  6. 其余较小类按相同 taxonomy 一次性补齐即可。

12. 后续可选增强

  1. 结合 README 离线分析结果补充 maturityaudiencetask 标签。
  2. Explore 页面增加“按任务找项目”入口,例如“构建 RAG”“本地运行模型”“做代码智能体”。
  3. 基于 taxonomy 生成每个大类的概览页,包括二级分类说明、代表项目、趋势标签。
  4. 定期输出 taxonomy drift 报告:新增项目中哪些 raw topics 高频但尚未映射 canonical tag。