dsh-tiddlywiki 0.16.22 → 0.16.24
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +19 -2
- package/lib/client.bundle.js +26 -26
- package/lib/client.js +26 -26
- package/lib/index.js +471 -3
- package/lib/index.js.map +1 -1
- package/package.json +1 -1
- package/src/client/better-sidebar-tab.ts +136 -0
- package/src/client/index.ts +30 -0
- package/src/client/panel.ts +5 -4
- package/src/client/rightbar-tab.ts +20 -299
- package/src/client/settings-page.ts +6 -0
- package/src/client/tw-frame.ts +334 -0
- package/src/client/ui-config.ts +5 -2
- package/src/host/clip-bridge.ts +322 -0
- package/src/host/config.ts +15 -0
- package/src/host/routes.ts +2 -0
- package/src/host/seed-clip-bridge.ts +129 -0
- package/src/host/seeds.ts +11 -4
- package/src/index.ts +61 -8
package/README.md
CHANGED
|
@@ -30,8 +30,10 @@
|
|
|
30
30
|
| 📤 **发送给 Agent** | TW 笔记工具栏一键把当前笔记注入所选 dsh 会话(可选工作模式/权限/附加说明) |
|
|
31
31
|
| 🧭 **内嵌编辑器** | 中央列内嵌完整 TW 5 编辑器(同源代理,Tailscale/内网/域名/HTTPS 均可) |
|
|
32
32
|
| 🗂️ **右侧边栏 Tab** | DSH 新右侧栏(rightbar):首页「TiddlyWiki 知识库」入口一键打开,与聊天并排;链接点击可直达(v0.16.21) |
|
|
33
|
+
| 🧩 **Better Sidebar Tab** | dsh-better-sidebar 侧边栏:+ 菜单注册 TiddlyWiki tab,与聊天并排;链接点击可直达;未安装该插件自动跳过(v0.16.23) |
|
|
33
34
|
| 📚 **会话知识库 Tab** | 每个会话顶部汇总本会话读写过的 wiki 笔记,TW 原生渲染(`/tw/render` 片段管线,v0.16.19) |
|
|
34
35
|
| 📝 **快速笔记** | 输入框上方快捷按钮或右下角「知识库」FAB;原生编辑页或 Markdown 卡片两种模式;首页内置「快速记笔记(完整编辑器)」 |
|
|
36
|
+
| 📌 **本地剪藏桥** | 可选「剪藏桥 + 书签小工具」:DSH 监听 127.0.0.1 端口接收剪藏请求(Host 校验防 rebinding),浏览器书签一键把当前页标题/URL/选中文字写进知识库(配置 `bridge.*`,默认 `clip` 标签,随 wiki 自动进 git) |
|
|
35
37
|
| ✅ **待办四象限** | 首页看板:任务打 `todo` 标签即收录,拖动即可分类/完成(正文附 `q` 字段),逾期/今日到期自动统计 |
|
|
36
38
|
| 🌗 **跟随主题** | 内嵌 TW 自适应 DSH 深浅主题(纯内存切换,不进 git) |
|
|
37
39
|
| 🔄 **一键同步** | FAB「同步」一键 pull→commit→push,状态点实时反映 git 状态 |
|
|
@@ -99,7 +101,9 @@ dsh plugin --profile web add link:/path/to/dsh-tiddlywiki
|
|
|
99
101
|
- **📤 发送给 Agent**:TW 工具栏按钮(首次启动自动写入 wiki,ONE-SHOT)。弹层可选**附加说明**(位于消息末尾)、**工作模式**(Agent 预设)、**权限**(权限预设),按工作区分组选会话或新建。消息自带待办说明。
|
|
100
102
|
- **🧭 中央列编辑器**:侧边栏「TiddlyWiki」开关(显示名可改 `ui.sidebarLabel`)。
|
|
101
103
|
- **🗂️ 右侧边栏 Tab**(v0.16.21):DSH 新右侧栏展开后,首页会出现「**TiddlyWiki 知识库**」入口盒,点击即在右侧栏以 tab 形式打开完整 TW 编辑器——**与聊天并排**,适合边聊边查/边记。由 `ui.showRightbarTab` 控制(默认开);老版本 DSH(无右侧栏)自动跳过。
|
|
104
|
+
- **🧩 Better Sidebar Tab**(v0.16.23):安装了 [dsh-better-sidebar](https://github.com/omdsh-dev/DSH-better-sidebar) 插件时,其侧边栏 **+ 菜单**会出现「TiddlyWiki 知识库」tab,点击即打开完整 TW 编辑器(同一套同源代理 iframe / 主题跟随 / 互斥协议,与右侧栏完全相同),**与聊天并排**。由 `ui.showBetterSidebarTab` 控制(默认开);未安装 Better Sidebar 自动跳过;Better Sidebar 自己的设置页也会为该 tab 提供独立的启用开关。**更新后刷新页面**即可看到入口。
|
|
102
105
|
- **📝 快速笔记**:输入框上方快捷按钮(`ui.showQuickNoteDock`)或 FAB;`ui.quickNoteMode` 选打开方式——**native**(默认,直达 TW 原生编辑页,草稿自动续写)或 **card**(CodeMirror 6 Markdown 高亮、文件上传、多选 tag、草稿自动保存、「🕘 最近」载入、Ctrl+Enter 保存)。
|
|
106
|
+
- **📌 本地剪藏桥**(可选,v0.16.24):DSH 设置 → 常规配置 → 勾选「**启用本地剪藏桥**」(保存后立即生效)——DSH 即监听 `127.0.0.1:8618` 接收剪藏请求。浏览器书签栏新建书签,把设置页/知识库文档里的 JS 代码粘贴为地址,点一下就把**当前页标题 / URL / 选中文字**写进 wiki(默认 `clip` 标签、正文含来源与选中文字、重名自动 `(2)` 去重;随 wiki 自动 git commit)。「📚 插件文档」栏的 `本地剪藏桥(书签小工具)` seed 文档含完整步骤、书签代码、安全说明与 curl 用法。安全:桥只监听 127.0.0.1 + Host 白名单防 DNS rebinding;**强烈建议设 `bridge.token`**(非空时校验书签的 `x-clip-token` 头,防止任意网页往 wiki 里塞内容)。
|
|
103
107
|
- **🏠 首页(初始化 home-index 后)**:待办四象限(`todo` 标签 + `q` 字段拖放分类)+ 快速记笔记(完整编辑器,勾选「同时加入待办」即建任务)+「所有标签 / 所有文章」入口 +「📚 插件文档」栏(自动收录所有带 `dsh-docs` 标签的 seed 文档)。
|
|
104
108
|
- **📚 会话知识库 Tab**:会话顶部 Tab(`ui.tabLabel` 改名、`ui.showSessionTab` 关闭),自动汇总本会话读写过的 wiki 笔记(写入 volatile `$:/temp`,不落盘不进 git),**TW 原生渲染**(v0.16.19 起 `/tw/render` 片段管线,与回复流工具卡同链路),链接点击直达中央 TW 面板,不可编辑。
|
|
105
109
|
- **🌗 跟随 DSH 主题**:内嵌 TW 随 DSH 深浅切换 palette,纯内存不写回 wiki(`ui.followDshTheme`/`ui.darkPalette`)。
|
|
@@ -121,6 +125,7 @@ seed 是把「wiki 里预置内容」随插件分发的机制:**ONE-SHOT(只
|
|
|
121
125
|
| | `all-articles` | 「所有文章」两列分页总览(🤖 Agent / 👤 人工) | 手动 |
|
|
122
126
|
| | `ui-styles` | 自定义样式 5 张(编辑器美化 / 窄屏侧栏 / menubar 加高 / 批注弹窗等) | 手动 |
|
|
123
127
|
| | `menubar-theme` | menubar 顶栏跟随 DSH 主题换色 | 手动 |
|
|
128
|
+
| | `clip-bridge` | 「本地剪藏桥(书签小工具)」使用说明——含书签代码 / 启用步骤 / 安全说明(真功能在插件运行时代码里,此 seed 只预置文档) | 手动 |
|
|
124
129
|
|
|
125
130
|
- **想获得完整插件体验**:核心 3 项首次安装就有;再补 `home-index`(首页)+ `starter-docs`(示例文档)即是一个开箱即用的文档中心。
|
|
126
131
|
- **一个可选项都不想要**:完全不影响功能——设置页「反初始化」即可,核心项受保护不可移除。
|
|
@@ -145,6 +150,11 @@ seed 是把「wiki 里预置内容」随插件分发的机制:**ONE-SHOT(只
|
|
|
145
150
|
branch: "main"
|
|
146
151
|
note:
|
|
147
152
|
tag: "inbox" # 快速笔记默认 tag
|
|
153
|
+
bridge:
|
|
154
|
+
enabled: false # 本地剪藏桥(书签小工具);保存后立即生效
|
|
155
|
+
port: 8618 # 监听端口(127.0.0.1;改后需重启 dsh web)
|
|
156
|
+
token: "" # 共享口令;非空时校验书签的 x-clip-token 头(强烈建议设置)
|
|
157
|
+
tag: "clip" # 剪藏笔记默认 tag
|
|
148
158
|
ui:
|
|
149
159
|
showQuickNote: true # FAB 里显示快速笔记入口
|
|
150
160
|
showQuickNoteDock: true # 输入框上方快捷按钮
|
|
@@ -183,6 +193,7 @@ npm install
|
|
|
183
193
|
npm run typecheck # tsc --noEmit
|
|
184
194
|
npm run build # clean + host tsdown + client tsdown + wrap
|
|
185
195
|
npm run selftest # headless:spawn TW → REST 读写 → git → 退出回收
|
|
196
|
+
node scripts/verify-clip-bridge.mjs # 剪藏桥 headless 验收(build 后跑)
|
|
186
197
|
node scripts/verify-seeds-admin.mjs # /admin/seeds 状态与 run 的 E2E
|
|
187
198
|
```
|
|
188
199
|
|
|
@@ -237,11 +248,12 @@ src/
|
|
|
237
248
|
│ ├── git.ts # git init/commit/pull/push/sync/status + AutoCommitter
|
|
238
249
|
│ ├── routes.ts # 全部 DSH 路由 + agent-send/create/modes + session/summary
|
|
239
250
|
│ ├── http.ts # 共用 HTTP 助手(readBody/json)
|
|
251
|
+
│ ├── clip-bridge.ts # 本地剪藏桥(v0.16.24):127.0.0.1 监听 + POST /clip 写 wiki(Host 校验/token/CORS preflight)
|
|
240
252
|
│ ├── session-summary.ts # 会话「知识库」Tab 后端
|
|
241
253
|
│ ├── admin.ts # 设置页后台:tiddlywiki.info 读写 + /admin/*
|
|
242
254
|
│ ├── config.ts # ConfigStore:cordis config 基底 + 配置 tiddler 覆盖层
|
|
243
|
-
│ ├── seeds.ts # 统一 seed 注册表(
|
|
244
|
-
│ ├── seed-*.ts # 各 seed 实现(bundle/首页/ui-styles 常量脚本生成;starter-docs/menubar 手工维护)
|
|
255
|
+
│ ├── seeds.ts # 统一 seed 注册表(10 项,三层:核心/起步/可选)
|
|
256
|
+
│ ├── seed-*.ts # 各 seed 实现(bundle/首页/ui-styles 常量脚本生成;starter-docs/menubar/clip-bridge 手工维护)
|
|
245
257
|
│ └── tools.ts # 10 个 tiddlywiki_* 工具(列表式注册)
|
|
246
258
|
└── client/ # 浏览器半部
|
|
247
259
|
├── index.ts # client 入口(inject ['slots'],纯 DOM,永不 throw)
|
|
@@ -252,6 +264,8 @@ src/
|
|
|
252
264
|
├── session-summary.ts # 会话「知识库」Tab(conversation.view 槽位)
|
|
253
265
|
├── tool-views.ts # 回复流工具卡片(tool.call.toolview)
|
|
254
266
|
├── theme-sync.ts / panel.ts / sidebar-entry.ts / sync-button.ts / rightbar-tab.ts
|
|
267
|
+
│ # 共享 TW iframe 机制在 tw-frame.ts(v0.16.23:lazy-load/status/主题/互斥/live-frame 路由);
|
|
268
|
+
│ # better-sidebar-tab.ts 经 ctx.betterSidebar 注册 DSH Better Sidebar 的 TW tab(v0.16.23)
|
|
255
269
|
└── settings-page.ts / ui-config.ts / state.ts / styles.ts / toast.ts
|
|
256
270
|
scripts/ # 构建/校验/再生成脚本
|
|
257
271
|
docs/seed-initialization.md # seed 机制详解(权威)
|
|
@@ -264,6 +278,9 @@ lib/ # 预构建产物(发布含 lib/**,提交入库;
|
|
|
264
278
|
|
|
265
279
|
> 最近几个主要版本的一句话记录(完整变更见 [Releases](https://github.com/bbqisbbq/dsh-tiddlywiki/releases) / git log)。
|
|
266
280
|
|
|
281
|
+
- **v0.16.24**(2026-09-09):**新:本地剪藏桥 + 书签小工具**。DSH 进程内新增只监听 **127.0.0.1** 的 HTTP 桥(配置组 `bridge.*`:`enabled` 默认关、`port` 默认 8618、`token` 可选共享口令、`tag` 默认 `clip`)——浏览器书签(JS 小工具)把当前页标题/URL/选中文字 POST 给它,经唯一写入通道落进 wiki(markdown、重名自动 `(2)` 去重、默认 `clip` 标签、随 wiki 自动 git commit)。安全:Host 头白名单防 DNS rebinding、CORS/PNA 预检放行(https 页面书签可用)、`bridge.token` 强烈建议设置。附**可选 seed** `clip-bridge`:「本地剪藏桥(书签小工具)」说明文档(含书签代码/启用步骤/安全说明/curl 用法,打 `dsh-docs` 标签进「📚 插件文档」栏,可反初始化);设置页新增 4 个配置字段。`enabled`/`token`/`tag` 设置页保存即生效,改端口需重启 dsh web。
|
|
282
|
+
|
|
283
|
+
- **v0.16.23**(2026-09-09):**新:DSH Better Sidebar(dsh-better-sidebar)集成**。插件通过 `ctx.betterSidebar` 服务注册 TiddlyWiki 为 Better Sidebar 侧边栏的 tab 类型——+ 菜单点击即以 tab 打开完整 TW 编辑器(同源代理 iframe,与聊天并排);TW iframe 机制抽成共享模块(rightbar/better-sidebar 复用:lazy-load / status 轮询 / 主题同步 / hash 导航 / 互斥协议),回复流 wiki 链接在同一处统一路由到任一可见的侧边 TW tab。配置 `ui.showBetterSidebarTab`(默认 true)可开关;未安装 Better Sidebar 自动跳过。**更新后刷新页面**即可看到入口。
|
|
267
284
|
- **v0.16.22**(2026-09-09):**seed 体系三层化 + 文档中心起步包**。① 分层:**核心**(自动、不可移除:发送按钮/渲染路由/代理基址)+ **起步**(首次安装默认写、可移除:插件说明 + 新增「示例与文档」seed——主题汇总模板/教程/三个示例主题页)+ **可选**(手动:首页/所有文章/新增「自定义样式」seed/顶栏主题);所有种子**安全跳过**(同名 tiddler 已存在绝不覆盖)。② 新增 **`dsh-docs`** 文档合集约定:所有 seed 文档打该标签,首页「📚 插件文档」tabs 栏自动收录。③ seed 版首页改为**通用版**(`gen-seed-home --strip-private`:剥离作者私有人口,注入文档栏)。④ **修**:首页快速记笔记的 tags 筛选器 bug(`then[[todo]]` 操作数双括号导致「筛选器错误」被拆成 6 个 tag → 改为 `then[todo]`)。
|
|
268
285
|
- **v0.16.21**(2026-09-09):**新:DSH 右侧边栏(rightbar)集成**。注册 TiddlyWiki 为右侧栏 tab 类型——rightbar 首页出现「**TiddlyWiki 知识库**」入口盒,点击即在右侧栏以 tab 形式打开完整 TW 编辑器(同源代理 iframe,跟随 DSH 主题),**与聊天并排**;配置 `ui.showRightbarTab`(默认 true)可开关。**更新后刷新页面**即可看到入口。
|
|
269
286
|
- **v0.16.20**(2026-09-09):**修:`search`/`recent` 在大 wiki 上超时**。根因:列表请求把全部 tiddler(含图片等二进制附件)的 base64 正文拉回来(2418 个 tiddler ≈ 515MB/17s)。修复:`search`/`recent`/`get` 在**服务端**只取文本 tiddler(无 `type` 或 `text/*`);二进制 tiddler 完全排除,`get` 对二进制只回元数据。实测 515MB/17s → **6.24MB/0.3s**。
|