前言¶
当前 DSH 在原生输入框中对图片输入存在限制(主要依赖 text-only admission)。dsh-luna-vision-bridge 是一个纯 Host 侧的 DSH LLM adapter。它注册了一个新的 luna-vision-bridge provider,使得原生 DSH 输入框可以继续使用粘贴图片、拖放、缩略图、删除、Enter 和发送按钮。图片进入 DSH 原生 attachment store 后,由 Codex Luna 转成文字,再交给任意一个已注册的纯文本模型(下游 target,可配置多个并在模型选择器切换)。
核心功能¶
- 纯 Host 侧 DSH LLM adapter。
- 注册新的
luna-vision-bridgeprovider。 - 支持原生图片输入(粘贴、拖放等)。
- 使用 Codex Luna 转写图片为文字。
- 将图片转写文本交给下游纯文本模型。
- 提供 Web 设置界面配置下游模型。
工作原理¶
插件通过拦截 DSH 的 addImages 和 submit 流程,在 Host 层完成图片处理。
DSH 原生 addImages / submit
│
▼
DSH attachment store(校验并持久化原图)
│
▼
luna-vision-bridge adapter
1. 读取经过校验的附件
2. 写入 0600 临时文件
3. 调用插件内置 scripts/read-image-luna.sh
4. 脚本启动 codex exec --json / gpt-5.6-luna
5. 删除临时文件
6. 将图片块替换为带安全边界的识图文本
│
▼
target provider / target model(任意纯文本下游,按所选模型路由)
前置条件¶
- 每个下游 target 的 provider 已在 DSH 注册且纯文本可用(如
deepseek-official)。 codexCLI 可以从启动 DSH 的 Host 环境执行,并已完成认证。
安装¶
插件已发布到 npm。
dsh plugin add --profile web @ycp424c/dsh-luna-vision-bridge
插件包内带有 cordis.patch.yml bundle。安装后,在模型选择器会出现 Luna Vision Bridge provider。若当前 DSH 版本未自动挂载外部 bundle,可将包名追加到 ~/.dsh/profiles/web/cordis.patch.yml 的 bundles 中,并重启 dsh web。
配置¶
插件提供 Web 界面和配置文件两种配置方式。
Web 界面(推荐)¶
打开 Web 界面的 设置 → “Luna Vision Bridge”,无需编辑配置文件。
- 表单预填一行默认组合(未配置时默认
DeepSeek / DeepSeek-V4-Flash)。 - 编辑配置项:
-Provider 显示名:桥接 provider 在模型选择器里的显示名,默认Luna Vision Bridge。
-下游模型:一行一个组合,包含provider、model、显示名(可选)。
-桥接模型 id(可选):默认<provider>-<model>,必须互不相同。 - 点击保存,模型选择器立即出现新组合。
配置文件方式¶
所有字段都有默认值;零配置即得到单个 DeepSeek 下游。
在 ~/.dsh/profiles/web/cordis.patch.yml 中配置:
- id: luna-vision-bridge
name: '@ycp424c/dsh-luna-vision-bridge'
inject: [llm, attachments]
config:
providerName: Luna Vision Bridge
targets:
- provider: deepseek-official
model: deepseek-v4-flash
name: DeepSeek V4 Flash + Luna
bridgeModel: deepseek-v4-flash
全局字段配置示例:
# Luna 转写与缓存(全局):
# 默认自动解析为插件包内的 scripts/read-image-luna.sh;通常无需配置
codexCommand: codex
lunaModel: gpt-5.6-luna
timeoutMs: 180000
cacheDescriptions: true
cacheDir: ~/.dsh/cache/luna-vision-bridge
cacheNamespace: v1
注意事项与限制¶
- 临时方案:这是为当前 DSH 图片输入限制准备的临时兼容方案,不是建议长期依赖的正式架构。当 DSH 官方提供原生读图能力时,应优先迁移并停用本插件。
- 转写端适配:转写端只适配 Codex CLI 和
gpt-5.6-luna;下游可以是任意纯文本 provider,但本插件不是通用视觉 provider 框架。 - 安全性:临时文件权限为 0600/0700,识图结束后立即删除。原图仍由 DSH 原生 attachment store 管理。同一附件与提示词使用 content-addressed cache。
- 依赖:依赖 Host 环境中的 codex CLI。