dsh-qr-toolkit
已验证dsh-qr-toolkit · v0.1.1 · MIT
QR code & barcode toolkit for DeepSeek Harness: decode images (PNG/JPEG, local or URL) and generate QR codes as PNG. 二维码/条码工具箱:解码与生成。
安装
dsh plugin add dsh-qr-toolkit 用 dsh --profile default --dump-config 确认 layer 已生效 —— 参见安装指南。
源码
标签
作者
说明文档
dsh-qr-toolkit
二维码 / 条码工具箱 —— DeepSeek Harness(DSH)插件。给模型提供两个工具:
qr_decode:解码图片中的二维码 / 条形码(本地路径或 http(s) URL,PNG/JPEG)qr_generate:把文本 / 链接生成二维码 PNG,保存到会话工作区
双引擎解码:jsqr(截图类二维码最准)优先,失败自动切换 @zxing/library(MultiFormatReader,支持 QR / Code128 / EAN / UPC / DataMatrix 等)。纯 JS 实现,零原生依赖,Node ≥ 22.19。
安装
# 方式一:dsh CLI(推荐)
dsh plugin --profile web add dsh-qr-toolkit
# 方式二:npm 装进 profile
cd ~/.dsh/profiles/web # Windows: C:\Users\<你>\.dsh\profiles\web
npm install dsh-qr-toolkit --save
重启 dsh web 后生效(插件会通过 dsh.bundle 自动加入 profile 层)。
用法(模型侧)
| 工具 | 参数 | 说明 |
|---|---|---|
qr_decode |
source:本地路径或 URL |
返回 content(解码文本)、format(码制)、engine(jsqr/zxing);未识别到返回 error |
qr_generate |
text(必填)、size(128-2048)、fileName |
返回 PNG 文件路径,输出到 <会话工作区>/.dsh-qr/ |
示例:把聊天里的二维码截图丢给 agent,qr_decode 直接读出内容;或者让 agent 把一段链接生成二维码 PNG 供分享。
配置(cordis 层,均可选)
- id: tool-qr
name: dsh-qr-toolkit
config:
maxInputBytes: 20971520 # 单张图片上限(默认 20MB)
outputDir: .dsh-qr # 生成输出子目录(相对会话工作区)
timeoutMs: 30000 # 工具超时
工作原理
- 图片识别按魔数(magic bytes)区分 PNG/JPEG(其他格式明确报错,避免误读)
- URL 输入用 Node 内置
fetch下载,与本地文件一样受maxInputBytes限制 - 解码顺序:jsQR → @zxing/library;两者都未命中返回"未识别"而不是抛错
- 生成用
qrcode库,误差校正级别 M,边距 2 模块
安全
- 只读输入图片(本地读文件 / URL 下载),生成仅写入会话工作区
.dsh-qr/ - 无网络外发:除你显式给的 URL 外,插件不发起任何网络请求
- 输入大小硬上限防 OOM;AbortSignal 全程透传,支持取消
开发
npm install
npm test # node --test tests/
License
MIT
赞助 / 打赏
如果这个插件帮到了你,欢迎请作者喝杯咖啡(微信收款码):

也欢迎到 GitHub 提 Issue / PR 一起完善。