让词库的灵感流入笔尖 —— Obsidian 写作补全插件
InFlow 是一枚 Obsidian 桌面插件。它把你积累的词库(角色、场景、台词、镜头术语、单词……)变成写作时的即时联想,并把场景标题、角色行等常用格式做成"输入一个符号即可插入"的模板菜单。
inflow | 当前版本:1.0.1 | 要求:Obsidian ≥ 0.15.0(仅桌面端)| 能力 | 说明 |
|---|---|
| 词库智能补全 | 输入即联想词库词条:支持中文、英文、拼音首字母(lf → 林风)、描述文字四路匹配;有精确/前缀/模糊子序列多层召回 |
| 上下文感知 | 识别 ## 场景标题 / #### 角色名 / 动作行,只推当前语境相关的词;自定义类别永远可用 |
| 格式模板 | 给常用文本起名字分组,输入触发符(默认 @,可分组专属)弹出菜单一键插入;模板支持变量、$0 光标定位、多行与转义 |
| 场景自动编号 | {episode} {scene} 变量自动数集与场次;一键重编号当前集 / 整个文档 |
| 词库彩条 | 编辑器左缘每个词库一条彩条,点击即切换;每条可独立配色、配图标 |
| 时间戳工具 | 光标插时间戳、写 frontmatter、按时间戳新建笔记(3 条命令) |
| 全输入框覆盖 | 补全不止编辑器:任何 input / textarea / 富文本框都能用(Obsidian 标题栏、搜索框等) |
| 自适应排序 | 记录你的选择频次,常用词自动上浮(MRU) |
社区商店上线前采用手动安装:
inflow(内含 main.js、manifest.json、styles.css)。<你的库>/.obsidian/plugins/inflow/(没有 plugins 目录则先开启第三方插件功能生成)。npm install # 安装依赖
npm run build # 产物 main.js(production)
npm run dev # 监听式开发构建
npm run typecheck # tsc --noEmit 类型检查
首次配置(约 2 分钟)
词库),用命令面板「创建新词库文件」生成示例骨架,或手写(格式见下)。词库。词库名(条数) 即成功。每天写作时
↑↓ 选 → Enter 插入;@ → 弹出格式模板菜单;词库文件长这样(一个 .md = 一个词库,文件名即词库名):
# 我的词库
## 角色
主角|林风|普通少年,意外获得修仙传承
## 景别
特写|特写|肩部以上,强调内心活动
## 英语单词
happy|happy|快乐的
词条支持三种写法:词条 / 显示|插入 / 显示|插入|描述;## 类别标题可自由命名(中英别名会自动归一,见使用文档附录);### 小标题并入父类别。
命令面板中均以 InFlow: 前缀显示,快捷键可在"设置 → 快捷键"中修改:
| 命令 | 默认快捷键 | 说明 |
|---|---|---|
| 打开模板菜单 | — | 弹出全部分组的模板菜单 |
| 插入模板 · 直达 1–4 | — | 直达某分组菜单(最多 4 条,在分组管理中配置) |
| 插入角色对话 | Ctrl/Cmd+Shift+D |
光标处插入 对话内容 |
| 重新编号当前集场景 | — | 重排光标所在"第 N 集"的场景号 |
| 重新编号整个文档 | — | 所有集各自从 1 重排 |
| 切换词库 / 打开词库选择器 | — | 弹出词库切换器 |
| 重新加载词库 | — | 重载全部词库并重建补全索引 |
| 打开词库文件夹 | — | 在文件树定位词库目录 |
| 创建新词库文件 | — | 生成示例词库骨架 |
| 插入时间戳 | Ctrl/Cmd+Shift+;、Ctrl/Cmd+Alt+T |
插入 YYYY-MM-DD-HH:mm |
| 写入时间戳到 frontmatter | — | 写 created / updated |
| 用时间戳创建新笔记 | — | 新建带时间戳名的笔记 |
| 调试索引状态 | — | 弹窗查看索引/类别统计(排查用) |
| 内容 | 位置 |
|---|---|
| 词库 | 词库文件夹内的 .md 文件(自行指定,如 词库/) |
| 格式模板 | <vault>/.inflow/formats.json(随库备份) |
| 插件设置 / 使用频次 / 彩条样式 | <vault>/.obsidian/plugins/inflow/data.json |
| 插件本体 | <vault>/.obsidian/plugins/inflow/ |
备份与迁移:复制词库文件夹 + .inflow/formats.json 即可;模板配置也可在"设置 → 格式模板 → 高级"里导出 / 导入 JSON。
input 事件与 Obsidian editor-change,一套建议管线覆盖 CM6 编辑器与所有第三方输入框;对插件自身弹窗/通知区域做排除。Intl.Collator('zh-Hans-CN-u-co-pinyin') + 代表字表二分定位首字母,无内置汉字拼音表;ICU 不支持时自动降级不报错。{date} {datetime} {selection} {scenetype} {episode} {scene} 变量 + $0 / ${0:默认词} 光标控制 + \{ \} \$ \\ 转义;未知变量原样输出不吞字。formats.json v4 无内置结构(升级永不注入)。MIT