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

74 lines
4.8 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 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。