1 引入

今天和大家分享一个我自己制作的小工具,其中包含我认为非常实用、但在现有工具中找不到的功能。它的核心理念是更好地将自然语言大模型与 Obsidian 结合,同时还能相对节省调用成本。

在 Obsidan 中写文章常常会让大模型帮助修改文字,比如:润色、翻译、改错。

起初,我将需要处理的文本复制粘贴到大模型的聊天界面中,再加上提示词,得到模型的回应后,再将内容粘回到 Obsidian。

大约一年前,我开始使用 Obsidian 的 Text Generator 插件,把常用的提示词写入模板中,在需要的时候选择模板。不过也遇到了一些问题:有些模板需要经常调整,而有些操作并不在现有模板中,也不属于常见问题。每次修改模板非常麻烦,而且模板数量众多,每次定位模板也很容易打断思路。

于是,就想能不能直接输入提示词,并记忆使用过的提示词,并将高频使用和最近使用的提示词排列在最前面。这样一来,无需鼠标操作,只需在键盘上敲击两三个按键,就可以调用大模型了。

进而,想到利用大模型来生成文章的标签和摘要,将文章移动到合适的目录,让大模型帮我们做些事务性工作,也能很好的提升效率,于是把它们整合成一个工具集,并且发布到 Obsidian 三方插件社区。

下面介绍一下具体功能和用法。

2 调用大模型

在正式使用前,需要配置大模型相关信息,包括 URL、APIKey 和模型名称。你可以设置使用各种主流大模型,如 OpenAI、千里、DeepSeek 和 KIMI 等。

操作过程如下:

  • 选中需要处理的文字。
  • 通过 Ctrl+P 菜单,筛选 ExMemo 关键字,选择“ExMemo Tools: LLM 助手”。
  • 此时会看到提示词选择界面,展示了之前使用过的提示词,其中高频和近期使用的提示词会被优先显示。
  • 输入新的提示词或直接选择已有提示词,即可调用模型。
  • 生成的内容将被插入到选中文字之后。

有用户提议:某些较长的提示词可能需要在原有基础上进行编辑。因此,在设置界面中增加了一个选项:“提示词是否可编辑”。当设置为可编辑时,选中提示词后可以对其进行编辑,而调用大模型则需通过按钮来触发。

另外,建议在 Obsidian 的设置界面中,将该功能绑定为快捷键,以提高效率。

3 为文件选择合适的目录

在使用 Obsidian 三年之后,我已经积累了上千个文档以及上百个目录。每次写新文档时,都需要将其放置在一个合适的子目录中,这也是是一个很烦人的事务性工作。因此,借助大模型来帮助我们完成。

操作过程如下:

  • 打开需要处理的文档。
  • 使用 Ctrl+P 菜单,过滤 ExMemo 关键字,选择“ExMemo Tools: 为当前文件选择合适的目录”。
  • 在弹出框的菜单中选择目录,并点击确认按钮。大模型会将选中目录的所有子目录传给模型分析,以便为其选择最合适的位置。
  • 随后,对话框将列出最适合文件的三个目录;用户选择后,文件将自动移至该目录。

4 生成标签和文档总结

为文档生成标签是一项常见的事务性工作。一方面,很难迅速找到合适的词汇来创建标签;另一方面,标签文本上的细微差异,让后续通过标签对文章进行分类变得困难。总结文档的主要内容同样是一项重要且耗费脑力的任务,不过文档处理正是大模型的强项。

这里做了一些设置项,以提高工具的易用性并降低使用成本:

  • 在设置界面中,系统可自动提取已有文档中的高频标签作为备选标签,用户也可以手动设置备选标签。只在备用标签中找不到合适选项时,工具才会自行生成标签。
  • 用户可设置生成文档总结的提示词,从而对总结的长度和风格进行限制。
  • 大模型处理长文档时会产生更高的费用,而多数情况下,生成总结和标签并不需要文档的全部内容。在设置中,用户可以设置当文件超过限定长度时,可截取其开头、文件的首尾部分以及标题附近的文字进行处理,以节约成本。
  • 如果文件中已经包含标签和总结,用户可设置不再重复调用大模型处理。

操作过程如下:

  • 首先,对上述内容进行设置。
  • 打开需要处理的文档。
  • 使用 Ctrl+P 菜单,过滤 ExMemo 关键字,然后选择“ExMemo Tools: 生成元数据”选项。
  • 生成的元数据将被添加到文件的开头部分。

此外,建议将此功能与 CMenu 搭配使用,将“生成元数据”的选项加入悬浮菜单中,只需直接点击,即可轻松添加元数据,非常方便。

5 后记

ExMemo 工具集是一个开源项目,旨在帮助用户将所有的文档、记录、视频、音频和网页收藏统一管理,并存储在用户自己的服务器上,从而不受制于各平台的限制;并可以通过微信、浏览器插件、Obsidian 插件各种方式与它交互。通过大模型的支持,扩展个人能力;更好地与自己的数据进行互动;有一天系统会很懂你,同时又不被他人窥视。

ExMemo 工具集在 Obsidian 插件还做了 ExMemo Client(可在 Obsidian 三方社区下载),主要解决了 Obsidian 文档无法多端同步的问题。

更多功能正在设计和实现中,待到比较满意时再与大家分享。

6 相关资源

  • 工具已开源,源码
    • https://github.com/exmemo-ai/obsidian-exmemo-tools/
  • 帮助文档
    • https://github.com/exmemo-ai/obsidian-exmemo-tools/blob/master/README_cn.md

如果觉得好用,请帮我点亮小星星⭐。