笔记质量检查
定期检查笔记质量,确保格式规范、链接有效、标签合理,AI 智能分析并提供改进建议。
适用场景
- 定期维护知识库,保持笔记质量
- 发现并修复断链、格式问题
- 优化标签体系,提升检索效率
- 新手学习笔记规范
前置准备
必需插件
| 插件 | 用途 | 安装方式 |
|---|---|---|
| Text Generator | AI 分析 | 社区插件市场 |
| Dataview | 笔记统计 | 社区插件市场 |
| Templater | 模板脚本 | 社区插件市场 |
推荐插件
| 插件 | 用途 |
|---|---|
| Find unlinked links | 断链检测 |
| Tag Wrangler | 标签管理 |
| Linter | 格式检查 |
检查报告模板
markdown
---
title: 笔记质量报告
date: {{date}}
tags: [maintenance]
---
# 笔记质量报告
## 📊 检查范围
- 检查时间:
- 检查数量:
- 检查范围:
## 🔍 检查结果
### 格式问题
<!-- 发现的格式问题 -->
### 断链问题
<!-- 失效的链接 -->
### 标签建议
<!-- 标签优化建议 -->
## 🤖 AI 分析与建议
<!-- 智能分析 -->
## ✅ 整改计划
<!-- 修复计划 -->质量检查 Prompt
markdown
# 笔记质量分析
## 笔记内容
{{note_content}}
## 检查维度
### 输出
## 格式检查
| 问题类型 | 位置 | 建议 |
|----------|------|------|
| 标题层级 | X段 | 调整为 ## |
## 内容检查
- 结构完整性:[完整/需补充]
- 表达清晰度:[清晰/需优化]
- 信息准确性:[准确/需核实]
## 链接检查
- 内部链接:X个
- 失效链接:X个
- [[]]:目标不存在
## 标签建议
- 当前标签:#tag1, #tag2
- 建议添加:#tag3(原因)
- 建议移除:#tag4(原因)
## 改进建议
1. 标题优化:[建议]
2. 结构调整:[建议]
3. 内容补充:[建议]
4. 关联建立:[建议链接到哪些笔记]返回
详细操作步骤
步骤一:创建检查工作流
javascript
// Templater 脚本:批量检查笔记
async function checkNoteQuality() {
const files = app.vault.getMarkdownFiles();
const results = [];
for (const file of files) {
const content = await app.vault.read(file);
const analysis = await textGenerator.generate(`
分析以下笔记的质量:
${content}
返回 JSON 格式:
{
"broken_links": ["链接列表"],
"missing_tags": true/false,
"format_issues": ["问题列表"],
"suggestions": ["改进建议"]
}
`);
results.push({
file: file.path,
...JSON.parse(analysis)
});
}
// 生成报告
return generateReport(results);
}步骤二:配置 Dataview 查询
dataview
# 查找缺失标签的笔记
TABLE
file.name as "笔记名",
file.folder as "文件夹"
FROM ""
WHERE !file.tags OR file.tags.length = 0
LIMIT 50dataview
# 查找没有入链的孤立笔记
TABLE
file.name as "孤立笔记",
file.created as "创建时间"
FROM ""
WHERE file.inlinks.length = 0
SORT file.created DESC
LIMIT 20步骤三:设置定期检查
yaml
# 使用 Tracker 插件配置
# 每周自动生成质量报告
tracker:
schedule: "0 9 * * 1" # 每周一早上 9 点
action: "run-quality-check"高级技巧
1. 自定义质量评分规则
javascript
// 质量评分系统
const qualityRules = {
hasTitle: 10, // 有标题
hasTags: 10, // 有标签
hasLinks: 15, // 有内部链接
hasBacklinks: 10, // 有反向链接
wordCount: { // 字数要求
min: 100, // 最少 100 字
score: 15
},
hasHeadings: 10, // 有层级标题
hasImages: 5, // 有图片
lastModified: { // 最近修改
days: 90, // 90 天内
score: 10
}
};
function calculateScore(note, metadata) {
let score = 0;
// 实现评分逻辑...
return score;
}2. 智能修复建议
markdown
# AI 修复建议 Prompt
## 笔记内容
{{note_content}}
## 检测到的问题
{{detected_issues}}
## 输出要求
针对每个问题,提供:
1. 问题描述
2. 修复建议
3. 修复后的示例代码
4. 修复优先级(高/中/低)3. 批量修复脚本
javascript
// 批量修复格式问题
async function batchFix() {
const issues = await detectAllIssues();
for (const issue of issues) {
switch (issue.type) {
case 'missing_title':
await addTitle(issue.file);
break;
case 'broken_link':
await fixBrokenLink(issue.file, issue.link);
break;
case 'missing_tags':
await suggestTags(issue.file);
break;
}
}
}常见问题
Q1: 检查速度太慢?
解决方案:
javascript
// 分批检查,避免卡顿
async function batchCheck(files, batchSize = 10) {
for (let i = 0; i < files.length; i += batchSize) {
const batch = files.slice(i, i + batchSize);
await Promise.all(batch.map(checkFile));
// 等待一段时间再处理下一批
await new Promise(r => setTimeout(r, 1000));
}
}Q2: 误报太多怎么办?
解决方案:
yaml
# 创建忽略规则文件
# .obsidian/plugins/note-quality/.qualityignore
# 忽略的文件夹
ignore_folders:
- "Templates"
- "Archive"
# 忽略的标签
ignore_tags:
- "#draft"
- "#temporary"
# 忽略特定检查项
ignore_checks:
- "tags" # 不检查标签Q3: 如何生成改进趋势图?
dataview
TABLE
date as "检查日期",
score as "质量分数",
issues as "问题数量"
FROM "QualityReports"
SORT date DESC
LIMIT 12实际案例
案例:知识库季度维护
markdown
## 检查计划
**检查周期**:每季度一次
**检查范围**:全部笔记(约 500 篇)
**预计时间**:2-3 小时
## 执行流程
1. **自动化检查**(30 分钟)
- 运行断链检测
- 运行格式检查
- 生成初步报告
2. **AI 智能分析**(1 小时)
- 内容质量评分
- 关联建议
- 标签优化
3. **人工审核修复**(1-1.5 小时)
- 确认 AI 建议
- 修复关键问题
- 更新失效内容
4. **生成报告**(15 分钟)
- 统计改进数据
- 记录遗留问题
- 制定下期计划效率提升
| 指标 | 人工检查 | AI 辅助检查 |
|---|---|---|
| 时间 | 8+ 小时 | 2-3 小时 |
| 问题发现率 | 60% | 95% |
| 修复建议质量 | 依赖经验 | 标准化 |
| 可重复性 | 低 | 高 |