
[!NOTE] 在前两期中,老周带大家部署了 DeepSeek TUI 并掌握了“黄金洗稿指令”。但如果手头有几十甚至上百个杂乱的历史文档,手动复制粘贴依然会累断手。今天我们进入【自动化实战篇】:用不到 30 行的代码,给 Windows 和 Mac 写一个“全自动清洗管道”。你只需把乱七八糟的文件往文件夹里一丢,AI 就会在后台自动洗稿并吐进你的 Obsidian 收件箱,真正实现“无脑搬家”!
1.管道设计:自动化“知识回收站”的工作原理
2.Windows 实战:用 PowerShell 打造一键式全自动清洗脚本
3.Mac/Linux 实战:用 Shell + Python 打造无依赖的清洗脚本
4.极客进阶:如何让脚本在后台自动监控、默默干活
5.结语:你的 AI 专属私人知识库正式启航!
我们要在电脑里建立一个全自动的“生产线”。它的运行逻辑非常简单:
[📂 99_RawNotes (待清洗区)] │ ▼ (脚本自动扫描并读取) [🤖 调用 DeepSeek API 接口进行智能清洗] │ ├─► (清洗完成的 md 文件) ──► [📂 00_Inbox (Obsidian 收件箱)] │ └─► (处理完毕的原文件) ──► [📂 99_Backup (备份归档区)]
在你的 Obsidian 本地库目录下(比如 D:\My_Vault),新建以下三个文件夹:
1.📂 99_RawNotes:用来堆放你所有还没整理的、乱七八糟的 .txt 文本。
2.📂 99_Backup:用于存放已经被 AI 处理过的历史原件,防止误删或需要二次比对。
3.📂 00_Inbox:(上一期已建)作为 Obsidian 中干净的接收邮箱。
Windows 用户不需要额外下载任何开发工具,系统自带的 PowerShell 就能胜任。
1.在你的电脑桌面或者任意文件夹中,右键新建一个文本文档,命名为 clean_notes.ps1(注意:后缀名必须是 .ps1,而不是 .txt)。
2.右键点击它,选择“编辑”或者用记事本打开,复制并粘贴以下代码:
# ======================== 配置区域 ========================
$rawDir="D:\My_Vault\99_RawNotes"
$inboxDir="D:\My_Vault\00_Inbox"
$backupDir="D:\My_Vault\99_Backup"
$apiKey=$env:DEEPSEEK_API_KEY
# ==========================================================
if(-not$apiKey){
Write-Host"错误: 未找到 DEEPSEEK_API_KEY 环境变量,请先在系统环境变量中设置!"-ForegroundColor Red
Pause
exit
}
# 获取待清洗的文件列表
$files=Get-ChildItem-Path $rawDir-Filter *.txt
if($files.Count-eq0){
Write-Host"没有发现待处理的 .txt 文件,管道处于等待状态。"-ForegroundColor Yellow
exit
}
foreach($filein$files){
Write-Host"正在利用 DeepSeek 智能清洗: $($file.Name) ..."-ForegroundColor Cyan
$content=Get-Content-Path $file.FullName-Raw
# 构造 API 传送包
$body= @{
model ="deepseek-chat"
messages =@(
@{ role ="system"; content ="你是一个专业的 Obsidian 知识整理专家。请帮我将混乱的原文本重构成排版工整、使用 Markdown 级标题的干净文档。在最顶端加上 YAML Front Matter,格式必须为:`---\ntitle: [自动短标题]\ntags: [提取2个核心分类]\nstatus: inbox\n---`。只输出转换后的 Markdown,不要有任何多余的废话。"},
@{ role ="user"; content =$content}
)
temperature =0.3
}|ConvertTo-Json-Depth 5-Compress
try{
# 发送请求到 DeepSeek 官方接口
$response=Invoke-RestMethod-Uri "https://api.deepseek.com/chat/completions" `
-Method Post `
-Headers @{"Authorization"="Bearer $apiKey";"Content-Type"="application/json"} `
-Body ([System.Text.Encoding]::UTF8.GetBytes($body))
$cleanContent=$response.choices[0].message.content
# 写入 Obsidian 的 Inbox
$cleanFileName=[System.IO.Path]::ChangeExtension($file.Name, ".md")
$cleanPath=Join-Path-Path $inboxDir-ChildPath $cleanFileName
[System.IO.File]::WriteAllText($cleanPath, $cleanContent, [System.Text.Encoding]::UTF8)
# 将原件归档至备份区
Move-Item-Path $file.FullName-Destination $backupDir-Force
Write-Host"【成功】已生成 $cleanFileName 并归档原件!"-ForegroundColor Green
}catch{
Write-Host"【失败】处理文件 $($file.Name) 时发生错误: $_"-ForegroundColor Red
}
}
1.如何运行:
o将你以前的脏笔记丢入 99_RawNotes 文件夹中。
o右键点击 clean_notes.ps1,选择 “使用 PowerShell 运行”。
o看着终端窗口闪过绿色的成功提示,回到你的 Obsidian,你就会发现它们已经自动躺在 00_Inbox 中,排版精美!
Mac 用户可以直接使用 Shell 脚本。为了避免安装复杂的 jq 等 JSON 解析工具,谷先生用 Python 来充当“解析器”(Mac 自带 Python 3 环境,无需额外安装)。
1.打开终端,新建一个脚本文件:
nano clean_notes.sh
2.粘贴以下代码:
#!/bin/bash # ======================== 配置区域 ======================== RAW_DIR="/Users/你的用户名/My_Vault/99_RawNotes" INBOX_DIR="/Users/你的用户名/My_Vault/00_Inbox" BACKUP_DIR="/Users/你的用户名/My_Vault/99_Backup" API_KEY=$DEEPSEEK_API_KEY # ========================================================== if [ -z "$API_KEY" ]; then echo "错误: 未找到 DEEPSEEK_API_KEY 环境变量!" exit 1 fi for file in "$RAW_DIR"/*.txt; do [ -e "$file" ] || { echo "暂无待处理文件"; exit 0; } filename=$(basename "$file") echo "正在利用 DeepSeek 智能清洗: $filename ..." # 转换文本格式以符合 JSON 转义 content=$(cat "$file" | python3 -c 'import json,sys; print(json.dumps(sys.stdin.read()))') response=$(curl -s https://api.deepseek.com/chat/completions \ -H "Content-Type: application/json" \ -H "Authorization: Bearer $API_KEY" \ -d "{ \"model\": \"deepseek-chat\", \"messages\": [ {\"role\": \"system\", \"content\": \"你是一个专业的 Obsidian 知识整理专家。请帮我将混乱的原文本重构成排版工整、使用 Markdown 级标题的干净文档。在最顶端加上 YAML Front Matter,格式为:---\\ntitle: [自动标题]\\ntags: [提取2个分类]\\nstatus: inbox\\n---。只输出 Markdown 代码,不要有任何多余的废话。\"}, {\"role\": \"user\", \"content\": $content} ], \"temperature\": 0.3 }") # 利用 Python 提取并保存返回的 Markdown 内容 clean_content=$(echo "$response" | python3 -c 'import json,sys; print(json.load(sys.stdin)["choices"][0]["message"]["content"])') new_filename="${filename%.*}.md" echo "$clean_content" > "$INBOX_DIR/$new_filename" # 归档原件 mv "$file" "$BACKUP_DIR/" echo "【成功】已生成 $new_filename 并归档原件!" done
1.保存退出后,在终端赋予其运行权限:
chmod +x clean_notes.sh
2.运行 ./clean_notes.sh 即可开启全自动清洗。
每次都手动点击运行还是不够爽。真正的极客应该实现“无感搬家”。
1.在 Windows 搜索框输入 “任务计划程序” 并打开。
2.点击右侧的 “创建基本任务”,命名为 DeepSeek_Clean_Notes。
3.触发器选择 “每天” 或 “登录时”。
4.操作选择 “启动程序”:
o在 程序或脚本 中输入:powershell.exe
o在 添加参数 中输入:-WindowStyle Hidden -File "D:\你的路径\clean_notes.ps1"
5.隐藏黑窗口:点击保存。现在,PowerShell 脚本会每天或者在你每次开机登录时,完全在后台静默运行,自动监控并清洗你的历史资产!
至此,《几乎不用学!用 DeepSeek + Obsidian 零门槛打造“听得懂人话”的私人知识库》系列的三篇教程已全部完结:
·第一期:我们跳出浏览器,用 TUI 极客面板 给系统装上了随时待命的 AI 终端。
·第二期:我们打通了 Obsidian 的基本结构,学会了让 DeepSeek 自动挖掘并织出双链网络。
·第三期:我们用一段精美的代码,搭建了全自动的洗稿流水线,让尘封多年的陈年随笔一秒复活。
你的笔记不再是冷冰冰的“坟墓”,而是在 AI 辅助下能够不断自我生长、相互连接的第二大脑。
开始享受你的私人知识库吧,我们下个系列再见!