cmd4coder 是一个双模态开发者工具项目:
- 模式 A:Go CLI 工具 — 面向运维工程师和开发者的命令行速查手册
- 模式 B:LLM-Wiki 知识库 — 基于 Obsidian 的大模型领域多轮问答语料库
单一数据源:所有内容从
data/*.yaml生成,修改 YAML → CLI 和 Wiki 自动同步。
┌─────────────────┐ ┌──────────────────┐
│ data/*.yaml │────→│ cmd4coder CLI │ Mode A: 终端查询
│ (693 命令) │ │ (Go + Bubbletea)│
└─────────────────┘ └──────────────────┘
│
↓
┌──────────────────┐
│ LLM-Wiki │ Mode B: 知识库 + 多轮问答
│ (Obsidian) │
│ 755 页面 │
│ 2105+ 双向链接 │
└──────────────────┘
| 维度 | CLI 模式 | Wiki 模式 |
|---|---|---|
| 交互 | 单轮查询 search "training" |
多轮对话场景引导 |
| 检索 | 模糊搜索 + 优先级排序 | 分层检索 + 语义关联 |
| 关联 | related_commands 文本 |
[[wikilinks]] 双向链接 |
| 输出 | 表格/JSON/Markdown | Markdown + frontmatter |
| 适用 | 快速查命令 | 学习路线、故障排查 |
# 列出分类
go run ./cmd/cli categories -d ./data
# 搜索命令
go run ./cmd/cli search "distributed training" -d ./data
# 查看详情
go run ./cmd/cli show deepspeed -d ./data
# TUI 交互模式
go run ./cmd/cli -d ./data
# 构建二进制
go build -o bin/cmd4coder ./cmd/cli# 1. 在 Obsidian 中打开 Vault
open -a Obsidian ./llm-wiki
# 2. 使用 Agent Skills 查询
kimi "query the wiki about ZeRO optimization"
kimi "what tool should I use for single-GPU fine-tuning?"
# 3. 摄入新文档
kimi "ingest docs/new-paper.pdf into the wiki"
# 4. 检查 Wiki 健康
python3 scripts/wiki_status.py| 指标 | CLI | Wiki |
|---|---|---|
| 总命令 | 693 | 676 实体页 + 65 MOC |
| 分类 | 58 | 58 维度索引 |
| AI 命令 | 215 (22 分类) | 200+ 含场景/概念/FAQ |
| 搜索速度 | <100ms | Index-only ~18K tokens |
| 双向链接 | — | 2,105 |
| Broken Links | — | 0 |
| 场景页 | — | 4 (多轮问答) |
| 概念页 | — | 4 (ZeRO, KV-Cache, LoRA, Speculative Decoding) |
| FAQ 页 | — | 5 |
cmd4coder/
│
├── Mode A: CLI 工具
│
├── cmd/
│ ├── cli/ # 主 CLI 程序 (Go + Cobra + Bubbletea)
│ └── validator/ # YAML 数据验证工具
├── internal/
│ ├── model/ # 数据模型
│ ├── data/ # 数据加载和索引
│ ├── service/ # 业务逻辑层
│ └── ui/tui/ # TUI 用户界面
├── pkg/export/ # Markdown/JSON 导出
├── data/ # YAML 命令清单 (单一数据源)
│ ├── metadata.yaml # 58 分类元数据
│ ├── ai/ # 22 个 AI 分类 (215 命令)
│ │ ├── llm-training.yaml
│ │ ├── llm-inference.yaml
│ │ ├── agent-engineering.yaml
│ │ ├── harness-engineering.yaml
│ │ ├── ai-compiler.yaml
│ │ ├── model-interpretability.yaml
│ │ ├── federated-learning.yaml
│ │ └── ... (15 more)
│ ├── container/ # K8s 生态 (200+ 命令)
│ ├── database/ # MySQL/PostgreSQL/Redis
│ ├── network/ # DNS/HTTP/诊断
│ ├── os/ # Linux 系统命令
│ └── ...
│
├── Mode B: LLM-Wiki
│
├── llm-wiki/ # Obsidian Vault
│ ├── .obsidian/ # Obsidian 配置
│ ├── entities/commands/ # 676 命令详情页
│ ├── 00-Maps/ # 65 MOC 索引页
│ ├── concepts/ # 4 核心概念页
│ ├── synthesis/scenes/ # 4 多轮问答场景
│ ├── references/faqs/ # 5 FAQ 页
│ ├── _meta/
│ │ ├── manifest.json # 源文件追踪
│ │ └── taxonomy.md # 标签分类
│ ├── index.md # Vault 入口
│ ├── log.md # 操作日志
│ ├── hot.md # 热缓存
│ └── .env # Wiki 配置
│
├── .agents/skills/ # 38 个 obsidian-wiki skills
│ ├── wiki-ingest/ # 文档蒸馏摄入
│ ├── wiki-query/ # 分层检索查询
│ ├── wiki-status/ # 健康仪表盘
│ ├── wiki-lint/ # 链接质量检查
│ └── ...
│
├── scripts/ # 转换与工具脚本
│ ├── convert_to_wiki.py # YAML → Markdown 转换器
│ ├── generate_scenes_and_faqs.py
│ ├── fix_wiki_links_v3.py # 链接修复
│ └── wiki_status.py # 健康检查
│
└── docs/ # 项目文档
├── reports/llm-wiki/ # 改造方案与实施报告
└── ...
| 维度 | 命令数 | 代表工具 |
|---|---|---|
| 大模型训练 | 27 | DeepSpeed, Accelerate, Unsloth, GRPO, DPO |
| 大模型推理 | 26 | vLLM, SGLang, TensorRT-LLM, Ollama |
| Agent 工程 | 19 | LangChain, AutoGen, DSPy, CrewAI, Dify |
| Harness 工程 | 21 | SWE-Bench, Arena, LiveCodeBench, Red-Teaming |
| 模型生态 | 16 | HuggingFace, ONNX, GGUF, 量化工具 |
| 数据与标注 | 13 | Argilla, Label Studio, FiftyOne |
| 监控与评估 | 16 | MLflow, W&B, Langfuse, Phoenix |
| 向量数据库 | 15 | Chroma, Milvus, Weaviate, Pinecone |
| AI 网关 | 6 | Helicone, Portkey, OpenRouter, Promptfoo |
| AI 安全 | 5 | Garak, ModelScan, LLM Guard, Inspect AI |
| 多模态 | 6 | ComfyUI, Whisper, CLIP, LLaVA |
| AI 编程 | 5 | Aider, OpenHands, SWE-Agent, Continue.dev |
| RAG 基础设施 | 5 | Unstructured, LlamaParse, Docling, Marker |
| 边缘 AI | 4 | TFLite, ExecuTorch, MediaPipe, Paddle Lite |
| AI 编译器 | 6 | TVM, IREE, MLIR, TensorRT, XLA |
| 模型可解释性 | 5 | SHAP, LIME, Captum |
| 联邦学习 | 4 | Flower, Opacus, CrypTen |
| 模型架构 | 9 | transformers-cli, bertviz, calflops, Mamba |
| AI 应用 | 6 | PromptFlow, n8n, Text2SQL, Vanna |
| ML 框架 | 4 | PyTorch, TensorFlow, JAX, Paddle |
| MLOps 平台 | 2 | Kubeflow, MLflow |
| 模型服务 | 4 | BentoML, KServe |
# 运行测试
go test ./...
# 构建
go build -o bin/cmd4coder ./cmd/cli
# 验证数据
go run ./cmd/validator -d ./data -v# YAML 变更后重新生成 Wiki
python3 scripts/convert_to_wiki.py
# 修复链接
python3 scripts/fix_wiki_links_v3.py
# 检查健康
python3 scripts/wiki_status.py
# 生成场景/FAQ
python3 scripts/generate_scenes_and_faqs.pyYAML 命令定义示例:
category: "AI基础设施/大模型训练"
commands:
- name: deepspeed
category: "AI基础设施/大模型训练"
install_required: true
install_method: "pip install deepspeed"
description: "微软DeepSpeed大规模分布式训练框架"
usage:
- "deepspeed [OPTIONS] SCRIPT.py"
options:
- flag: "--num_gpus"
description: "使用的GPU数量"
examples:
- command: "deepspeed --num_gpus=4 train.py"
description: "4卡训练"
platforms: ["linux", "darwin", "windows"]
related_commands: ["accelerate", "torchrun"]
risks:
- level: medium
description: "大规模训练消耗大量GPU资源"
references:
- "https://www.deepspeed.ai/"| 文档 | 内容 |
|---|---|
docs/reports/llm-wiki/IMPLEMENTATION_REPORT.md |
LLM-Wiki 改造实施报告 |
docs/reports/ai-commands-gap-analysis.md |
AI 命令缺口分析 |
docs/reports/project-evaluation-report.md |
项目评估报告 |
llm-wiki/AGENTS.md |
Agent Bootstrap |
llm-wiki/CLAUDE.md |
Claude Code 上下文 |
- 在
data/对应 YAML 文件中添加命令定义 - 运行
go run ./cmd/validator -d ./data -v验证 - 运行
python3 scripts/convert_to_wiki.py同步到 Wiki - 提交 PR
- 编辑
scripts/generate_scenes_and_faqs.py - 运行脚本生成场景页
- 验证链接:
python3 scripts/wiki_status.py
MIT License. 详见 docs/legal/LICENSE。
⭐ 如果这个项目对你有帮助,请给一个 Star!