Skip to content

Releases: HaoKuo/dsh-notebook-studio

v0.6.4 — fix /studio RPC 405 on dsh 0.2.0

Choose a tag to compare

@HaoKuo HaoKuo released this 01 Oct 14:46

Fixes the Web client error transport failure for /studio/…: HTTP 405 on dsh 0.2.0-rc.2.

Install

dsh plugin --profile web add github:HaoKuo/dsh-notebook-studio
# pin this release
dsh plugin --profile web add github:HaoKuo/dsh-notebook-studio#v0.6.4

Fixed

  • Registering the studio RPC channel inside a plain ctx.inject(['webServer'], …) scope was not enough on 0.2.0: the connection service reads webServer from the receiver context, so the route was never mounted and browser calls to /studio/<endpoint> fell through to the SPA fallback, which answers 405 to a POST — surfacing as transport failure for /studio/listSources: HTTP 405.
  • Registration now extends the injected context with webServer before reading connection (webCtx.extend({ webServer: webCtx.get('webServer') }).connection), the shape dsh-mnemon uses on 0.2.0, and falls back to webCtx.connection when extend is unavailable.

Verified

  • Throwaway DSH_HOME on 0.2.0-rc.2, authenticated requests: POST /studio/listSources returns 200 with a normal RPC envelope (405 before the fix), and POST /studio/getMessages returns the message dictionaries.
  • Profile boots with no "did not activate" warning; npm run check passes 41 JavaScript + 2 Python tests.

Restart dsh web after updating.

中文

修复 dsh 0.2.0-rc.2 上 Web 客户端报 transport failure for /studio/…: HTTP 405 的问题。

安装

dsh plugin --profile web add github:HaoKuo/dsh-notebook-studio
# 固定到本版本
dsh plugin --profile web add github:HaoKuo/dsh-notebook-studio#v0.6.4

修复

  • 在 0.2.0 上,只在 ctx.inject(['webServer'], …) 作用域里注册 studio RPC 通道不够:connection 服务是从接收者上下文读取 webServer 的,因此路由始终没有挂载,浏览器对 /studio/<endpoint> 的调用落到 SPA 兜底,而兜底对 POST 返回 405——表现为 transport failure for /studio/listSources: HTTP 405。
  • 现在注册前先把 webServer 扩展进注入上下文再取 connection(webCtx.extend({ webServer: webCtx.get('webServer') }).connection),与 dsh-mnemon 在 0.2.0 上的写法一致;extend 不可用时回退到 webCtx.connection。

验证

  • 一次性 DSH_HOME(0.2.0-rc.2)+ 带鉴权请求:POST /studio/listSources 返回 200 与正常 RPC 信封(修复前为 405),POST /studio/getMessages 正常返回消息字典。
  • profile 启动无 "did not activate" 告警;npm run check 通过 41 个 JavaScript + 2 个 Python 测试。

更新后请重启 dsh web。

v0.6.3 — fix activation on dsh 0.2.0

Choose a tag to compare

@HaoKuo HaoKuo released this 01 Oct 14:35

Restores plugin activation on dsh 0.2.0-rc.2.

Install

dsh plugin --profile web add github:HaoKuo/dsh-notebook-studio
# pin this release
dsh plugin --profile web add github:HaoKuo/dsh-notebook-studio#v0.6.3

Fixed

  • dsh 0.2.0-rc.2 rejects the RPC and Fetch registration when the calling context cannot resolve webServer. 0.6.2 declared webServer but still threw cannot get property "webServer" without inject while registering routes, aborting apply() before studio_search existed, so the tool disappeared on 0.2.0 hosts. The studio RPC channel and the six download routes now register inside a ctx.inject(['webServer'], …) scope — the shape dsh's own connection plugin and other profile plugins use.
  • studio_search now registers before the Web routes, so a future change to the host's RPC or Fetch registry can only affect downloads, never the search tool.

Verified

  • Throwaway DSH_HOME on 0.2.0-rc.2: the profile boots with no "did not activate" warning.
  • npm run check: 41 JavaScript + 2 Python tests pass (the download-route test now drives the same injection shape as the host).

Restart dsh web after updating so the plugin is loaded again.

中文

修复在 dsh 0.2.0-rc.2 上无法激活的问题。

安装

dsh plugin --profile web add github:HaoKuo/dsh-notebook-studio
# 固定到本版本
dsh plugin --profile web add github:HaoKuo/dsh-notebook-studio#v0.6.3

修复

  • dsh 0.2.0-rc.2 在调用方无法解析 webServer 时会拒绝 RPC/Fetch 注册。0.6.2 虽声明了 webServer,注册路由时仍抛 cannot get property "webServer" without inject,导致 apply() 在注册 studio_search 之前中断,工具在 0.2.0 宿主上消失。现在 studio RPC 通道与六条下载路由都在 ctx.inject(['webServer'], …) 作用域内注册——与 dsh 自带 connection 插件及其它 profile 插件一致。
  • studio_search 现在先于 Web 路由注册,将来宿主改动 RPC/Fetch 注册方式时最多只影响下载,不会让检索工具消失。

验证

  • 一次性 DSH_HOME 在 0.2.0-rc.2 上:profile 启动不再出现 "did not activate" 告警。
  • npm run check:41 个 JavaScript + 2 个 Python 测试通过(下载路由测试改为与宿主相同的注入形态)。

更新后请重启 dsh web 以重新加载插件。

v0.6.2 — support the dsh 0.2.0 host line

Choose a tag to compare

@HaoKuo HaoKuo released this 01 Oct 14:16

Adds support for the dsh 0.2.0 host line. dsh 0.2.0-rc.2 refuses to load a profile bundle whose peer ranges exclude the running host, which skipped dsh-notebook-studio@0.6.1 — this release widens the ranges so the plugin loads again.

Install

dsh plugin --profile web add github:HaoKuo/dsh-notebook-studio
# pin this release
dsh plugin --profile web add github:HaoKuo/dsh-notebook-studio#v0.6.2

Changes

  • engines.dsh and both peer ranges are now ^0.1.7-rc.2 || ^0.2.0-rc.2; development dependencies moved to 0.2.0-rc.2.
  • Verified against 0.2.0-rc.2: npm run check passes 41 JavaScript + 2 Python tests; the exports the plugin uses are unchanged between the two host lines (dsh-llm 65 exports, dsh-tools 22, no removals); all six client-injected modules still exist; and the plugin loads in a running 0.2.0-rc.2 instance (its HTTP route is registered).
  • Both READMEs now name 0.1.7-rc.2 and 0.2.0-rc.2 as supported hosts.

Requirements: dsh 0.1.7-rc.2 or 0.2.0-rc.2, Node.js 24, Python 3.12 + PyMuPDF, and a CJK TTF font (STUDIO_CJK_FONT) for PDF typesetting where Arial Unicode is unavailable.

中文

本版支持 dsh 0.2.0 版本线。dsh 0.2.0-rc.2 会拒绝加载 peer 范围不覆盖当前宿主的插件包,导致 dsh-notebook-studio@0.6.1 被跳过;本版放宽范围后恢复加载。

安装

dsh plugin --profile web add github:HaoKuo/dsh-notebook-studio
# 固定到本版本
dsh plugin --profile web add github:HaoKuo/dsh-notebook-studio#v0.6.2

变更

  • engines.dsh 与两个 peer 范围改为 ^0.1.7-rc.2 || ^0.2.0-rc.2,开发依赖升到 0.2.0-rc.2。
  • 已针对 0.2.0-rc.2 验证:npm run check 通过 41 个 JavaScript + 2 个 Python 测试;插件用到的导出在两条宿主版本线之间没有变化(dsh-llm 65 个导出、dsh-tools 22 个,无移除);6 个客户端注入模块仍然存在;运行中的 0.2.0-rc.2 实例已加载该插件(HTTP 路由已注册)。
  • 两份 README 均把 0.1.7-rc.2 与 0.2.0-rc.2 列为受支持的宿主。

运行要求:dsh 0.1.7-rc.2 或 0.2.0-rc.2、Node.js 24、Python 3.12 + PyMuPDF;在没有 Arial Unicode 的机器上排版 PDF 需通过 STUDIO_CJK_FONT 指定中文字体。

v0.6.1 — install from GitHub, declared host peers, Python fallback

Choose a tag to compare

@HaoKuo HaoKuo released this 24 Sep 17:16

Host integration is now declared instead of bundled, the plugin installs straight from this repository, and PDF parsing no longer assumes a bundled virtual environment.

Install

dsh plugin --profile web add github:HaoKuo/dsh-notebook-studio
# pin this release
dsh plugin --profile web add github:HaoKuo/dsh-notebook-studio#v0.6.1

Changes

  • Host integration is declared instead of bundled: @deepseek-ai/dsh-llm and @deepseek-ai/dsh-tools moved from dependencies to peerDependencies (still installed as devDependencies for the source tree), and engines.dsh now states ^0.1.7-rc.2. Hosts and plugin catalogs can read the required DSH line instead of an undeclared requirement, and a profile no longer ends up with a second copy of the host packages.
  • The plugin installs straight from this repository — verified end to end in a throwaway DSH_HOME (dsh plugin --profile web add github:HaoKuo/dsh-notebook-studio recorded the dependency and installed in seconds). pnpm also accepts the git+https://… and hosted-URL forms.
  • PDF parsing no longer assumes a bundled virtual environment: src/ingest.js resolves STUDIO_PYTHON (which must be usable when set) → the package's .venv → python3/python on PATH, requires the candidate to import pymupdf, and otherwise fails with a message naming every candidate plus the fix. A git/npm install is therefore usable without a pre-built venv.
  • npm run check: 41 JavaScript + 2 Python tests pass, adding the interpreter-resolution regression.

Requirements: dsh 0.1.7-rc.2, Node.js 24, Python 3.12 + PyMuPDF, a CJK TTF font (STUDIO_CJK_FONT) for PDF typesetting on machines without Arial Unicode.

中文

宿主集成从"打包依赖"改为"声明依赖",插件可直接从本仓库安装,PDF 解析不再假定存在虚拟环境。

安装

dsh plugin --profile web add github:HaoKuo/dsh-notebook-studio
# 固定到本版本
dsh plugin --profile web add github:HaoKuo/dsh-notebook-studio#v0.6.1

变更

  • 宿主集成从"打包依赖"改为"声明依赖":@deepseek-ai/dsh-llm、@deepseek-ai/dsh-tools 从 dependencies 移到 peerDependencies(源码树仍以 devDependencies 安装),并新增 engines.dsh: ^0.1.7-rc.2。宿主与插件目录因此能读到所需的 DSH 版本线,而不是"未声明",profile 里也不再出现第二份宿主包副本。
  • 插件可直接从本仓库安装——已在一次性 DSH_HOME 里端到端验证(dsh plugin --profile web add github:HaoKuo/dsh-notebook-studio 记录了依赖并数秒装好),pnpm 同时支持 git+https://… 与仓库页面 URL 写法。
  • PDF 解析不再假定存在 .venv:src/ingest.js 依次解析 STUDIO_PYTHON(设置后必须可用)→ 包内 .venv → PATH 上的 python3/python,并要求候选解释器能 import pymupdf,否则报错列出全部候选与修复方法。git/npm 安装因此无需预建虚拟环境即可使用。
  • npm run check:41 个 JavaScript + 2 个 Python 测试通过,新增解释器解析回归。

运行要求:dsh 0.1.7-rc.2、Node.js 24、Python 3.12 + PyMuPDF;在没有 Arial Unicode 的机器上排版 PDF 需通过 STUDIO_CJK_FONT 指定中文字体。