Releases: moozhu/dsh-obsidian
Release list
0.5.0
0.5.0
🔁 模型配置同步(你说了算) — 新增「同步模型配置」:在本机任意 DSH 实例间(主实例或其它库)拷贝供应商与 API 凭据。增量=只补缺、同名不同值逐项弹框「用来源/留本库」;覆盖=整体对齐来源、写前自动 .bak 备份。库内默认模型路由、搜索模型、每实例登录记录永不触碰。空库首次使用有一次性引导。
New “Sync model config”: copy providers & API keys between any DSH instances on your machine. Incremental (union + per-item conflict dialog) or Overwrite (align to source, auto-backup).
⚡ 零命令行,一键从无到有 — 机器没装 Node.js?连 DSH 都没有?没关系:面板一键装好独立便携运行时(约 30MB、免管理员、系统无感),DSH 内核随后自动下载、自动启动——全程实时进度、镜像兜底。新手从头到尾不碰一次终端。
Zero command line — one click from nothing to chatting: a private portable Node runtime installs itself (no admin), then the DSH kernel downloads and starts on its own. Live progress, mirror-backed, terminal never opened.
🐛 修复 — 反向桥接曾把含斜杠的文本(如 ModelScope 组织/模型)误判为库内路径并吞掉点击,导致这类模型点不动、当前模型为其一时模型弹层甚至无法打开;现在仅在确认是可读的库内真实文件时才拦截。
The reverse bridge swallowed clicks on slash-containing text (e.g. ModelScope org/model ids), breaking model selection and even the picker itself. Now only confirmed in-vault files intercept clicks.
升级提示 — 模型配置的分发方式从“每次启动自动同步主→库”改为按需手动同步。已同步过的配置存在各库本地数据目录里,升级后一个不少、照常可用,无需任何操作;今后在主实例新增/修改供应商或密钥时,到 设置 → 同步模型配置 点一次即可波及到各库。
Upgrade note: model config is now user-initiated instead of auto-synced on every startup. Nothing you synced before is lost — existing vault configs work as-is with no action needed. Future changes in the main instance propagate with one click in Settings → Sync model config.
0.4.0
0.4.0 — 双向桥接闭环 / The bridge goes both ways
简体中文
新功能
- 🧲 点击路径跳回笔记:DSH 聊天里显示的本库文件路径现在可以直接点击,Obsidian 主区立即打开对应笔记——已打开则聚焦原标签页,未打开则新标签页,文件被删则有明确提示。库外路径与二进制文件(docx/zip 等)不拦截,保持 DSH 原有行为
- ⚙️ 设置页新增「反向桥接」开关(默认开启),随时可关、即时生效,无需重开面板
与 0.3.0 的「选中内容发送到 DSH」(正向)合并,Obsidian ⇄ DSH 闭环完成:选中右键送进去 → 模型按行列定位处理 → 产物路径点一下跳回来。全程零复制粘贴。
兼容性:无破坏性变更,设置项全部保留原值。
English
Features
- 🧲 Click a path, jump back to the note: vault file paths shown in the DSH chat are now clickable — Obsidian opens the note right away (an already-open tab gets focused, otherwise a new tab opens; a clear notice appears if the file was removed). Out-of-vault and binary paths (docx/zip/…) are left untouched and keep DSH's native behavior
- ⚙️ New "Reverse bridge" toggle in settings (on by default) — applies instantly, no panel restart needed
Paired with 0.3.0's "Send selection to DSH" (forward direction), the Obsidian ⇄ DSH loop is complete: send a selection in, let the model work on the exact region, click a path back out. Zero copy-paste round-trips.
Compatibility: drop-in upgrade, no settings break.
0.3.0
0.3.0 — 让笔记与 DSH 真正联动 / Notes that talk to DSH
简体中文
本版核心:打通笔记 → DSH 的工作流。
新功能
- 🧲 选中内容发送到 DSH:在任意笔记中选中文字 → 右键(或命令面板)「发送选中内容到 DSH」,一条定位行(文件路径 + 行列区间)注入 DSH 输入框,模型按需读取选区原文——不贴大段文字、不再复制粘贴来回倒
- ⌨️ 快捷键透传:焦点在 DSH 面板内时,你在 Obsidian 设置过的快捷键(如 Ctrl+P 命令面板、Ctrl+O 快速切换)照常触发——自动镜像你的快捷键配置,只有真实绑定的键才会转发;设置页一键开关,改完快捷键重新激活面板即自动重推
- 📊 启动耗时诊断:设置页新增「启动耗时诊断」,展示最近一次面板启动的分段耗时(配置同步 / 复用探测 / 端口分配 / 内核就绪 / 面板加载),区分复用与冷启动,一键复制详情便于反馈
- 📐 面板底部留白:0–40px 可调底部留白(默认 28)+ 上分割线,面板底部内容不再被状态栏遮挡;留白区背景透明、深浅主题自动跟随,滑杆实时生效
改进
- 🖥 统一 webview 容器:面板一律使用 Electron webview(按库持久化登录态),不再按 token 区分 iframe / webview 双路径——代码更干净,鉴权行为更稳
升级建议:直接更新即可,无破坏性变更;新增设置项见 README 设置表。
English
Theme: your notes now talk to DSH.
Features
- 🧲 Send selection to DSH: select text in any note → right-click (or command palette) → a locator line (file +
L:colrange) lands in the DSH composer; the model reads exactly that region — no copy-paste round-trips - ⌨️ Hotkey passthrough: your Obsidian shortcuts (Ctrl+P command palette, Ctrl+O quick switcher, …) keep firing while the DSH panel has focus — the plugin mirrors your hotkey configuration automatically and forwards only actually-bound keys; toggle in settings, re-activating the panel picks up changes
- 📊 Boot timing diagnostics: Settings → "Boot timing diagnostics" shows a per-stage trace of the last panel start (config sync / probe / port / kernel / UI load), distinguishes reuse vs cold boot, one-click copy for bug reports
- 📐 Bottom padding: an adjustable 0–40px footer (default 28) with a divider line so the Obsidian status bar never covers panel content; transparent background follows your theme, live slider
Improvements
- 🖥 One container for all kernels: the panel is now always an Electron webview with persistent per-vault session storage — the token-based iframe/webview split is gone; simpler code, steadier auth
Upgrade: drop-in, no breaking changes.
0.2.2
v0.2.2 — 稳定优先 Stable-First
关闭 alpha 体验版通道,只保留官方稳定版(npm latest,即官方 rc 回归线),以稳定性为先;已安装的内核与数据不受任何影响。
The alpha preview channel is dropped. Updates now target the official stable line only (npm latest / the rc line) for stability. Already-installed kernels and data are unaffected.
修改内容 / What changed
关闭 alpha 通道 / Dropped alpha channel
- 移除 alpha 体验版通道选择:仅安装官方稳定版,服务更稳定
- Removed the alpha channel selector; only the official stable line is offered
修复内核升级失败 / Fixed kernel upgrade failures
- 升级前自动停止运行中的 DSH 实例,避免 Windows 文件占用导致失败(EPERM / koffi.node EBUSY)
- Instances are now stopped before upgrading, avoiding Windows file-lock failures (EPERM / koffi.node EBUSY)
修复进程回收 / Fixed process cleanup
- 正确记录真实内核进程(netstat 反查),孤儿进程不再残留占用端口与文件
- The real kernel PID is recorded; orphan processes no longer linger on ports or lock files
更好的错误提示 / Better diagnostics
- 安装失败明确区分三种原因:npm 源问题 / 完整性校验失败 / 旧实例占用文件,并显示详细错误信息
- Install failures now distinguish npm registry / integrity check / file-in-use, with error details
修复升级逻辑 / Fixed update logic
- 安装成功不再误报为失败;官方源不可用时自动切换镜像源(npmmirror)
- Successful installs are no longer reported as failed; mirror fallback now works
修复鉴权内核的停止判定 / Fixed stop-detection for authenticated kernels
- 带 token 鉴权的内核(0.1.2+,含 alpha 与 rc)不再被误判为"已停止"
- Token-authenticated kernels (0.1.2+, alpha and rc alike) are no longer mistaken as stopped
安装 / Install
- Obsidian 商店 / Community store:搜索 "DSH for Vaults" 更新
- BRAT:自动检测 0.2.2
- 手动:下载 Assets 中的 main.js / manifest.json / styles.css 覆盖到插件目录后重启
0.2.1
修复 / Fixes
-
修复面板空白无提示事故:复用实例时不再只探测端口,改为校验记录 URL 的真实有效性——401/403(凭证失效,如 rc 时代 URL 遇到需要 token 的 alpha 内核)或不可达(半死服务)时,自动清理旧实例并重新启动,token 自动刷新。
Fixed the blank-panel accident: instance reuse now validates the recorded URL itself — 401/403 (stale credential, e.g. an rc-era URL against a token-required alpha kernel) or unreachable (half-dead service) triggers cleanup of the old instance and a fresh start with a new token. -
修复 webview/iframe 加载失败无兜底:加载期间状态提示保持可见;加载失败或 60 秒超时显示错误视图 +「重启 DSH 服务」按钮,不再纯白。
Added load fallback for webview/iframe: the status stays visible during load; failure or a 60s timeout shows an error view with a "Restart DSH service" button instead of a silent blank panel. -
修复 pnpm 等全局安装探测不到:探测范围新增 PATH 检测(where dsh),任何全局安装方式的内核都能被识别,不再误判"本地没装"而走 npx 在线下载。
Added PATH detection (where dsh) so pnpm or any globally installed kernel is recognized — no more falling back to a slow npx download when a local kernel actually exists.
改进 / Improvements
- 启动等待 5 分钟 → 1 分钟:首次在线安装期间每 10 秒刷新等待时长提示;超时后明确提示"重试(下载进度保留)",不再让用户对着无声面板干等。
Boot wait reduced from 5 minutes to 1 minute, with a live elapsed-time ticker during first-time online installs and a clear "retry (download progress is kept)" hint on timeout.
0.2.0
新功能 / New
-
内核版本通道自选:设置页新增「稳定版 / alpha 体验版」通道下拉,按通道检查最新版;发现新版弹窗确认后才安装;启动过程绝不联网改版本。
Kernel channel selector (stable / alpha experience) in settings; updates are checked per channel and installed only after explicit confirmation. Startup never changes versions silently. -
rc / alpha 全兼容 + 会话数据自动迁移:升级到 alpha(浏览器鉴权版)时自动迁移旧会话投影缓存(单文件与分片两种存储布局),历史会话无缝保留;迁移前自动备份旧数据,备份目录可自定义、一键在资源管理器定位。
rc/alpha compatibility with automatic session-data migration: upgrading to the browser-auth alpha migrates legacy projection caches (both single-file and sharded layouts), backed up first. Backup path is configurable with a one-click Explorer reveal. -
原生 webview 内嵌:alpha 的鉴权 Web UI 经 token 校验后由 webview 直连嵌入,面板体验与浏览器一致;无鉴权内核走 iframe 兜底。
Native webview embed for the authed alpha Web UI (token-based), with an iframe fallback for non-authed kernels. -
安装进度可视化:安装新内核时显示持续全局提示 + 等待计时,完成/失败均有明确结果通知,不会误以为装好。
Visible install progress: a persistent notice with an elapsed-time ticker plus clear success/failure results. -
npm 镜像兜底:官方 registry 失败自动切换 npmmirror 镜像完成查询与下载,大陆网络更稳。
npmmirror fallback for npm queries and downloads when the official registry fails.
修复 / Fixes
-
修复 0.1.2-alpha.x 被误判为"无需迁移":旧逻辑把预发布版本判为低于 0.1.2,导致 alpha 内核跳过会话迁移、读旧数据崩溃(invalid-record)。现只比较主版本号段,预发布后缀不再干扰判断。
Fixed prerelease semver comparison that judged 0.1.2-alpha.3 as older than 0.1.2 — skipping session migration and crashing on legacy data (invalid-record). Only the core version is compared now. -
修复迁移只覆盖单文件、漏掉分片存储:alpha 实际读取分片布局(session_projcache/
/.json),旧迁移只补单文件导致启动仍崩溃;现两种布局一并迁移(幂等)。
Fixed migration that patched only the single-file projection cache while alpha reads the sharded layout — both layouts are migrated now (idempotent).说明 / Notes
-
默认不自动更新:启动只使用本地已安装的最高版本;想升级请到 设置 →「dsh 版本更新」选通道检查更新。
No auto-update by default: startup uses the highest locally installed version. Update via Settings → "dsh version update" with a channel of your choice. -
回退到旧版(rc)内核时,alpha 期间产生的会话历史可能无法加载(DSH 自身的前向格式不兼容,非插件问题);正常升级方向(rc → alpha)不受影响。
Rolling back to an rc kernel may make alpha-era session history unreadable (DSH's own forward-format incompatibility); the normal upgrade direction (rc → alpha) is unaffected.
-
0.1.7
- 修复:禁用 DSH 启动时的自动打开浏览器行为,改为仅在 Obsidian 内嵌面板展示
0.1.6
新功能 / New
- dsh 版本跟随:每天首次打开面板时后台检查一次官方新版,发现新版静默下载、下次打开面板自动启用;设置页新增「检查并更新」按钮,可手动触发并查看进度。
Daily background check for new dsh releases: silently downloads when a new version exists and applies it on the next panel open. A manual "Check & update" button with live progress is added to the settings tab. - 启动择优:启动时自动选择本地最高版本的 dsh(npm 全局安装 > 后台更新目录 > npx 缓存)。
Boot now picks the highest-version local dsh install (global install > managed update dir > npx cache).
修复 / Fixes
- 修复无 npx 缓存的机器上启动超时且无任何输出的问题:旧逻辑中 npx 冷下载挂起(不等于失败)会挡住
||后面的本地兜底,导致 120 秒必超时。现改为本地副本优先启动,npx 仅在本机完全没有 dsh 时使用。
Fixed boot timeout with empty output on machines without a warm npx cache: a hanging npx cold download used to block the local fallback in thenpx || localchain. Local installs are now preferred; npx is only used when no local copy exists. - 无本地副本时的 npx 冷安装等待时间放宽到 5 分钟;失败时面板会展示捕获到的启动输出和手动排查提示,不再是笼统的"超时"。
Cold npx installs get a 5-minute readiness window; failures now surface the captured boot output plus a manual troubleshooting hint instead of a bare "timeout". - 版本检查在用户代理配置失效(如本地代理软件未启动)时自动回退直连。
Registry checks fall back to a direct connection when the configured proxy is unreachable.
说明 / Notes
- 新版本在下次打开面板时启用,不会热切换正在运行的会话。
New versions apply on the next panel open; running sessions are never hot-swapped. - 手动在设置里填写了 dsh 路径的用户保持"锁定该版本"行为,不参与自动更新。
Users who pinned a custom dsh path keep the locked-version behavior and are excluded from auto updates.
0.1.5
修复 / Fix:无 npx 缓存的机器上启动超时无输出——改为本地 dsh 副本优先启动,npx 仅在本机无副本时使用;冷安装等待放宽到 5 分钟。
Fixed silent boot timeout on machines without an npx cache: local dsh copies are now preferred, npx only as a last resort; cold installs get a 5-minute window.