Collect and organize first-hand research materials for technical writing. Use when the user wants to gather official documentation, source code examples, GitHub issues, or original technical resources before writing. Outputs structured research files ready for the writing phase.
专注于博客写作前的研究阶段,收集一手资料并整理成结构化素材库。
gh) 搜索真实项目代码、README生成标准格式的研究素材文件,保存到 ~/my-obsidian-vault/个人/草稿/ 目录
用户输入主题 → 多源搜索 → 过滤分类 → 提取关键信息 → 生成素材文件
场景1: 全新主题研究
帮我收集 Kubernetes Gateway API 的资料
AI会:
scripts/github_search.sh 搜索 Kubernetes Gateway API 相关仓库scripts/web_search.sh 查找官方文档(限定 kubernetes.io 域名)scripts/github_search.sh 搜索相关 issues 和代码示例scripts/stackoverflow_search.sh 查找高票问答authority_scorer.py 评分)~/my-obsidian-vault/个人/草稿/k8s-gateway-api.md场景2: 深入特定方面
继续收集 Gateway API 的安全实践相关资料
AI会:
场景3: 更新过期资料
更新这篇素材中的官方文档链接
AI会:
每个研究素材文件遵循统一格式:
# 研究素材:{主题}
**创建时间**: YYYY-MM-DD
**最后更新**: YYYY-MM-DD
**状态**: 收集中 | 已完成 | 已使用
**相关博客**: [链接] (如果已写成博客)
---
## 📚 官方文档
### {文档标题}
- **来源**: {官方网站}
- **链接**: {URL}
- **版本**: {如适用}
- **关键要点**:
- 要点1
- 要点2
## 💻 源码示例
### {项目名称}
- **仓库**: {GitHub URL}
- **相关文件**: {文件路径}
- **代码片段**:
```language
// 关键代码
基于收集的资料,建议的写作角度:
其他有价值的资源:
## 搜索策略
### 官方文档搜索 (Context7)
**目标**: 获取最权威的技术说明
搜索模式:
**筛选标准**:
- ✅ 官方文档网站
- ✅ 版本化文档
- ❌ 第三方教程
- ❌ 博客文章
### 源码搜索 (GitHub)
**目标**: 找到真实的生产级代码示例
搜索策略:
**筛选标准**:
- ✅ 官方仓库
- ✅ 知名开源项目
- ✅ 完整可运行示例
- ❌ 未维护的旧项目
- ❌ Demo/测试代码
### 官方博客搜索 (Brave Search)
**目标**: 获取官方的最佳实践和案例研究
搜索策略:
**筛选标准**:
- ✅ 官方技术博客
- ✅ 官方更新公告
- ✅ 官方案例研究
- ❌ 第三方转载
- ❌ 营销软文
## 资料质量评估
### 一手资料识别
**一手资料**(优先):
- 官方文档、规范、RFC
- 源代码、配置文件
- 官方博客、公告
- 官方 GitHub Issues/PRs
- 官方示例项目
**二手资料**(谨慎使用):
- 技术博客(非官方)
- 教程、课程
- Stack Overflow
- 技术媒体文章
### 权威性评分
参考 [`scripts/authority_scorer.py`](scripts/authority_scorer.py) 自动评估资料权威性。
评分维度:
- 来源官方性 (40%)
- 内容时效性 (30%)
- 技术深度 (20%)
- 社区认可度 (10%)
## 素材管理
### 文件命名规范
文件保存在 Obsidian 草稿目录:`~/my-obsidian-vault/个人/草稿/`
命名格式:`{topic-slug}.md` 或 `YYYY-MM-DD-{topic-slug}.md`
示例:
- `~/my-obsidian-vault/个人/草稿/k8s-gateway-api.md`
- `~/my-obsidian-vault/个人/草稿/2026-02-03-grpc-vs-rest.md`
### 状态标记
素材文件头部的状态字段:
- **收集中**: 正在添加资料
- **已完成**: 资料收集完成,待写作
- **已使用**: 已基于此素材写成博客
- **已归档**: 资料过期或不再使用
### 更新策略
参考 [`scripts/update_research.py`](scripts/update_research.py) 自动更新素材文件。
```bash
# 检查链接有效性
python3 scripts/update_research.py ~/my-obsidian-vault/个人/草稿/topic.md
定期检查:
所有搜索功能通过命令行工具实现,无需 MCP servers。
scripts/github_search.sh)# 搜索仓库
./scripts/github_search.sh repos "kubernetes gateway" --limit 10
# 搜索代码
./scripts/github_search.sh code "Gateway API" --repo kubernetes/kubernetes
# 搜索 Issues
./scripts/github_search.sh issues "bug" --repo istio/istio --state closed
# 获取 README
./scripts/github_search.sh readme kubernetes/gateway-api
输出: JSON 格式,包含仓库信息、星标数、更新时间等。
scripts/web_search.sh)# 搜索网页(DuckDuckGo)
./scripts/web_search.sh "kubernetes gateway api official" 10
输出: URL 列表(每行一个)。
技巧: 使用 site: 限定官方域名:
./scripts/web_search.sh "site:kubernetes.io gateway api"
scripts/stackoverflow_search.sh)# 搜索问题
./scripts/stackoverflow_search.sh "kubernetes gateway" 5
# 带标签搜索
./scripts/stackoverflow_search.sh "gateway api" 5 kubernetes
输出: 问题标题、URL、评分、回答数、标签。
scripts/authority_scorer.py)# 评估单个链接
python3 scripts/authority_scorer.py --url "https://kubernetes.io/docs/concepts/services-networking/gateway/" --date "2025-12-15" --type "api-reference"
输出: 总分(0-100)+ 评级星标 + 详细分数。
适用于新主题的初步研究。
适用于特定方面的深入研究。
适用于准备写作前的最后整理。
研究素材文件是 Writing Skill 的输入:
Research Prep 输出 → Writing Skill 输入
~/my-obsidian-vault/个人/草稿/topic.md
↓
Writing Skill 读取素材
↓
生成大纲(基于一手资料)
↓
完善文章内容
协作流程:
~/my-obsidian-vault/个人/草稿/x.mdQ: 如何判断是一手还是二手资料? A: 一手资料来自技术的创造者/维护者;二手资料是他人的转述或解读。
Q: 搜索不到官方文档怎么办?
A: 先用 Web Search 限定官方域名(site:官方域名),再尝试直接访问项目官网。
Q: 资料太多怎么办? A: 按权威性评分排序,只保留前20-30条最有价值的。
Q: 如何处理版本不一致? A: 优先使用最新稳定版本的资料,旧版本标注版本号供参考。
Q: 素材文件何时算"完成"? A: 当包含足够的官方文档、3-5个代码示例、重要技术讨论,且概念卡片完整时。
scripts/update_research.py 保持资料新鲜度