Skip to content

feat(控制台): 接入指南扩展40项全量MCP工具与前端交互体验优化 - #4

Merged
xiaolfeng merged 5 commits into
masterfrom
featrue/frontend-updater
Sep 23, 2026
Merged

xiaolfeng merged 5 commits into
masterfrom
featrue/frontend-updater

Conversation

@xiaolfeng

Copy link
Copy Markdown
Owner

特性概述

全面重构控制台 MCP 接入指南体系,将前端单一数据源与展示层完整对齐后端 8 大核心能力域共 40 项 Streamable MCP 工具(补齐 Preview 行级编辑、文件删除以及 Preview LPW 8 项节点增量编排工具族);加固站点域名格式校验与下游链路安全,并集成实时预览平滑过渡动效、项目管理台账联动与安全增强。

核心能力与变更清单

  • MCP 接入指南与数据源扩展:
    • 更新 web/src/lib/mcp-connect.ts,新增 preview_lpw 模块定义,补齐 preview_file_edit 与 preview_file_delete,收敛 40 项全量 MCP 工具单一数据源;
    • 扩展协作工作流为 8 个标准操作步骤,涵盖行级精准编辑微调与出版级 LPW 节点大纲编排指引;
    • 联动更新控制台接入指南(tool-catalog.tsx、plugin-install-panel.tsx)与公开落地页(start.tsx、tech-section.tsx)能力分类与工具总数文案,为 preview_lpw 配置专属图标映射。
  • 站点域名与下游链路安全加固:
    • 服务端(internal/logic/settings.go)新增并导出 ValidateSiteDomain,严格拦截空格、换行符、Unicode 分隔符、命令行控制字符、账号凭据以及 ? 查询参数与 # 页面锚点,防止下游拼接生成异常的 Q&A 交互链接、Preview / Pages 深链;
    • internal/logic/qa_logic.go 的 UpdateQaConfig 配置写入分支接入统一的域名格式校验,杜绝绕过隐患;
    • 新增 settings_validation_test.go 单元测试,全面覆盖有效与各类恶意格式的拦截逻辑。
  • 前端交互与预览沙盒体验增强:
    • 优化 Preview 沙盒实时更新过渡动效,消除硬核白屏并加固内部导航安全;
    • 优化项目管理台账全量过滤联动、抽屉动态资产状态,以及系统设置页 ESC 防误触;
    • 允许沙盒 iframe 弹出新窗口并安全放行 allow-popups。

破坏性变更与兼容性

  • 是否包含破坏性变更:否。
  • 依赖项与外部契约变化:未引入外部第三方依赖;全量 MCP 工具注册名与后端既有定义严格契约对齐。

运维与基础设施考量

  • 配置 / 环境变量要求:无新增必填环境变量。
  • 基础设施及 GitOps 影响:无。单二进制构建与多阶段 Docker 镜像打包流水线保持兼容。
  • 注意事项:代码合入 master 分支后,由 CI/CD 自动执行测试门禁与发布流程。

验证与验收记录

  • 测试覆盖与结果:
    • 前端单元测试:通过 pnpm --filter web test(35 个测试套件,171 项测试全绿);
    • 前端工具集测试:通过 src/lib/mcp-connect.test.ts(20 项测试全部通过);
    • 前端代码质量与规范:eslint 零错误,Prettier 格式校验全部通过,pnpm --filter web build 生产构建成功;
    • 后端质量门禁:通过 make check(包含版本连续性检查、go vet ./...、全包竞态测试 go test -race -count=1 ./...)。

原因: 预览沙盒原本只配置 allow-scripts,当预览内容含 target="_blank" 或 window.open 时会被浏览器拦截并报错
内容:
- 前端 PreviewFrame 组件在 iframe sandbox 属性中追加 allow-popups
- 后端 serve.go 与 preview.go 在直出 HTML/SVG 响应头 CSP sandbox 指令中追加 allow-popups
- 补充前端单元测试断言沙盒属性正确性
影响: 预览中的外部超链接与弹窗可正常在新窗口中打开,不破坏原有 opaque origin 安全隔离
- 项目管理: 外层展示别名并集成富信息 Tooltip 浮窗,增加 4 栏空间 KPI 概览带与 Lucide 紧凑操作组,支持侧滑详情概览抽屉
- 系统设置: 二级路由下专属 SettingsSidebar 全量接管主侧栏,顶栏右侧集中退出按钮与 ESC 监听,表单改用无浮起 Card 发线属性网格与粘性底栏
- 关联修复: 动态接入真实 Wiki/Pin/Preview 资产徽章,支持快捷分类胶囊与直达 Wiki Reader
- 项目管理: 在空间作用域下拉取全量项目支持胶囊与搜索跨页过滤,分页总数真实同步当前过滤集
- 详情抽屉: 动态接入真实 Wiki 版本、待办 Pin 与 Preview 活跃沙盒状态,消除静态占位文本
- 系统设置: 修复全局 ESC 监听守卫,弹窗打开时优先关闭弹窗避免误退看板
- 样式对齐: 移除 Tooltip 多余小箭头,外层别名增加超长截断保护
原因: WebSocket 实时推送及文件切换时存在全屏遮罩硬刷新白屏,且导航消息未鉴权
内容:
- 使用 motion.div 驱动 iframe 透明度快速淡入淡出并辅以顶部细进度条
- 过渡期间增加 pointer-events-none 拦截误触,并提供 5s 超时恢复保护
- 代码与 Markdown 查看器在同文件更新时保留现有内容,避免卸载重挂闪烁
- 严格校验 lumina:navigate 消息的 event.source 是否归属预览 iframe
- 内部超链接跳转时保留原生 hash 与 query,避免参数丢失与二次硬重载
- 补齐相关动效降级、超时容灾与来源鉴权单元测试
影响: 预览工作台协同更新与多文件浏览更平滑无感,消除白屏撕裂与路由劫持隐患
- 扩展 web/src/lib/mcp-connect.ts 补齐 preview 行级工具及 preview_lpw 8项工具族
- 统一接入指南与落地页展示文案为 8 大核心能力域与 40 套协作工具
- 丰富 MCP 协作工作流步骤,新增行级精准微调与出版级 LPW 节点编排指引
- 加固 settings.go 与 qa_logic.go 中 site.domain 校验,严格拦截参数、锚点与凭据
- 补齐前端单测与后端域名安全性单元测试

关联 LUMINA-23
@xiaolfeng
xiaolfeng merged commit 5843a90 into master Sep 23, 2026
2 checks passed
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