用Obsidian打造一个强大的写作辅助系统

用Obsidian打造一个强大的写作辅助系统

Github:
https://github.com/zazaji/obsidian-SenGener/

用法

在写作的过程中,当文思枯竭的时候,按下快捷键(可以定义自己的快捷键),然后AI自动根据之前写的内容,自动给出提示。同时,在右侧边栏还能根据上句话,在文档库中进行全文检索,找到相应的内容。
作为一个熬夜码字的朋友,是不是觉得有种心动的感觉?

我最近用obsidian来作为管理笔记和写作的工具,所以我基于obsidian开发了这个插件。不过插件只是一方面,更重要的是后台有一个较大的全文检索服务加上一个人工智能训练后的模型。
要完全实现需要obsidian + 定制的插件 + AI数据服务。

实现具体过程

  • 从部分网站抓取了一些工作报告、百科、党建、新闻等数据。
  • 使用深度学习(我是用的是GPT2),训练了几个专业的模型,不同的模型,如写报告类、新闻类,效果和应用场景不同。当然,写诗填词也不在话下。
  • 同时将这些数据做成全文检索,并将检索和模型做成数据服务。
  • 使用obsidian的时候,通过快捷键调用数据服务,实现推荐列表和参考关联文档功能。
  • 目前我搭建了一个示例服务,基本做到开箱即用,方便大家免费测试使用。

使用方法

  • 下载安装obsidian。
  • 创建一个文库,并指定路径。
  • 进入该文库,并启用第三方插件模式。
  • 进入到文库所在路径,将github上的main.js、style.css放入.obsidian/plugins/obsidian-SenGener文件夹。
  • 如果觉得以上操作复杂了,可采用最简单的方式,将github上的test.zip下载解压后,用obsidian打开,然后启用第三方插件模式。
  • 在第三方插件中启用该插件。并配置快捷键。默认快捷键是ctrl + 引号。也可以选择不同的创作模型,调整其他参数。
  • 创建一个文件,开始写作。

参数介绍

  • API address: 服务地址,填写自己的API地址。我搭建了一个示例服务,里面包含了英文模型、对话模型、工作报告模型、腾讯welm模型。地址:https://fwzd.myfawu.com/

  • Type: 可以选择不同的创作模型。

  • token: 用于登录腾讯welm的token。可自己去腾讯welm官网申请。

  • enable searching: 是否启用全文检索。目前为report模型提供全文检索。

  • Number of choices: 多少个候选项。不要选太多,影响速度。

  • max length: 一次产生的文字(英语是词)的数量。不要选太多,影响速度。

示例:

  • 英文写作
    本来GPT2就是基于英文设计的,用在这里效率不是一般的高。分分钟一篇文章。

  • 写一个英文小故事,不在话下

  • 工作总结胸有成竹

  • 新闻稿件下笔有神

  • 吟诗作赋一挥而就

  • 八股小文信手拈来

  • 0
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
好的,我可以为您提供一些思路。 首先,您需要安装obsidian插件工具包和TypeScript支持。然后,您可以创建一个新的TypeScript项目,并添加obsidian API的类型定义。 接下来,您可以创建一个类来处理提醒逻辑。在这个类中,您可以使用obsidian API来获取当前笔记和设置提醒。您可以使用JavaScript的定时器功能来周期性地触发提醒。 以下是一个简单的示例代码: ``` import { Plugin } from 'obsidian'; export default class ReminderPlugin extends Plugin { intervalId: number; async onload() { console.log('Reminder plugin loaded'); // Set reminder interval to 1 minute this.intervalId = setInterval(() => { this.remind(); }, 60000); } async onunload() { console.log('Reminder plugin unloaded'); // Clear reminder interval clearInterval(this.intervalId); } async remind() { // Get current note const currentNote = this.app.workspace.getActiveFile(); // Show reminder message this.app.workspace.showNotice( `Don't forget to review ${currentNote?.basename}!`, 5000 ); } } ``` 在这个例子中,我们创建了一个名为ReminderPlugin的类,并在其中实现了周期性提醒的逻辑。我们在插件加载时设置了提醒间隔,并在插件卸载时清除了定时器。我们使用了`getActiveFile`方法来获取当前笔记,并使用`showNotice`方法来显示提醒消息。 请注意,这只是一个简单的示例,您需要根据您的需求进行更多的定制和优化。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值