我一直很喜欢 Typora 的写作体验:打开 Markdown,就能直接开始写,界面也足够安静。
但写东西时,总有一些操作需要跳出去。想让 AI 帮忙调整一段话,要切到聊天窗口;想保存一个版本,要打开终端;写完想放进 Notion,又得复制粘贴。来回切几次,刚才想写的下一句话就忘了。
于是,我给自己的 Typora 做了一套小插件,又花了一些时间,把它们慢慢改成了现在的样子:淡紫色的小卡片、圆角按钮,以及一只陪着写字的 Shion。
这篇文章记录一下这套插件的外观和使用方式。文中展示的是当前本机的 0.1 开发版,截图来自此前的临时测试文档,AI 界面使用测试模型演示。
先认识一下 Shion
Shion 是插件里的小助手:银紫色短发、猫耳,平时安静地待在面板里,生成内容时会有轻轻的等待动画,完成后也会给出反馈。

我希望它看起来可爱,同时也能长时间使用。所以配色以浅紫和留白为主,边框、阴影都比较轻;常用操作放在直接能看到的位置,模型设置和本地连接这类低频选项则收起来。
整套工作台分成四个独立插件:
| 插件 | 我用它做什么 |
|---|---|
| AI 写作 | 根据具体需求处理文字,生成后先预览 |
| 文档模板 | 新建日报、方案和实验记录 |
| Git 操作 | 查看改动、保存版本,按需推送 |
| Notion 同步 | 上传、拉取笔记,并处理图片和附件 |
四个插件共用本地服务和配置,但可以分别启用。只需要模板或 Git,也可以不配置 AI 和 Notion。
从两个固定按钮,改成一句具体需求
最开始,AI 功能是常见的“润色”和“续写”。用着用着,我发现这两个词还是太笼统。
同样是润色,有时我想让文字更自然,有时需要保留术语、补充解释,有时只是想把一大段拆成更容易读的几段。相比反复给按钮增加选项,直接说出需求更方便。
现在的入口叫 Shionの帮助。
在正文中选中文字,按 Alt + 1,就会打开帮助卡片。选中的内容会作为参考保留下来,下面可以直接填写要求,例如:
把这段说明写得更自然,保留命令、技术事实和 Markdown 结构,不要额外扩写。
输入框下方还放了“润色表达”“继续写作”“精简文字”“扩写细节”几个标签。点击标签只是填入需求,可以接着修改;点击“交给 Shion”或按 Ctrl + Enter 才开始生成。
完整流程就是:
选中文字 → 描述需求 → 生成预览 → 检查或修改 → 替换或插入。
预览中的文字可以继续手工编辑,再决定替换选区,还是插到选区后面。没有选中文字时,也可以打开帮助:它会参考光标前最多 8000 个字符,只提供插入光标处的操作。空白文档则可以直接凭需求开始写。
右键菜单也保留了入口:Shionの灵感屋 → Shionの帮助 / Shionの总结 / Shionの整理格式。
整理格式适合处理标题、空行、列表和表格排版。提示词会要求保留原文事实、链接、代码和公式,不过生成结果仍然要自己看一遍,再应用到正文。
模型名称也要看得见
写作时,我想知道这一段究竟交给了哪个模型。
所以卡片里加入了模型标签,名称前面带对应图标:生成时显示“正在使用”,完成后保留“本次使用”的模型。无法识别的自定义模型会使用通用星星图标。
模型图标和 Shion 插画都随插件打包,打开界面不需要额外请求图片服务。Shion 的插画由 AI 生成,呼吸、等待、完成等效果通过界面动画实现。
还有一个我很在意的区别:等待动画只表示请求尚未完成,并不表示模型正在逐字流式输出。
四组快捷键,少一点找菜单的时间
日常使用时,我更喜欢选中文字以后直接按键。
| 快捷键 | 功能 |
|---|---|
| Alt + 1 | 打开 Shionの帮助,带入当前选区 |
| Alt + 2 | 打开文档模板 |
| Alt + 3 | 打开 Git 操作 |
| Alt + 4 | 打开 Notion 同步 |
| F1 | 打开社区插件命令面板,搜索插件名称 |
| Ctrl + Enter | 在帮助需求框中开始生成;macOS 使用 ⌘ + Enter |
| Esc | 关闭当前写作窗口 |
Alt + 1~4 都只是打开入口。是否调用模型、提交文件或上传笔记,仍由面板中的具体操作决定。在面板输入框、代码输入组件和输入法组字期间,也会避免误触这些快捷入口。
这些组合键通过社区核心注册,可以在它的快捷键设置里调整。如果和自己的桌面快捷键冲突,换成习惯的组合即可。
模板、Git 和 Notion,也用同一套界面
给新笔记一个起点

按 Alt + 2 打开模板面板,选择模板、填写文件路径和标题,就能新建笔记。
目前有日报、方案和实验记录,比较贴近我平时的使用习惯。模板默认从当前文档所在目录起步,遇到同名文件会停止,不覆盖原来的笔记。
把写作过程存进 Git
Git 面板可以查看状态和差异、提交当前文件或项目文件,也可以手动推送当前分支。仓库设置单独收起来,常用操作按查看、提交和推送分区。
我的使用顺序通常是:保存笔记 → 查看改动 → 写提交说明 → 提交 → 需要时再推送。
推送前会显示目标地址、分支和提交。当前版本还没有图形化拉取与合并,远程存在尚未合入的更新时,需要先处理好分支关系。
让本地笔记和 Notion 接上

按 Alt + 4 打开 Notion 同步,可以新建 Notion 页面并上传当前笔记,也可以对已有绑定执行上传、拉取或双向判断。
这里容易混淆的两个功能,需要分开说:
- 双向同步:手动执行一次,比较两端相对上次成功同步后的变化,再决定方向。
- 目录自动上传:开启后监测本地笔记,把新建和后续保存的修改上传;云端修改仍需手动拉取。
两端同时修改、内容又不一致时,会保留冲突副本并停止覆盖。首次没有同步基线,也需要明确选择初始化方向。
图片和附件也补上了:上传时带上正文引用的本地资源;拉取 Notion 新增或替换的托管资源时,下载到笔记旁的 笔记名.assets/notion/,再转换成本地引用。重复同步会复用已下载资源,已有不同内容的文件不会直接覆盖。
复杂 Notion 块、数据库、Mermaid、HTML 和双链仍有兼容边界。现阶段更适合专门用于同步的普通 Markdown 页面。
美化里最费时间的,其实是小地方
做完第一版卡片后,我又反复调整了一些细节。
比如参考内容区的滚动条,最初黑色轨道很突兀,后来改成了透明轨道和细圆角淡紫滑块;窗口靠近右下角时,右键子菜单需要向左、向上避让;窗口较小时,内容可以内部滚动,关键按钮仍要能点到。
动画也跟着操作流程走:卡片入场、需求与预览切换、等待、结果出现和关闭,都有短暂过渡。可以单独关闭 Shion 或动画,系统启用“减少动态效果”时也会取消动效。
还有一些不显眼、但会影响日常使用的处理:重复点击不能重复发送;停止等待后要保留需求;关闭卡片后的迟到结果不能重新出现;生成期间如果正文或选区发生变化,就拒绝直接应用,避免替换错位置。应用结果后,也保留 Typora 原生撤销。
这些细节慢慢补齐,插件才开始有了可以每天用的感觉。
当前版本与安装说明
项目名是 Typora Notion Workbench,目前仍为 0.1 开发版。本文按本机当前版本整理,其中快捷键和滚动条等近期调整尚未包含在本地最新提交 2b54f66 中,获取源码时需要留意版本差异。
本机验证环境为 Linux、Typora 1.14.9 和社区核心 2.10.70。运行依赖 Node.js 24+、pnpm 10、Git,以及 Typora Community Plugin;Windows 和 macOS 尚未做 GUI 验证。
安装分成两部分:在 Typora 中安装社区插件核心及所需插件,再配置并启动本地服务。AI 和 Notion 的账户信息按需配置,模型接口、密钥和模型名称也可以在 AI 写作面板中填写。文件操作仅在明确配置的笔记根目录中执行。
此前开发记录显示,最近一轮通过了 82 项测试和 42 项界面检查。AI 交互检查主要使用离线模型替身;另有真实模型文本请求及 Notion 专用测试页的上传、拉取、冲突和附件下载验证。这些结果对应各自测试范围,复杂文档和其他系统还需要继续验证。
现在,我最常用的操作已经变成:选中一段文字,按 Alt + 1,告诉 Shion 想怎么改。确认结果、继续写,最后再把笔记存进 Git 或同步到 Notion。
有一只小助手待在编辑器旁边,写东西这件事,也多了一点想打开它的理由。