Repository navigation
Releases: HaoKuo/dsh-notebook-studio
Release list
v0.6.4 — fix /studio RPC 405 on dsh 0.2.0
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.4Fixed
- Registering the studio RPC channel inside a plain
ctx.inject(['webServer'], …)scope was not enough on 0.2.0: the connection service readswebServerfrom the receiver context, so the route was never mounted and browser calls to/studio/<endpoint>fell through to the SPA fallback, which answers405to a POST — surfacing astransport failure for /studio/listSources: HTTP 405. - Registration now extends the injected context with
webServerbefore readingconnection(webCtx.extend({ webServer: webCtx.get('webServer') }).connection), the shapedsh-mnemonuses on 0.2.0, and falls back towebCtx.connectionwhenextendis unavailable.
Verified
- Throwaway
DSH_HOMEon0.2.0-rc.2, authenticated requests:POST /studio/listSourcesreturns 200 with a normal RPC envelope (405before the fix), andPOST /studio/getMessagesreturns the message dictionaries. - Profile boots with no "did not activate" warning;
npm run checkpasses 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
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.3Fixed
- dsh
0.2.0-rc.2rejects the RPC and Fetch registration when the calling context cannot resolvewebServer.0.6.2declaredwebServerbut still threwcannot get property "webServer" without injectwhile registering routes, abortingapply()beforestudio_searchexisted, so the tool disappeared on 0.2.0 hosts. The studio RPC channel and the six download routes now register inside actx.inject(['webServer'], …)scope — the shape dsh's own connection plugin and other profile plugins use. studio_searchnow 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_HOMEon0.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
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.2Changes
engines.dshand both peer ranges are now^0.1.7-rc.2 || ^0.2.0-rc.2; development dependencies moved to0.2.0-rc.2.- Verified against
0.2.0-rc.2:npm run checkpasses 41 JavaScript + 2 Python tests; the exports the plugin uses are unchanged between the two host lines (dsh-llm65 exports,dsh-tools22, no removals); all six client-injected modules still exist; and the plugin loads in a running0.2.0-rc.2instance (its HTTP route is registered). - Both READMEs now name
0.1.7-rc.2and0.2.0-rc.2as 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-llm65 个导出、dsh-tools22 个,无移除);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
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.1Changes
- Host integration is declared instead of bundled:
@deepseek-ai/dsh-llmand@deepseek-ai/dsh-toolsmoved fromdependenciestopeerDependencies(still installed asdevDependenciesfor the source tree), andengines.dshnow 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-studiorecorded the dependency and installed in seconds). pnpm also accepts thegit+https://…and hosted-URL forms. - PDF parsing no longer assumes a bundled virtual environment:
src/ingest.jsresolvesSTUDIO_PYTHON(which must be usable when set) → the package's.venv→python3/pythononPATH, requires the candidate toimport 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 指定中文字体。