返回目录
其他 插件

dsh-jmcomic

lywusichen/dsh-jmcomic

DeepSeek Harness 插件:JMComic 搜索下载、本地漫画库、窗内阅读器,内置源码离线可用。

Stars
3
Forks
0
Issues
1
更新
12 天前

PROJECT TOPICS

项目标签

INSTALL REFERENCE

安装参考

未验证
dsh plugin --profile web add github:lywusichen/dsh-jmcomic

该命令指向仓库当前默认分支;尚无绑定当前 commit 的完整验证结果。

PROJECT README

README

dsh-jmcomic

English | 简体中文

A DeepSeek Harness plugin. Adds a comic button to the sidebar: search and download from JMComic (18comic), browse a local library, and read inside a window without leaving DSH.

The plugin bundles the download engine and the reader frontend, so it works without installing the jmcomic PyPI package.

Compatibility

Tested on DSH 0.1.5-rc.1 (web profile). Also runs on 0.1.2-rc.1 — those two releases are what dsh.engines.dsh in package.json declares, so a host or plugin manager can read the same range without parsing this file.

Uses the sidebar.footer.action and settings.section slots, the host's workspaces.pickDirectory, and webServer.register for its local routes. The DSH core is not modified.

Install

  1. Add the plugin:

    dsh plugin --profile web add github:lywusichen/dsh-jmcomic
  2. Restart DSH.

  3. A comic button appears in the sidebar foot, above the skills button. On first use it asks for a local library folder; set the Python path in Settings → jmcomic Settings if it is not detected.

What it does

  • Small panel — search by album ID or title and download. Once a local folder is bound, the panel shows the two or three most recent covers; click one to start reading.
  • Library window — a grid of everything in the local folder. Click a cover to see its chapter list.
  • Reader — drag any edge or corner to resize, drag the title bar to move. Size and position are remembered. Reopening an album returns to the chapter and page you were last on, and the footer has a page jump box.
  • Hover a card to reveal a delete button. Only albums inside the base folder can be deleted; the root and system directories are protected.
  • A downloading banner appears at the top while a download runs.

Screenshots

Sidebar comic trigger

Small panel: search and local covers

Library window

Offline operation

The plugin ships four things under vendor/, so a machine with only DSH and Python can run it:

  • jmcomic 2.7.3 source — the download engine
  • commonX — the engine's support package
  • jmcomic-ai — helper scripts
  • the reader frontend

Missing binary dependencies degrade instead of failing:

Missing Behavior
curl_cffi falls back to requests
Pillow no image decoding; files download but cannot be previewed
pycryptodome prompts to install it

Known limitations

  • Python is required. The plugin calls a Python bridge; it does not reimplement the download engine in JavaScript.
  • Downloads talk to JMComic's mobile API domain directly, so no proxy or Cloudflare workaround is needed. If that domain is blocked on your network, the plugin has no fallback.
  • The plugin does not manage your library for you: it downloads into the folder you bind and reads what is there.

Build

npm install   # esbuild
npm run build # generates lib/client.js and lib/server.cjs

Commit both artifacts. Git-hosted installs consume them directly.

Configuration

  • Settings file: ~/.dsh/plugins/dsh-jmcomic/settings.json (Windows)
  • Directory rule: Bd/{Atitle}/第{Pindex}話
  • Concurrency is kept low on purpose: 3 for images, 1 for photo albums.

Credits

The download engine, the reader frontend, and some helper scripts come from hect0x7's projects, vendored under vendor/:

Copyright belongs to their respective authors.

License

MIT

CLASSIFICATION EVIDENCE

分类依据

项目类型插件
功能分类其他
规则置信度

系统优先读取 GitHub Topics,再与站内分类词典和词根规则比对。当前命中: 无有效分类标签。