前言¶
DeepSeek Harness(DSH)内置的视觉卸载默认值限制大约是 20MB 或 600 张图片。很多 OpenAI 兼容的中继网关(relay providers)通常在这之前就会崩溃。每次 read_image 或粘贴图片都会保留在历史记录中,并在下一轮对话时重新发送。
插件介绍¶
dsh-image-amnesia 是一个 DeepSeek Harness 配置包。它由 Choco-Zz 维护,旨在保持原生视觉能力(如 Grok、Claude、GPT 等)的同时,阻止历史图片被重复上传到中继提供商。
核心功能¶
- 保持原生视觉:确保当前对话能正常使用视觉模型。
- 丢弃历史图片:在发送给中继提供商的请求之前,丢弃旧的历史图片。
- 保留最新图片:始终保留最新的
keepAtLeast张图片。 - 资源优化:减少 token 使用量,防止中继提供商崩溃。
- 全局覆盖:配置文件中的所有代理(包括子代理和任务板任务)都会使用该插件。
安装与启用¶
安装一次即可覆盖整个配置文件,无需为每个代理单独安装。
# Web Profile
pnpm dsh plugin --profile web add github:Choco-Zz/dsh-image-amnesia
# Desktop Profile
pnpm dsh plugin --profile desktop add github:Choco-Zz/dsh-image-amnesia
# 本地检出
pnpm dsh plugin --profile web add "link:D:/CodexProjects/dsh-image-amnesia"
配置¶
插件安装后,可以通过编辑配置文件来调整保留策略。
| Key | Default | Meaning |
|---|---|---|
enabled |
true |
总开关 |
maxImages |
6 |
出站请求中保留的图片数量 |
maxBytes |
6291456 |
保留图片的字节预算 |
keepAtLeast |
1 |
永远不丢弃最新的 N 张图片 |
可以在 settings.yaml 中编辑 image-amnesia.maxImages,或者编辑该包自带的 cordis.patch.yml。
验证¶
在单次会话中粘贴七张图片。查看宿主日志:
dsh-image-amnesia: dropped 1/7 image(s); kept 6
注意事项¶
- 安装位置:每个配置文件安装一次即可,不要为每个代理单独安装。
- 本地存储:本地会话仍然会存储所有原始图片,只有发出的出站请求会被投影处理。
- dsh.client:不要添加假的
dsh.client组件,除非它是一个真实的 lazy-CJS 客户端包(否则会阻止 DSH Desktop 启动)。 - 许可证:MIT 许可证。
结尾¶
该插件通过在出站请求前丢弃旧图片并保留最新图片,有效解决了中继提供商因图片过多而崩溃的问题,适合需要频繁使用视觉功能的 DSH 配置文件。