🎁 福利专区全网大模型免费应用 + 新用户福利 + 注册活动入口,低成本玩转 AI

视觉归档 ZhangShurong/dsh-vista

DeepSeek Harness
ZhangShurong11 天前有提交已提供中文文档扫描:含敏感能力

随时回看历史图片并精确读取指定区域像素

30/100
综合分
0
GitHub 星标
—
npm 周下载
—/5
用户评分

数据截至 2026/10/24 · 周下载取自 npm 全网(含 CI / 镜像),非本站安装数;综合分由星标、活跃度与兼容性检查合成。

安装命令 · 需先装 dsh CLI 引擎
dsh plugin --profile web add ZhangShurong/dsh-vista
该包不可直接 npm 安装,改从 GitHub 源安装(明细见下方安装检查)

状态速览

判定依据:实装验证 · 静态安装检查 · 自动扫描 · 仓库维护状态
信任档位:仅索引
是什么
dsh 原生插件 · vision
装得上吗
本站尚未做安装检查
安全吗
本站尚未对该插件做风险分级
暂未覆盖,不等同于无风险
还在维护吗
活跃:最近一次提交在 11 天前
档位由哪些信号合成

本站实装验证(真实安装 L4 覆盖全站;L5 为运行时冒烟或实机截图,覆盖范围小于 L4) · 验证所用 dsh 版本 · 静态安装检查 · 风险分级 · 仓库维护状态。 下方各区块是它的证据明细。

验证判据与等级说明 →
社区实装还没有人打卡 · 装过的第一个就是你
安全扫描自动 · 静态分析源码
v2.7.0
🔵 扫描:含敏感能力尚无人工评估
展开查看扫描说明与证据 ↓

静态扫描发现插件具备触达本地系统的能力:执行外部命令、读写/删除本地文件、读取剪贴板或密钥类环境变量(至少其一)。这是能力清单,不是危险判定——具体能力项与证据见下方,安装前请自行判断是否需要。

读写/删除本地文件
查看扫描证据(共 8 处,展示前 8 条)
  • 写入本地文件
    src/archive.ts:74
    await mkdir(this.config.archiveDir, { recursive: true, mode: 0o700 })
  • 读取本地文件
    src/archive.ts:78
    raw = await readFile(this.indexPath, 'utf8')
  • 读取本地文件
    src/archive.ts:113
    await access(path, constants.R_OK)
  • 写入本地文件
    src/archive.ts:115
    await writeFile(path, bytes, { mode: 0o400 })
  • 读取本地文件
    src/archive.ts:147
    return readFile(visual.path)
  • 写入本地文件
    src/archive.ts:218
    await writeFile(this.indexPath, line, { flag: 'a', mode: 0o600 })
  • 删除本地文件
    src/archive.ts:229
    await unlink(visual.path)
  • 读取本地文件
    src/content.ts:16
    if (typeof hostPath === 'string') return readFile(hostPath)
扫描于 2026/11/3(1 天前) · 范围 全包扫描(包内未声明入口) · 来源 GitHub 仓库

静态扫描只反映源码中出现的调用,不构成安全背书;人工评估与自动扫描相互独立、互不覆盖。

依赖的 DSH / Cordis 模块
@deepseek-ai/cordis@deepseek-ai/dsh-attachment@deepseek-ai/dsh-llm@deepseek-ai/dsh-tools@deepseek-ai/schemastery
给这个插件打分还没有人投票↓
用户评分
还没有人投票,来当第一个

为 DeepSeek Harness 提供视觉记忆和主动检查:随时回看任意图像、检查任意区域、读取精确像素。

README

由 DeepSeek 最新模型翻译生成
dsh-vista 为 DeepSeek Harness 提供视觉记忆与主动查看能力。 你的智能体只看一眼图片。dsh-vista 让它随时都能找回来。 DSH 智能体经常处理截图、图表和渲染后的页面,但真正重要的那张图,往往在下一次工具调用或上下文压缩之后就没了。dsh-vista 把见过的每张图都存进一个可寻址的归档,并给智能体三个工具,随时回去翻: - inspect —— 回看任意历史图片,裁剪任意区域,放大时不做平滑处理; - read_pixels —— 从某个区域采样精确颜色,输出紧凑的符号矩阵; - visuals —— 列出智能体已经见过的图片。 每张送到模型的图片都会自动打上稳定 id: <visual id="v12" source="tool:read_image" size="1280x720"></visual> 即使原图已经滑出上下文窗口,模型之后仍能引用 v12。 dsh-vista 实际效果 为什么需要它 - 压缩丢掉的是字节,不是含义。 上下文翻篇之后,dsh-vista 仍能寻址到原始字节。 - 重新截图又贵又有损。 屏幕已经变了;你要的那张图,是三步之前的那张。 - 「再看一遍整张图」不叫查看。 好的视觉智能体会针对具体区域提具体问题。 - 纯文本兜底。 即使模型路由只接受文本,read_pixels 照样能用。
展开完整文档(README 剩余 1 节)
dsh-vista

为 DeepSeek Harness 提供视觉记忆与主动查看能力。

你的智能体只看一眼图片。dsh-vista 让它随时都能找回来。

DSH 智能体经常处理截图、图表和渲染后的页面,但真正重要的那张图,往往在下一次工具调用或上下文压缩之后就没了。dsh-vista 把见过的每张图都存进一个可寻址的归档,并给智能体三个工具,随时回去翻:

- inspect —— 回看任意历史图片,裁剪任意区域,放大时不做平滑处理;
- read_pixels —— 从某个区域采样精确颜色,输出紧凑的符号矩阵;
- visuals —— 列出智能体已经见过的图片。

每张送到模型的图片都会自动打上稳定 id:

<visual id="v12" source="tool:read_image" size="1280x720"></visual>

即使原图已经滑出上下文窗口,模型之后仍能引用 v12。

dsh-vista 实际效果

为什么需要它

- 压缩丢掉的是字节,不是含义。 上下文翻篇之后,dsh-vista 仍能寻址到原始字节。
- 重新截图又贵又有损。 屏幕已经变了;你要的那张图,是三步之前的那张。
- 「再看一遍整张图」不叫查看。 好的视觉智能体会针对具体区域提具体问题。
- 纯文本兜底。 即使模型路由只接受文本,read_pixels 照样能用。

安装

dsh plugin --profile web add dsh-vista

或者锁定版本:

dsh plugin --profile web add dsh-vista@0.1.3

然后验证:

dsh --profile web --dump-config | grep dsh-vista
dsh --profile web

从 GitHub 检出安装:

dsh plugin --profile web add github:ZhangShurong/dsh-vista#v0.1.3

工具

| 工具 | 作用 | 输出 |
| inspect | 选中归档中的 visual 和可选区域;从原图裁剪,用最近邻算法放大。 | 图像块 |
| read_pixels | 把区域划分成等分的行和列,采样每个中心像素。 | 调色板 + 符号行 |
| visuals | 列出最近的视觉对象,含 id、来源、尺寸和时间戳。 | JSON |

inspect 示例:

{
"question": "Did the button move after the click?",
"views": [
{
"label": "button before",
"visual": "v11",
"region": { "x": 1180, "y": 40, "width": 100, "height": 60 }
}
]
}

read_pixels 结果示例:

{
"palette": { "0": "#FF0000", "1": "#0000FF" },
"views": [
{ "label": "quadrant", "visual": "v1", "rows": 2, "columns": 2, "samples": ["01", "11"] }
]
}

read_pixels 只做测量。它不对像素做对齐、变换或解读。

工作原理

tool result / attachment
│
▼
tools/post-execute ──► archive bytes, assign vN, prepend <visual id="vN">
│
▼
model sees: <visual id="v12" ...></visual> [image]
│
├── inspect(v12, region) ──► cropped + enlarged image
├── read_pixels(v12, region) ──► palette + symbol rows
└── visuals() ──► index of previous images

归档按内容寻址,只追加(index.jsonl 加上 archiveDir 下的文件)。送到模型的图像仍由 DSH 的附件服务管理;dsh-vista 另存一份副本,让视觉 id 在压缩和图像卸载后依然有效。

配置

默认值在 src/config.ts。在 bundle 行或配置档补丁里覆盖:

- id: dsh-vista
config:
archiveDir: /home/me/.dsh/dsh-vista/archive
displaySize: 1024
maxInspectViews: 8
maxPixelViews: 16
maxPixelSamples: 4096
annotate: true
retentionDays: 7

| 字段 | 默认值 | 含义 |
| archiveDir | $DSH_HOME/dsh-vista/archive | 字节存储和 index.jsonl。 |
| displaySize | 1024 | 裁剪图最长边的尺寸。 |
| maxInspectViews | 8 | 每次 inspect 调用的视图数。 |
| maxPixelViews | 16 | 每次 read_pixels 调用的视图数。 |
| maxPixelSamples | 4096 | 每次 read_pixels 调用的采样总数。 |
| annotate | true | 在每张归档图像前插入 <visual id="...">。 |
| retentionDays | 7 | 删除更早的归档视觉对象;0 表示永久保留。 |

已在 DSH 0.2.1-rc.2 上验证

用 deepseek-flash 做了端到端测试:

1. read_image 返回图像;dsh-vista 归档它,并追加 <visual id="v1" source="tool:read_image" size="16x16">。
2. visuals 列出 v1。
3. inspect 裁剪并放大归档图像,返回模型可见的 1024×1024 PNG。
4. read_pixels 返回预期的 01 / 11 颜色采样。
5. 模型正确描述了红蓝象限。

src/content.ts 里的附件桥接使用:

ctx.attachments.saveImage({ data, mediaType, name })
ctx.attachments.imageHostPath(ref)

两者都在已安装的 @deepseek-ai/dsh-attachment 中确认可用。

有意不做的事

- 没有环境适配器(ARC-AGI-3、GameWorld、浏览器自动化)。
- 没有 play / act 动作工具。
- 没有每回合只允许一个动作的策略、预算或评估框架。
- 没有 Python sidecar。

这些都属于后续插件。这个插件只回答一个更窄的问题:可寻址的视觉记忆加上主动检查,能否改善 DSH 智能体的视觉工作?

开发

pnpm install
pnpm typecheck
pnpm build
npm pack --dry-run

这个包是 ESM bundle。lib/ 是生成产物;assets/ 存放 logo 和 README 图片。

发布

发布在 GitHub Actions 里跑,不在本地笔记本上跑。

打标签触发(推荐):

npm version patch # or minor / major
git push --follow-tags

手动按钮:

Actions → Publish → Run workflow → 选择 patch、minor 或 major。
工作流会升版本号、提交、打标签并发布。

工作流使用 npm Trusted Publishing(OIDC),发布时带 provenance。一次性设置:

1. 打开 https://www.npmjs.com/package/dsh-vista/access
2. 添加 Trusted Publisher → GitHub Actions:
- Owner:ZhangShurong
- Repository:dsh-vista
- Workflow filename:publish.yml
3. 不需要 NPM_TOKEN secret。

如果你更想用 token,添加 NPM_TOKEN 仓库 secret,并在发布步骤上设置 NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }}。

CI(.github/workflows/ci.yml)在每次 push 和 pull request 时跑 typecheck、build 和 npm pack --dry-run。

许可证

MIT
预览分享卡片长什么样 ↓ZhangShurong/dsh-vista
分享 · DeepSeek Harness Hub
ZhangShurong/dsh-vista

随时回看历史图片并精确读取指定区域像素

这是你的仓库?认领条目

回到顶部