Skip to content

dsh-nomoreblind

Verified

@cmnyhh/dsh-nomoreblind · v0.1.6 · MIT · Web UI

Side-channel image understanding for dsh: the describe_image tool routes one image (file path or conversation attachment) through the harness llm service to a separately configured image-capable model and returns the description as text, so a text-only co

Install

dsh plugin add @cmnyhh/dsh-nomoreblind

Confirm the layer applied with dsh --profile default --dump-config — see the install guide.

Source

Published to npm without a public repository. Inspect the package contents before installing.

Tags

Readme

@cmnyhh/dsh-nomoreblind

dsh 旁路识图插件:注册 describe_image 工具,把一张图片发给单独配置的视觉模型,返回文字描述给主对话模型使用。主对话可以继续用纯文本模型(如 DeepSeek),截图、照片、图表照样能读。

工作方式

  • 工具调用经 dsh 的 llm 服务发起:识图模型就是 Models 页里配置的任意模型(自定义 OpenAI 兼容 provider、内网 Ollama / Xinference 均可),端点与密钥由 Models 页统一管理,插件不另存凭据。
  • 图片两种来源:
    • 文件路径 —— 会话工作区里的 PNG/JPEG/WebP/GIF 文件;
    • 附件 sha256 前缀 —— 聊天里贴图后,模型看到的占位文本 [image omitted …; attachment sha256:xxxxxxxx] 自带 8 位前缀,直接把这段前缀传给工具即可。
  • 附件解析以会话日志为准:从当前会话的历史里按 sha256 前缀找到那条 image / file 块的完整持久引用,再走附件存储的公开读取接口取字节。因此不依赖后端把对象落在哪个磁盘路径上——会话跑在远程服务器(附件在服务端对象存储里)时同样可用。
  • 只有会话历史里找不到时才回落到本地对象根扫描(objects/<前2位>/<完整sha256>),本地起服务的老用法保持兼容。
  • 图片统一落成持久附件引用后走正常 image 管线(规范化、请求图编码、能力预检)。
  • 调用前预检模型 inputModalities:选了纯文本模型会直接报错并指出模型名,不会被静默剥图。

安装

在客户端 设置 → 插件 里搜索安装,或命令行:

dsh plugin add @cmnyhh/dsh-nomoreblind

安装会把本包挂进 profile 的 dsh.profile.bundles(插件行由包自带的 cordis.patch.yml 提供,行 id 为 nomoreblind)。不要手工往 profile 的 cordis.patch.yml 里写 - insert: 插一条同 id 的行——那样设置面板的保存会被 判成「配置被 home patch 覆盖」而拒绝。装完重启一次客户端生效。

配置

设置 → 插件 → @cmnyhh/dsh-nomoreblind 的 nomoreblind 行 → 配置,面板里填(0.1.4 起自带配置面板,字段写入 profile 的用户 patch 层):

字段 说明
provider 下拉选 Models 页里的 provider 路由(留空用内置默认),也可切「手动输入」
model 下拉选该 provider 下当前可路由的模型,标「纯文本」的不能读图
prompt 可选,调用不带 prompt 时的默认指令
timeoutMs 可选,单次请求超时毫秒数(默认 120000)
maxBytes 可选,图片字节上限(默认 20 MiB;面板未含,需要时写在 patch 里)
maxTokens 可选,视觉输出 token 上限(面板未含,需要时写在 patch 里)

不用面板时也可以直接编辑 profile 的 cordis.patch.yml:

- id: nomoreblind
  name: '@cmnyhh/dsh-nomoreblind'
  config:
    provider: my-vlm-provider
    model: qwen2.5-vl

值支持间接引用(env:NAME、file:/path)。

peer 依赖说明

peerDependencies 只是运行时兼容性声明(dsh 0.2.1-alpha.1 线),profile 安装时 autoInstallPeers 为 false,不会去 registry 拉取;@deepseek-ai/* 由运行时拦截层供给,本包保持单一拷贝以维持 FsError / HarnessError 的 instanceof 语义。

变更记录

  • 0.1.6 —— 修复「no attachment objects exist under …/objects」:附件改为先从会话日志定位持久引用、再用附件存储公开接口读取,远程服务器/非本地对象根场景可用;读不到时给出新的提示(提示重新贴图或改用文件路径)。
  • 0.1.5 —— 配置面板:输入框可正常编辑、provider/model 为原生下拉、保存按钮改回标准按钮样式。
  • 0.1.4 —— 首个带配置面板的版本。

License

MIT