图片反馈 · Image Feedback
English · 测试范围 · 安全与数据处理 · 市场收录
DeepSeek Harness 原生右侧栏插件:框选后直接写意见,拖动选区调整位置,再将原图、编号参考图与反馈独立发送到当前会话。
- 包标识:
@yyyzl/dsh-image-feedback,版本0.1.0。 - 分发:本仓库的 GitHub Releases,不是 npm。保留
private: true防止误发布到 npm;包名不代表 npm 上已存在该包或已确认同名 scope 的所有权。 - 兼容性边界由清单声明;原本地实现已在 Harness
0.2.1-rc.2验证过主要交互。公开命名版本的实机安装和旧版迁移尚未验证,详见测试说明。 - 市场状态:开放插件市场申请 #53 已提交,待审核,尚不代表收录。
- 这是第三方插件,不是 Harness 官方组件。不需要独立服务器,不修改宿主 ASAR。
已安装
@local/dsh-image-feedback?先阅读下面的迁移步骤。不能同时启用旧版和公开版,它们共享存储域、命令和界面标识。
安装
安装前在 v0.1.0 Release 核对预构建包和 SHA256SUMS.txt,使用下方固定版本地址。
请当前 Harness 会话中的 Agent 使用正式 plugin_manager 工具。先查询:
{"action":"list_bundles"}
确认没有冲突的旧版处于启用状态后,再安装:
{"action":"install_bundle","target":"https://github.com/yyyzl/dsh-image-feedback/releases/download/v0.1.0/yyyzl-dsh-image-feedback-0.1.0.tgz"}
安装影响当前 profile 的所有会话。遵循管理工具返回的版本限制、警告和后续操作;需要刷新或重启时按提示执行。不要手动编辑 profile、替换宿主文件或绕过版本限制。
停用前再次核对 bundle 名称,然后使用:
{"action":"set_bundle","target":"@yyyzl/dsh-image-feedback","enabled":false}
重新启用将 enabled 改为 true;卸载使用 remove_bundle。停用本身不会清除已有素材、草稿或浏览器恢复数据。
从本地旧版迁移
- 完成当前文字编辑,等待保存成功;重要草稿先导出反馈 JSON。关闭旧版侧栏。
- 通过
list_bundles确认旧包,再用set_bundle将@local/dsh-image-feedback设为停用。 - 按上面的正式流程安装公开版。遵循管理工具的刷新或重启提示,再打开图片反馈。
- 在原会话核对素材和草稿。若不一致,停止编辑,保留导出文件并报告问题,不要手工搬动或删除宿主存储。
公开版保留 dsh_image_feedback 存储域、草稿 schema、恢复键以及原侧栏标识,以减少兼容性变化。这不是已完成迁移测试的保证。发布仓库和发布包不会自动升级原有本地安装。
使用
- 点击聊天输入框工具行的 图片反馈,打开侧栏。
- 粘贴、拖入或选择图片,也可打开 会话图片。路径和 Base64 导入位于更多菜单;意见框内的粘贴仍按文字处理。
- 保持默认 选择,在图上拖出矩形。松手后意见框自动获得焦点,可直接输入,不必再点“添加意见”。
- 拖动矩形调整布局:真正移动时才拆为图块;不移动则保留位置批注。直接拖动已有图块即可继续移动。
- 点击 发送反馈,独立提交真实原图、红色编号参考图和结构化意见,不发送或清空聊天输入框原有草稿。填入文字 只插入反馈文本,不携带图片,也不自动发送。
只移动图块、不写文字也可以发送。“已排队”表示宿主接收请求,不代表模型已生成修改结果。
常用操作
- 标记为红色,编号为白字红底;导出的参考图使用同样的标记颜色。
- 点击编号或意见行继续编辑。意见失焦时完成编辑;新建的空意见会取消。Esc 取消当前文字事务,Ctrl/Cmd+Enter 完成。
- 一次文字编辑或一次拖动对应一个撤销步骤。画布获得焦点后可用 Ctrl/Cmd+Z 撤销、Ctrl/Cmd+Shift+Z 重做;文字框保留正常文本快捷键。
- 点批注:点击编辑,拖动编号改变位置,不移动图像像素。自由点限制在画布内,绑定图块的点保留绑定并限制在图块内。
- Shift 拖动可在已有选区内重新框选;方向键微调选中图块,Shift+方向键加速。
- 平移工具、空格拖动或中键拖动用于查看放大的图像。选中图块后可复位;移除带意见的图块需要确认。
保存和边界
- 素材使用 Harness 附件存储;草稿按会话和图片自动保存,并有浏览器本地恢复检查点。
- 多窗口保存使用版本校验,冲突不会静默覆盖。出现冲突或保存失败时先导出重要反馈,再明确选择重试或重新读取。
- 同一反馈的发送重试复用请求 ID;结果不确定时不要为了重试而创建新 ID。撤销历史仅属于当前运行期,不承诺跨重启恢复。
- 坐标使用宿主正规化后的原图像素。原图不改写,图块只平移,不缩放;来源区域不能重叠,目标区域可以叠放,移动限制在画布内。
- 路径导入读取的是 Host 机器上的文件,不是浏览器所在机器;权限取决于当前宿主文件服务,插件不会在拒绝后改用其他读取方式。
- 不提供 OCR、语义抠图、补背景、旋转、视频或多图批处理。发送的数据处理和删除边界见安全说明。
开发与验证
开发请克隆 Git 仓库,而不是修改已安装的包。准备 Node.js 22+ 和 pnpm 11.28.5(由仓库清单的 packageManager 固定),在仓库根目录运行:
pnpm install --frozen-lockfile --ignore-scripts
pnpm test
pnpm run build
pnpm run check
已记录的自动化基线是 120 项确定性测试,不是 120 项浏览器 E2E。公开命名版本、安装包、迁移与真实 UI 的验收必须分别记录,不能由构建成功推定。详见测试说明和贡献指南。
源码修改不会自动更新已安装的客户端制品;先构建,再按正式安装流程更新并刷新原 Harness 页面。不要为验证插件另起一个替代服务器。
许可
本项目代码及原创图标使用 MIT 许可证。实现参考了 EditHere 的交互思路,但独立编写,不包含其代码、图标或设计资产,也不声称获得其背书。此说明不是对所有第三方权利的法律认证。Zod 保留其自身 MIT 许可;React 使用宿主实例,不另行打包。
No comments yet. Be the first to write one.