dsh-web
zhu1090093659/dsh-webDeepSeek Harness(DSH)Web 插件聚合生态包 · 一切皆插件,创意工坊分发(dsh-market.com)
DSH plugin: auto-tiles oversized chat images into labelled grid tiles for DeepSeek v4Flash vision, with Python tiling engine
DeepSeek 视觉模型的大图自动分块插件:在聊天里发送超大图片时,宿主自动把它切成多块高清图块(带行列坐标标注)再送入模型,让细小文字、图标、图表细节不再被 800×800 的自动缩放抹掉。本仓库根目录即官方发布说明(publish.zh.md)所述的组合包,可直接 dsh plugin add 安装;Python 切块引擎位于 engine/。
DeepSeek 视觉模型接收图片时会自动缩放(大于约 800×800 等效像素即整体缩小,单张 token 上限约 384),超大截图、密集小字、图表细节因此丢失。本插件把大图切成最多 9 块、15% 重叠的小图块,让每块保持原始清晰度,并向模型提供网格、每块(行,列)坐标、重叠说明,使其能按坐标拼回整图;一条消息多张图时,每张原图的块自成一组并明确禁止跨图混拼。
# 1) Python 引擎(插件在运行时调用 python -m v4flash_tiler.driver)
pip install -e ./engine # 或 pip install ./engine
# 2) 组合包 → profile(纯 JS 无需构建,GitHub 直装即可)
dsh plugin --profile web add github:doublehappy123/dsh-v4flash-tiler
# 或本地:dsh plugin --profile web add ./dsh-v4flash-tiler
# 3) 重启 DSH(该 profile)每个 profile 插件栈独立,需按 profile 分别安装。CLI 手动分析模式额外需要 DEEPSEEK_API_KEY;自动分块不调用 API。本插件有自己的开关,配置文件在 ~/.dsh/v4flash-tiler/config.json,与 dsh-vision-helper 的 vision-route 开关互不影响:
mode · 行为 auto(默认) · 只给不能看图的模型分块 off · 永不分块 always · 所有超尺寸图都分块(即使模型能看图)
在对话里用工具 tiler_route(mode=...) 查看或切换;不带参数则只读当前状态。
2026-10-08 之前,本插件读取的是~/.dsh/vision-helper/config.json里的同一个mode,
导致「给能看图的模型强制分块」会连带打开视觉助手的路由(反之亦然)。现已分离:
首次读取时若本插件尚无配置,会自动从旧共享开关迁移一次 mode,之后不再读取该文件。想让小字不被服务端降采样糊掉时,用tiler_route(mode="always")——它不会再影响vision_route。
engine/ 安装后):v4flash-tiler --image screenshot.png --mode auto --dry-run # 只看分块计划
v4flash-tiler --image screenshot.png --prompt "提取全部文字" # 调 API 分析from v4flash_tiler import DeepSeekVisionClient
result = DeepSeekVisionClient().analyze_image("large.png", prompt="分析这张图")插件可以监听 tools/result:当某个工具执行成功并返回/生成了图片文件时,用系统默认图片查看器自动打开该图片。该监听器当前默认禁用(原因见下),需在 lib/index.js 的 apply() 里重新启用。
value/meta 和 DSH 图片附件中提取图片路径;.png/.jpg/.jpeg/.webp/.gif/.bmp/.svg 的图片;read_image、read、view 等只读工具,避免打开已有图片造成打扰;禁用于 2026-09-03:该监听器会打开任何工具结果中出现的图片路径(pwsh 输出、分析文本等都会被正则扫到),导致系统里堆积大量图片查看器窗口,并在重启后被 Windows 恢复。重新启用前请先限定为图片生成类工具的白名单。插件包含一个 chat_send_image 工具,供模型在生图后把图片以附件形式发到对话中。该工具当前默认未注册(apply() 中已注释),需显式调用 registerChatSendImageTool(ctx) 启用。
关键点:
exec.deferContext() 注入 user 消息 / next-step context;如果当前会话已经因为“assistant 消息带图片”损坏,可以使用仓库里的修复脚本:
python scripts/repair_session.py \
session.jsonl \
session.repaired.jsonl该脚本会把所有 assistant/message 里的图片块替换成文本占位符,同时保留其余会话内容。修复后的 session.repaired.jsonl 可以配合原 media/ 目录重新打包/导入。
package.json # 组合包 manifest:dsh.bundle.patch
cordis.patch.yml # 插件行(id: v4flash-tiler)
lib/index.js # Host 半边:agent/pre-step 自动分块
engine/ # Python 引擎(v4flash_tiler 包 + CLI + 测试)user 图片,不影响聊天记录中原图展示。assistant 消息携带图片。chat_send_image 工具已改为通过 exec.deferContext() 注入 next-step user context,避免再产生损坏会话的 assistant 图片消息。scripts/repair_session.py 修复历史中的 assistant 图片块。MIT