恐龙工具箱

这是一只恐龙,路过的人必须夸它可爱。

「恐龙工具箱」是思源笔记的一款插件。

更新

实现了一版仪表盘功能,主要为日记设置,兼容移动端。目前配置不大傻瓜化

支持 siyuan://plugins/siyuan-hqweay-go/open?index=0​链接打开,index表示配置中的第几个,下标从 0 开始。

配合插件内的移动端导航可一键打开。

image

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
[
{
//配置名
name: "所有文档!",
//主页总数 label
indexLabel: "文档数量",
//进入时是否加载列表
showEntries: true,
//进入时是否加载图片
showMedia: true,
//控制是否展示 主统计信息
showMainStatics: true,
//控制是否展示 那年、那月、那周今日
showOnThisDay: true,
//控制是否展示 热力图
showHeatmap: true,
//控制是否展示 自定义卡片
showcustomCards: [
{
id: "random",
type: "text",
label: `select blocks.* from blocks where type = 'p' order BY RANDOM() LIMIT 1`,
onClick: () => {
loadCards("random").then((res) => {
customCards = customCards.map((card) => {
const matchedRes = res.find((item) => item.id === card.id);
return matchedRes ? matchedRes : card;
});
window.diaryTools.updateCustomCards(customCards);
});
},
},
{
type: "text",
label: `select blocks.* from blocks where type = 'p' order BY RANDOM() LIMIT 1`,
onClick: (card) => {
if (window.diaryTools.isMobile) {
window.diaryTools.openMobileFileById(window.diaryTools.plugin.app, card.labelBlocks[0]?.id);
} else {
window.open(`siyuan://blocks/${card.labelBlocks[0]?.id}`);
}
},
},
{
type: "icon-stat",
label: "距离 2026 年还有",
number: () => {
const targetDate = new Date("2026-01-01").getTime();
const currentDate = new Date().getTime();
const timeDiff = targetDate - currentDate;
const daysDiff = Math.ceil(timeDiff / (1000 * 60 * 60 * 24));
return daysDiff;
},
text: "天",
},
],
//主SQL
mainSQL: `select blocks.* from blocks where type = 'd'`,
//可选:图片SQL。若为 null,则通过 mainSQL 关联查询
imgSQL: null,
},
{
name: "🎲 随机!",
indexLabel: "随机文档",
showEntries: true,
showMedia: false,
showMainStatics: true,
showOnThisDay: true,
showHeatmap: true,
mainSQL: `select blocks.* from blocks where type = 'd' ORDER BY RANDOM() LIMIT ${Math.floor(Math.random() * 51) + 50}`,
},
]

image

简要总结

  • 核心能力:

    • VoiceNotes 同步:设置页全量同步;界面加录音按钮,同步最近 20 条语音笔记。文档菜单、块菜单新增「同步至 VoiceNotes」,支持以文档/块为单位将文本内容分享到 Voicenotes,支持修改。
    • 快捷添加属性:块菜单一键加属性,预置若干转换属性(表格/导图/时间线/看板/Tab 等视图切换)。支持注册到 slash。
    • 便利贴样式:启用代码片段「便利贴」,用 custom-f 属性套用多种便签风格(浅/深色、渐变、金边等),可与「快捷添加属性」联动。
    • 日记工具:F10 小窗写今日日记;slash 命令一键创建任意日期日记并插入引用;移动端导航支持前进后退、今日、随机、上下文档切换、可配置跳转、可快添到数据库;获取天气并插入属性;仪表盘。
    • 阅读与标注:工具栏支持「标注并复制块引/文本块引」;文档标题下展示自定义属性值;可将当前文档标注批量提取到新文档(可带上下文与反向引用)。
    • 随机题头图:支持必应 API / 自定义随机图链接 / 本地文件夹,右键「随机」替换题头图。
    • 发送到:块菜单把选中内容分享至自定义链接(示例:Google 搜索、ChatGPT 带查询参数、快捷指令到提醒事项);Script 分享卡片支持模板与样式。
    • 中文排版优化:全角/半角、混排、图片居中与宽度调整;可选自动执行思源「排版优化」「网络资源本地化」(有数据损坏风险提示)。
    • 边栏联动:按文档打开自动开/关左右边栏与停靠栏(适配长表格/数据库视图)。
    • 书签与随机浏览:快捷加书签;右上角随机跳转(也可固定跳到某块/文档,通过 SQL 配置)。
    • 粘贴预处理:自动获取链接标题转 Markdown 链接;PDF 矩形标注粘贴转「图片 📌」等样式(RemNote 风格) ,支持粘贴为 OCR 文本 ;图片自动缩小并居中
    • 行内元素转换:链接 ↔ 引用、去格式(加粗/标注/标签/斜体 → 文本)、清理文档内与星标引用。
    • 创建时间展示:为指定 ID 文档(及其大纲)子元素右上角显示创建时间。
    • 左上边栏扩展:新增固定打开常用链接/文档的图标(如一键打开日记流);支持配置随机浏览。
    • Docky:迁移自 sy-f-misc/src/func/docky.ts,按个人习惯优化。
    • OCR:支持使用 MacOS Vision OCR、支持 umiOCR(感谢OceanPress_siyuan_plugin)。
    • 实验:内置代码片段合集 Demo(隐藏按钮、便利贴样式、多行标签栏、图片居中……)。
  • 依赖与致谢:多处功能引用社区插件与主题资源(Achuan-2、frostime、suka233、wilsons、voicenotes-sync 等) 。

你可以立即可用的三件事:

  1. 在插件设置里配置「快捷添加属性」与便利贴 custom-f 值,实现列表一键转导图/看板并加便签样式。
  2. 绑定 F10 小窗日记 + slash「创建日记引用」,配合移动端导航快速写/跳日记。
  3. 启用「粘贴预处理」和「行内元素转换」,改善阅读摘录与知识清理效率。

仪表盘

实现了一版仪表盘功能,主要为日记设置,兼容移动端。

image

OCR 功能

我的使用场景主要是 PDF 阅读在做矩形标注时,粘贴 OCR 文本。【在「粘贴时对数据处理」里开启】

建议搭配 CSS 使用:

1
2
3
4
5
6
7
8
9
div:has(> [data-type="file-annotation-ref"]) {
background-color: #e6f3ed;
border-radius: 8px;
padding: 16px;
}
div[data-type="file-annotation-ref"]{
color: #028f26;
padding-left: 30px;
}

image

其它

会在右上栏增加个按钮,方便对文档内的图片一键 OCR。

为图片的 context 菜单增加快捷复制 OCR 内容、用 OCR 内容替换图片的菜单。

image

image

日记相关工具

快捷小窗写日记 :🙏suka233/siyuan-knote

  • 支持全局快捷键(默认 F10)弹出一个小窗打开今日日记

    • image

slash 新增「cdn/创建日记引用」提供日历选择器快捷创建指定日期的日记并插入块引:🙏frostime/siyuan-plugin-kits(好用!)

  • image
  • image
  • image

获取天气并插入属性

在「日记相关工具」里开启:

image

image

获取成功后会将天气信息写入属性:

image

搭配「标题下展示文档自定义属性的值」效果:

image

移动端导航,方便移动端浏览

7F3FB2D0-82D1-450D-A8EC-4B395F487F98_1_201_a

快捷添加属性

块菜单中增加快捷添加属性;属性可在插件设置里配置。

image

现在支持一键赋值多个属性,以@开头命名的配置会被注册进 slash 命令。

默认值:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
[
{
name: "恢复转换效果",
key: "f",
value: "",
enabled: true,
},
{
name: "转换为表格",
key: "f",
value: "bg",
enabled: true,
},
{
name: "转换为导图",
key: "f",
value: "dt",
enabled: true,
},
{
name: "转换为时间线",
key: "f",
value: "timeline",
enabled: true,
},
{
name: "转换为看板",
key: "f",
value: "kb",
enabled: true,
},
{
name: "转换为Tab",
key: "f",
value: "list2tab",
enabled: true,
}
];

效果:

image

默认提供了 5 个属性,支持列表转为其它视图:🙏Achuan-2/siyuan-themes-tsundoku

  • 默认

    • image
  • 表格

    • image
  • 导图

    • image
  • 时间线

    • image
  • 看板

    • image
  • Tab

    • image

可选(便利贴样式)🙏GitHub - chenshinshi/sy-blt

在代码片段合集里启用「便利贴」,会为思源注入便利贴样式的 CSS,为块添加自定义属性 custom-f 可启用,支持值:

image

1
2
3
4
5
6
7
8
9
10
11
"qsr": "格纹复古",
"qsy": "浅色黄",
"qsg": "浅色绿",
"qsb": "浅色蓝",
"ssr": "深色红",
"ssy": "深色橙",
"ssg": "深色绿",
"ssb": "深色蓝",
"jb": "渐变黄",
"ay": "棕顶栏",
"ayx": "金边",

image

image

可搭配「快捷添加属性」使用,配置:

1
2
3
4
5
6
7
8
9
10
11
12
13
[
{ name: "格纹复古", value: "qsr", key: "f", enabled: true },
{ name: "浅色黄", value: "qsy", key: "f", enabled: true },
{ name: "浅色绿", value: "qsg", key: "f", enabled: true },
{ name: "浅色蓝", value: "qsb", key: "f", enabled: true },
{ name: "深色红", value: "ssr", key: "f", enabled: true },
{ name: "深色橙", value: "ssy", key: "f", enabled: true },
{ name: "深色绿", value: "ssg", key: "f", enabled: true },
{ name: "深色蓝", value: "ssb", key: "f", enabled: true },
{ name: "渐变黄", value: "jb", key: "f", enabled: true },
{ name: "棕顶栏", value: "ay", key: "f", enabled: true },
{ name: "金边", value: "ayx", key: "f", enabled: true }
]

VoiceNotes 笔记同步:🙏voicenotes-sync

  • Voicenotes: AI Notes and Meetings
  • 设置界面可进行全量同步,右上角添加一个录音图标,点击可同步最新的 20 条笔记。
  • 文档菜单、块菜单新增「同步至 VoiceNotes」,支持以文档/块为单位将文本内容分享到 Voicenotes,支持修改。从思源同步至 Voicenotes 的数据会被打上「siyuan」标签,在同步 Voicenotes 至思源时被排除。先不考虑数据更新回来的情况——以思源数据为准。

阅读帮助

toolbar 支持标注并复制块引

  • 标注并复制块引
  • 标注并复制 Text* 块引
  • 标注并复制 * 块引
  • image

新增在文档标题下展示自定义属性的值

  • image
  • image
  • image

标题转换

  • 文档菜单打开事件增加标题转换

    • image

随机题头图:🙏【教程】把随机题头图换成自己的图片,让思源笔记更加赏心悦目 - 链滴

  • 使用:

    • 1)配置;

      • 目前必应的 API 可正常使用

        • image
        • 可以配置一个随机返回图片的链接
        • 也可以配置本地图片的文件夹
    • 2)在文档点击「随机题头图」;

    • 3)右键点击「随机」

      • image

发送到

image

  • 块菜单事件提供将选中内容分享到配置链接的功能

    • 通过 Google 搜索

    • chatGPT 支持查询参数了,可以这样配置下:ChatGPT 总结====https://chat.openai.com/chat?q=请帮我总结:${content}

    • 自定义链接

      • 例子, 搭配快捷指令将块发送到提醒事项

        • image
        • image
  • 通过 Script 分享,目前只支持卡片分享

    • 支持在卡片页面展开/折叠列表
    • 支持模板
    • 分享时可编辑修改
    • 支持样式配置
    • image

中文排版优化

  • 右上角增加机器人图标/块菜单打开事件增加格式化文档的功能;注意有损坏数据风险。

    • 中文使用全角标点
    • 英文使用半角标点
    • 中英文混合排版……
    • 支持图片居中
    • 支持调整图片宽度
  • 配置格式化后是否自动执行思源提供的「排版优化」以插入空格

  • 配置格式化后是否自动执行思源提供的「网络资源文件转换本地」

为不同文档配置打开时是否同时打开/关闭边栏

使用场景示例:某文档包含长表格/数据库,需要打开时自动关闭侧边栏以展示更多区域。

  • 可为不同文档配置不同操作:打开边栏、关闭边栏
  • 可配置左边栏、右边栏
  • 可配置是否同时打开/关闭停靠栏

快捷添加书签

  • 块菜单打开事件增加快捷添加书签

提取元素至新文档

场景:主要用于阅读时先标注,再一次性提取为二次材料。

  • 文档菜单打开事件新增提取当前文档的标注至新文档。

    • 提取时是否包含标注的上下文
    • 新文档内的标注是否添加一个 * 引用指向原文块

随机/固定浏览

  • 在界面右上角生成一个随机图标,点击可跳转指定 id 条目;由于跳转通过 SQL 配置,你也可以配置固定跳转到某个块或文档。

粘贴时对数据进行预处理

原理:切入粘贴事件,再粘贴前对粘贴板里的数据进行预处理。

  • 粘贴链接时自动获取标题并以 markdown 形式的链接粘贴

矩形标注粘贴时转为「图片 📌」

PDF 阅读「矩形标注」粘贴 · Issue #15928 · siyuan-note/siyuan · GitHub

思源笔记在矩形标注时粘贴为:

CleanShot 2025-09-07 at 01.03.10@2x

调整后以 RemNote 的形式粘贴:

CleanShot 2025-09-07 at 01.06.23@2x

行内元素转换

  • 块菜单/文档菜单打开事件增加行内元素转换的功能

    • 块超链接 👉 引用
    • 引用 👉 块超链接
    • 引用/块超链接 👉 文本
    • 引用/链接 👉 文本
    • 加粗 👉 文本
    • 标注 👉 文本
    • 标签 👉 文本
    • 斜体 👉 文本
    • 清理文档自身的引用
    • 清理 * 引用

配置某些引用下的子元素展示(id 截取生成的)创建时间

  • 配置 ID,该 ID 引用下的子节点将在右上角展示创建时间
  • 是否为该 ID 文档下的大纲元素启用

image

左上边栏扩充

  • 在左上边栏新增图标固定打开链接或文档(块)

    • 加个快捷方式。我目前配置了文档流插件打开日记流

  • 支持随机浏览

Docky

迁移自 sy-f-misc/src/func/docky.ts,按个人习惯优化。主要差别是开启了面包屑(方便聚焦、退出聚焦),去掉了原插件的顶栏。

image

【实验】增加代码片段合集 Demo

插件会拉取代码片段合集配置的代码片段,可直接启用。详见该 issue。

image

参考及致谢

♥️

如果有帮到您,欢迎点个 Star ⭐️ 鼓励一下!🦖感谢~

如果还愿意为🦕买包辣条,您将为守护地球和平做出重要贡献~

QR Code