Skip to content

Releases: moozhu/dsh-obsidian

0.5.0

Choose a tag to compare

@github-actions github-actions released this 10 Sep 02:37

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

Choose a tag to compare

@github-actions github-actions released this 09 Sep 03:08

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

Choose a tag to compare

@github-actions github-actions released this 08 Sep 10:20

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:col range) 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

Choose a tag to compare

@github-actions github-actions released this 07 Sep 10:27

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

Choose a tag to compare

@github-actions github-actions released this 04 Sep 03:25

修复 / 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

Choose a tag to compare

@github-actions github-actions released this 02 Sep 09:25

新功能 / 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

Choose a tag to compare

@github-actions github-actions released this 29 Aug 07:45
  • 修复:禁用 DSH 启动时的自动打开浏览器行为,改为仅在 Obsidian 内嵌面板展示

0.1.6

Choose a tag to compare

@github-actions github-actions released this 27 Aug 16:12

新功能 / 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 the npx || local chain. 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

Choose a tag to compare

@github-actions github-actions released this 27 Aug 15:32

修复 / 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.

0.1.4

Choose a tag to compare

@moozhu moozhu released this 26 Aug 07:21

修复 / Fix:清洗同步到库实例的凭据文件(剔除会导致实例崩溃的旧式扁平键);启动失败时面板展示真实报错,而非笼统的"超时"。
Sanitized vault-synced credentials (dropped legacy flat keys that crashed vault instances); boot failures now surface real errors instead of a bare timeout.