cc-haha/release-notes/v0.5.12.md
你的姓名 87c49aa7a4 merge: resolve release-notes conflict with main
Combine main's Workspace LSP release notes with image-gen plugin
feature notes. Keep main's editor-lsp-foundation content and add
new sections for image-gen MCP plugin, desktop plugin config, and
inline image rendering.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-06-14 14:38:43 +08:00

4.8 KiB
Raw Blame History

v0.5.12

本版本聚焦 Workspace LSP 的产品链路收尾:桌面工作区编辑器会把打开、修改、保存事件同步给 Workspace LSP 服务,并通过标准 textDocument/publishDiagnostics 接收语言服务器诊断。自定义 LSP 服务器配置现在可以从桌面设置持久化进入工作区 LSP 流程,并且在扩展名重叠时优先于内置预设。

同时新增 image-gen MCP 插件,支持多 provider 图像生成 + 自动 fallback桌面端新增插件可视化配置和聊天内图片渲染。

新功能

Workspace LSP 自动诊断链

  • 工作区编辑器在文件 open / change / save 时调用 session LSP sync API服务端启动匹配的语言服务器并发送 LSP 文档同步通知。
  • 诊断只来自语言服务器的 textDocument/publishDiagnostics 通知,桌面按文件 URI 缓存并展示错误、警告、信息和提示级别诊断。
  • LSP 状态接口返回当前文件匹配到的 server name、command、ready / starting / unavailable 状态和启动错误,保留工作区路径校验,拒绝越界路径。

自定义 LSP 支持

  • 支持用户提供自定义 LSP path 或裸 command,并使用独立 args: string[] 传参;不接受 shell 字符串拼接Windows 含空格的绝对路径可作为 path 使用。
  • 自定义 extensionToLanguage 映射会覆盖重叠扩展名的内置预设。例如用户为 .ts 配置自定义 server 时,.ts 会路由到自定义 server.tsx / .js / .jsx 仍可继续使用 TypeScript 预设。
  • 桌面设置 store 新增 workspaceLsp 持久化字段Workspace Panel 的 LSP state / diagnostics / sync 请求会自动带上该配置并触发必要的重启。

image-gen MCP 插件

  • 新增多 provider 图像生成 MCP 插件,支持 Agnes、GPT-image-2、DALL-E、Gemini image、Flux、Stable Diffusion 等 OpenAI 兼容 API。
  • 3 个可配置 provider 槽位,按优先级顺序调用,失败自动 fallback。
  • 每个 provider 内部支持完整参数 → 精简参数兼容重试(借鉴 spriteflow
  • 内置模型能力数据库agent 可查询每个模型支持的尺寸、编辑、透明背景等能力。
  • SSRF 防护阻止内网地址、file://、ftp:// 等危险 URL。

桌面端插件配置

  • 新增 PluginConfigModal 组件,支持可视化配置插件 userConfig 选项。
  • PluginDetail 详情页新增 Configure 按钮(当插件有 userConfig 时显示)。
  • 新增 GET/POST /api/plugins/options API 端点,敏感值返回 ********

聊天内图片渲染

  • Tool result 中的 MCP image content block{ type: 'image', data, mimeType })现在在聊天 UI 中渲染为内联图片。
  • 支持 MCP image block 和 OpenAI-style image_url block 两种格式。

修复

  • 修复自定义 LSP server 被内置 preset 抢占同扩展名的问题。
  • 修复桌面设置中的自定义 LSP 配置未进入 Workspace LSP 产品链路的问题。
  • 修复 image-gen 插件 IPv6 SSRF 防护绕过([::1] vs ::1)。

范围说明

  • 本版本没有实现语言服务器安装器,也不打包 typescript-language-server / pyright / rust-analyzer
  • 本版本没有手写 rust-analyzer 或 TypeScript 诊断;诊断来源仍是语言服务器发布的 publishDiagnostics
  • Settings UI 的完整表单仍可后续补齐;当前交付的是可持久化的设置/API/store hook 与 Workspace LSP 流程接线。
  • image-gen 插件为独立 MCP server不影响现有 CLI 或桌面功能。

验证

  • 服务端 Workspace LSP 单元测试覆盖:路径越界保护、自定义绝对路径与 args 数组、自定义 .ts 覆盖 TypeScript 预设、publishDiagnostics 缓存映射、open/change/save 同步。
  • 桌面 store 单元测试覆盖:自定义 LSP 设置持久化与规范化、Workspace Panel 向 LSP state / diagnostics / sync 请求注入持久化配置、空配置不注入。
  • image-gen MCP server 验证初始化、tools/list、list_providers 能力信息、prompt 空校验、n 参数 clamp、edit 能力检查、SSRF 防护IPv4 私有地址 + IPv6
  • 桌面 TypeScript 编译通过。

editor-lsp-foundation 全景

v0.5.11 + v0.5.12 联合闭合 .kiro/specs/editor-lsp-foundation/ 的 47 task

Phase 内容 PR Release
Phase 1 默认 'all' 视图 #23 v0.5.11
Phase 2 CodeMirror 编辑器 + 原子保存 + 冲突 banner #24 v0.5.11
Phase 3 LspManager + LspStatusIndicator #26 v0.5.11
Phase 4 agent 编辑桥 #29 v0.5.12
Phase 5 Solo lspErrorCount 信号 #27 v0.5.11
收尾 release notes + spec 关闭 (本 PR) v0.5.12

剩余的"WorkspaceEditor 接入 WorkspacePanel header"与"production LspClientFactory 包 typescript-language-server"是 spec 范围外的下一阶段工作——前 5 phase 把所有底座组件铺好,集成到 panel 是单独的小 PR。