Skip to content

feat: 移除视觉代理 + Composer 图片门控;docs/ 立索引与踩坑库;skill 索引引用条件式 - #39

Merged
Jaxton07 merged 3 commits into
mainfrom
remove-vision-proxy
Aug 28, 2026
Merged

feat: 移除视觉代理 + Composer 图片门控;docs/ 立索引与踩坑库;skill 索引引用条件式#39
Jaxton07 merged 3 commits into
mainfrom
remove-vision-proxy

Conversation

@Jaxton07

Copy link
Copy Markdown
Owner

概要

三个 commit(squash 后为一体):

1. 移除视觉代理 + Composer 图片门控(-1248 行净删)

多模态已成新模型标配(kimi k3 全系 / gpt-5.4+ / glm-5.3-flash 等),外挂识别是二手转述,原生多模态严格更优 → 整链路删除:

  • 删除:backend src/vision/(client/config/proxy-extension)+ 2 测试;shared vision.ts + IPC 4 通道;desktop main/preload 接线、VisionPanel、设置分类、store 字段、App.tsx 语言推送、i18n 双字典 vision 块、演示脚本 vision 帧、README bullet
  • 新增门控(堵住删除后的坑:纯文本模型贴图会 provider 400 / read 图片静默丢图):AvailableModel.imageInput?listModelsm.input.includes("image") 下发,查不到缺省 = fail-open);Composer 四点拦截——+ 按钮禁用+title、粘贴 preventDefault+toast、handleFiles 早退、发送拦截保草稿(多模态切纯文本后残留图场景);提示走右上角 Toaster(composer.imageUnsupported
  • compaction-image.test.ts 保留(钉 SDK 压缩行为,与视觉代理无关)
  • 发版说明待办:视觉代理已移除,遗留 userData/vision.json(内含 key)可手动删除

2. docs/ 立索引与踩坑库

  • .local/docs/INDEX.mddocs/INDEX.md(入库共享;.local 内 release/design 等仍不入库,根相对路径不变)
  • 踩坑记录从 AGENTS.md 抽出为 docs/PITFALLS.md:症状快速索引表 + 五类条目(事故复盘/SDK 集成/构建打包环境/Renderer/工程纪律),内容原样保留

3. 内置协作 skill 索引引用条件式

design-handoff / channel-pickup 随 app 分发、作用于任意项目,但文本把本仓库文档约定固化了进去(必读/必更新 INDEX.md、.local/docs/design/ 历史路径)——其他项目里找不到文件、甚至可能让 agent 凭空造 INDEX.md。全部改为条件式(AGENTS.md 指路,如有则读/更新,没有就跳过不新建);percho 特有索引纪律留在 docs/INDEX.md + AGENTS.md。

测试

  • npm run typecheck 0 error
  • npm run lint clean(366 files)
  • npm run test backend 440 + desktop 289 全过
  • 新增 pi-backend-models.test.ts imageInput 3 用例(true/false/fail-open 缺省)
  • CDP 手测 9 用例(设置无视觉分类、纯文本模型 + 按钮禁用/贴图拦截/发送拦截保草稿、多模态回归、fail-open 未知模型放行)

视觉代理(为纯文本模型外挂的多模态识别)整链路删除:多模态已成
新模型标配,外挂识别是二手转述,原生多模态严格更优。

- backend: 删 src/vision/(client/config/proxy-extension)+ 2 测试;
  pi-backend 删 visionConfig 服务与四方法、buildExtensionFactories 注册
- shared: 删 vision.ts 与 IPC 4 通道(getConfig/saveConfig/test/setLanguage)
- desktop: 删 main/preload 接线、VisionPanel、设置分类与 store 字段、
  App.tsx 语言推送、i18n 双字典 vision 块、演示脚本 vision 帧、README bullet
- AvailableModel 新增 imageInput?(listModels 按 m.input.includes("image")
  下发,查不到/异常缺省 = fail-open 不拦截)
- Composer 图片门控四点:+ 按钮禁用+title、粘贴 preventDefault+toast、
  handleFiles 早退、发送拦截保草稿(多模态切纯文本后残留图场景);
  提示走右上角 Toaster 卡(composer.imageUnsupported)
- compaction-image.test.ts 保留(钉 SDK 压缩行为,与视觉代理无关)
- 遗留 userData/vision.json(含 key)未删,发版说明提一句可手动删除

净 -1248 行。设计/spec/review 记录在 .local/agent-work/(不入库)
- .local/docs/INDEX.md → docs/INDEX.md:索引入库共享,维护规则同步
  (.local/ 内 release.md/design 等仍不入库,路径引用不变——均为
  仓库根相对路径);旧路径留重定向占位(防旧 skill 指引失效)
- AGENTS.md 踩坑记录段抽出为 docs/PITFALLS.md:新增症状快速索引
  (症状 → 章节),条目分五类(事故复盘/SDK 集成/构建打包环境/
  Renderer/工程纪律),内容原样保留;AGENTS.md 原段改为指针
  (遇问题优先查 PITFALLS)
- 同步引用:design-handoff / channel-pickup 两个内置 skill 的
  INDEX 路径(共 3 处)
design-handoff / channel-pickup 随 app 分发、作用于任意项目会话,
但步骤文本是本仓库 dogfood 时写的,把 percho 自己的文档约定固化了
进去(读/必更新 INDEX.md、旧 spec 在 .local/docs/design/ 等)——
在别的项目里要么找不到文件、更糟的是可能让 agent 凭空造一个
INDEX.md。

- 全部 INDEX 步骤改为条件式:项目若有索引/导航文档(AGENTS.md
  通常会指路)则读/更新,没有就跳过、明确「不要新建」
- channel-pickup 读文档顺序去掉 .local/docs/design/ 历史路径提示,
  统一「以 HANDOFF 里写的为准」
- percho 特有索引纪律保留在本仓库 docs/INDEX.md 维护规则 +
  AGENTS.md「文档(入库)」段,不随 skill 分发
@Jaxton07
Jaxton07 merged commit 0769dbd into main Aug 28, 2026
1 check passed
@Jaxton07
Jaxton07 deleted the remove-vision-proxy branch August 28, 2026 09:51
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant