核心用法
Zettel Link 是一套面向 Zettelkasten(卡片盒笔记法)的语义工具链,通过 Python 脚本将 Obsidian 笔记转化为向量嵌入,支持三种工作模式:
1. 配置初始化 (config.py):选择本地 Ollama(默认 mxbai-embed-large)或远程 OpenAI/Gemini API,设定阈值、Top-K 等参数
2. 增量嵌入 (embed.py):仅处理变更文件,自动截断超长文本,清理失效缓存
3. 语义检索 (search.py):以自然语言查询,返回最相关的笔记
4. 关联发现 (link.py):计算笔记间余弦相似度,输出潜在连接建议
显著优点
- 多提供商灵活切换:本地隐私优先(Ollama)或云端精度优先(OpenAI/Gemini)
- 增量更新机制:基于文件修改时间,避免重复计算
- 幂等设计:所有脚本可安全重跑,不会破坏数据
- 结构化缓存:JSON 格式含元数据,便于版本追踪
潜在局限
- 环境依赖较重:需 uv + Python 3.10+,对非技术用户门槛较高
- 无内置可视化:输出为 JSON 文件,需配合 Obsidian 插件或外部工具查看
- 阈值调参敏感:
default_threshold=0.65可能产生过多/过少连接,需人工迭代 - 远程 API 成本:大规模知识库嵌入可能产生显著调用费用
适合人群
- 已使用 Obsidian 的 Zettelkasten 实践者
- 希望从「关键词搜索」升级为「语义搜索」的知识管理进阶用户
- 具备基础命令行操作能力的研究者、作家、终身学习者
常规风险
- API 密钥泄露:远程模式下需妥善管理 OPENAI_API_KEY / GEMINI_API_KEY
- 嵌入漂移:更换模型后历史缓存失效,需强制重建
- 本地端口暴露:Ollama 默认监听 11434,公共网络环境需配置防火墙