2026-08-31 10:30:53 +08:00
|
|
|
|
---
|
|
|
|
|
|
name: wiki
|
|
|
|
|
|
description: |
|
|
|
|
|
|
文档站管理 skill。用于向个人 MkDocs 文档站添加、更新或整理技术文档。
|
|
|
|
|
|
当用户提到写文档、添加到文档站、整理笔记到 wiki、记录技术知识点、
|
|
|
|
|
|
或者想把某段内容发布到文档站时,使用此 skill。
|
|
|
|
|
|
支持用户提供主题(自动生成文档)或提供已有内容(整理后发布)。
|
|
|
|
|
|
---
|
|
|
|
|
|
|
|
|
|
|
|
# 文档站管理
|
|
|
|
|
|
|
|
|
|
|
|
管理 MkDocs Material 文档站,支持添加和更新技术文档。
|
|
|
|
|
|
|
|
|
|
|
|
## 工作流程
|
|
|
|
|
|
|
2026-09-01 20:58:53 +08:00
|
|
|
|
### 1. 查找 skill 路径
|
2026-08-31 10:30:53 +08:00
|
|
|
|
|
2026-09-01 20:58:53 +08:00
|
|
|
|
本 skill 的脚本和模板位于 skill 目录下。查找方法:
|
|
|
|
|
|
|
|
|
|
|
|
```
|
|
|
|
|
|
# 用 glob_search 找到本 skill 的位置
|
|
|
|
|
|
glob_search(pattern="**/wiki/SKILL.md")
|
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
|
|
找到后,skill 目录路径为结果中 `SKILL.md` 所在的目录(去掉 `/SKILL.md` 后缀)。
|
|
|
|
|
|
|
|
|
|
|
|
后续步骤中用 `<skill-dir>` 代指该路径。
|
|
|
|
|
|
|
|
|
|
|
|
### 2. SSH 连通性检查
|
2026-08-31 10:30:53 +08:00
|
|
|
|
|
|
|
|
|
|
```bash
|
2026-09-01 20:58:53 +08:00
|
|
|
|
bash <skill-dir>/scripts/check_ssh.sh
|
2026-08-31 10:30:53 +08:00
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
|
|
如果检查失败,告知用户需要配置 SSH 密钥,不要继续操作。
|
|
|
|
|
|
|
2026-09-01 20:58:53 +08:00
|
|
|
|
### 3. 克隆仓库
|
2026-08-31 10:30:53 +08:00
|
|
|
|
|
|
|
|
|
|
```bash
|
|
|
|
|
|
TMP_DIR=$(mktemp -d)
|
|
|
|
|
|
git clone ssh://git@47.121.181.112:222/wonder/docs.git "$TMP_DIR"
|
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
|
|
后续所有文件操作在 `$TMP_DIR` 中进行。
|
|
|
|
|
|
|
2026-09-01 20:58:53 +08:00
|
|
|
|
### 4. 理解用户意图
|
2026-08-31 10:30:53 +08:00
|
|
|
|
|
|
|
|
|
|
**场景 A — 提供主题**:用户说"写一篇关于 XXX 的文章"
|
2026-09-01 20:58:53 +08:00
|
|
|
|
- 根据主题判断章节(algorithm / architecture / project / qiniu-cloud)
|
|
|
|
|
|
- 不确定时询问用户
|
2026-08-31 10:30:53 +08:00
|
|
|
|
- 按模板生成完整文档
|
|
|
|
|
|
|
|
|
|
|
|
**场景 B — 提供内容**:用户粘贴了一段文档或笔记
|
2026-09-01 20:58:53 +08:00
|
|
|
|
- 分析内容主题,判断合适章节
|
|
|
|
|
|
- 整理成标准格式(参考 `<skill-dir>/references/article-template.md`)
|
|
|
|
|
|
- 内容不完整时询问用户补充
|
2026-08-31 10:30:53 +08:00
|
|
|
|
|
|
|
|
|
|
**场景 C — 更新现有文档**:用户说"更新 XXX 文章"
|
|
|
|
|
|
- 在仓库中找到对应文件
|
|
|
|
|
|
- 根据用户要求更新内容
|
|
|
|
|
|
|
2026-09-01 20:58:53 +08:00
|
|
|
|
**场景 D — 章节不明确**:
|
|
|
|
|
|
- 先查看仓库目录结构:`ls $TMP_DIR/`
|
|
|
|
|
|
- 列出当前章节供用户选择
|
|
|
|
|
|
- 询问是否需要新建章节
|
2026-08-31 10:30:53 +08:00
|
|
|
|
|
2026-09-01 20:58:53 +08:00
|
|
|
|
### 5. 生成/更新文档
|
2026-08-31 10:30:53 +08:00
|
|
|
|
|
2026-09-01 20:58:53 +08:00
|
|
|
|
遵循 `<skill-dir>/references/article-template.md` 中的标准格式:
|
2026-08-31 10:30:53 +08:00
|
|
|
|
|
|
|
|
|
|
- 使用中文撰写
|
|
|
|
|
|
- 代码示例以 Go 为主
|
|
|
|
|
|
- 包含 mermaid 图表辅助说明
|
|
|
|
|
|
- 包含常见陷阱和练习题
|
|
|
|
|
|
- 文件名使用 kebab-case
|
|
|
|
|
|
|
2026-09-01 20:58:53 +08:00
|
|
|
|
### 6. 更新导航
|
2026-08-31 10:30:53 +08:00
|
|
|
|
|
2026-09-01 20:58:53 +08:00
|
|
|
|
修改 `$TMP_DIR/mkdocs.yml` 的 `nav` 字段,将新文档添加到正确位置。
|
2026-08-31 10:30:53 +08:00
|
|
|
|
|
2026-09-01 20:58:53 +08:00
|
|
|
|
参考 `<skill-dir>/references/mkdocs-nav.md` 了解当前导航结构。
|
2026-08-31 10:30:53 +08:00
|
|
|
|
|
2026-09-01 20:58:53 +08:00
|
|
|
|
### 7. 提交并推送
|
2026-08-31 10:30:53 +08:00
|
|
|
|
|
|
|
|
|
|
```bash
|
|
|
|
|
|
cd "$TMP_DIR"
|
|
|
|
|
|
git add .
|
|
|
|
|
|
git commit -m "docs: 添加/更新 <文档标题>"
|
|
|
|
|
|
git push origin main
|
|
|
|
|
|
```
|
|
|
|
|
|
|
2026-09-01 20:58:53 +08:00
|
|
|
|
### 8. 清理
|
2026-08-31 10:30:53 +08:00
|
|
|
|
|
|
|
|
|
|
```bash
|
|
|
|
|
|
rm -rf "$TMP_DIR"
|
|
|
|
|
|
```
|
|
|
|
|
|
|
2026-09-01 20:58:53 +08:00
|
|
|
|
告知用户文档已推送,CI/CD 通常 1-2 分钟自动部署。
|
2026-08-31 10:30:53 +08:00
|
|
|
|
|
|
|
|
|
|
## 交互原则
|
|
|
|
|
|
|
|
|
|
|
|
- **章节不确定时必须询问**:不要擅自决定文档位置
|
|
|
|
|
|
- **内容不明确时必须询问**:不要编造技术内容
|
2026-09-01 20:58:53 +08:00
|
|
|
|
- **确认用户意图**:生成大量内容前,先确认主题和范围
|
|
|
|
|
|
- **保持一致性**:新文档风格与现有文档一致
|
|
|
|
|
|
- **新建目录时**:同时创建该目录的 `index.md`
|