Commit Graph

816 Commits

Author SHA1 Message Date
Syngnat
a575fb49db 🐛 fix(ci): 修复DuckDB动态库同路径复制问题 2026-06-08 17:14:27 +08:00
Syngnat
53b4fcb842 feat(ai-mcp): 补强MCP参数填写引导 2026-06-08 17:06:58 +08:00
Syngnat
2c95009d1f feat(ai-tools): 新增工作区页签探针并拆分界面洞察模块 2026-06-08 17:05:29 +08:00
Syngnat
5b8bbd672e feat(ai-mcp): 优化外部客户端接入引导与状态识别
- 调整 Claude Code 和 Codex 的安装文案与状态标签,明确是把 GoNavi 暴露给外部客户端使用
- 优化 MCP 客户端默认选择逻辑,优先聚焦未接入或需更新的目标并避免刷新后乱跳
- 同步补齐前端 mock、后端状态文案和定向测试,确保安装区交互与状态展示一致
2026-06-08 16:29:53 +08:00
Syngnat
54f1f6970c 🐛 fix(ci): 增强DuckDB库下载容错
- 为 Windows DuckDB 动态库下载增加 curl 重试和超时控制
- 增加 zip 校验与 duckdb.dll/duckdb.lib 存在性检查
- 下载失败时清理临时目录后重试,避免空文件继续参与链接
- 同步修复 dev-build 与 release 工作流的相同脆弱点
2026-06-08 16:14:05 +08:00
Syngnat
8a1e65640e feat(ai-tools): 新增最近SQL日志探针
- 新增 inspect_recent_sql_logs 内置工具用于回看最近 SQL 执行历史
- 接入本地工具执行链,支持按成功或失败状态筛选日志
- 更新 AI 设置内置工具目录、流程说明和工具状态文案
- 完成 vitest、生产构建与预览页内置工具目录验证
2026-06-08 16:10:09 +08:00
Syngnat
0312dfbb16 ♻️ refactor(ai-chat): 拆分洞察与历史模式视图
- 提取 AI 面板的自动洞察与内联历史为独立展示组件
- 保持会话切换与发送主链留在 AIChatPanel 中
- 补充模式内容与消息边界相关回归测试
- 完成 vitest、生产构建与本地预览切换验证
2026-06-08 15:50:40 +08:00
Syngnat
02afeba564 🐛 fix(ci): 为driver-agent压缩增加metadata自检回退
- 在 UPX 压缩脚本里增加 driver-agent metadata 烟测
- 压缩后若 metadata 探测失败则自动恢复原始二进制
- 避免单个驱动因 UPX 压缩后失效导致整个平台构建失败
- 补充压缩脚本的 smoke test 覆盖恢复路径
2026-06-08 09:49:38 +08:00
Syngnat
1a2462ef17 🐛 fix(ai-settings): 修正MCP环境变量录入反馈
- 抽离环境变量草稿解析工具,区分有效项和无效行
- 保留用户原始输入,避免无效行被静默吞掉
- 在 MCP 服务卡片中显示识别数量与无效行提示
- 补充环境变量解析与卡片提示测试
2026-06-08 09:29:40 +08:00
Syngnat
c76b634739 ♻️ refactor(ai-settings): 拆分供应商配置视图组件
- 外提供应商列表与编辑表单组件,收敛 AISettingsModal 体积

- 保留 API Key 掩码、预设卡片切换与返回编辑流

- 补充定向测试、前端构建和真实预览验证
2026-06-08 09:14:55 +08:00
Syngnat
fc88e21811 feat(ai-settings): 补充全库结构快照并拆分AI设置侧栏
- 新增 inspect_database_bundle 内置工具与状态文案

- 拆分 AI 设置导航、安全控制和上下文卡片组件

- 补充定向测试、前端构建和真实预览验证
2026-06-08 09:00:59 +08:00
Syngnat
e1cebb1c9a feat(ai-settings): 优化MCP录入引导并补充结构快照工具
- 新增完整命令自动拆分与提示词设置分区,降低 MCP 配置门槛

- 新增 inspect_table_bundle 内置工具并补充状态文案

- 补齐定向测试、前端构建与预览验证
2026-06-08 08:24:27 +08:00
Syngnat
7d7b775fe0 feat(ai-settings): 优化MCP安装引导并补充表样例预览工具
- 拆分 Skills 区块并补充 MCP 启动模板\n- 改造 Claude/Codex 安装目标选择与状态展示\n- 新增 preview_table_rows 内置工具与目录说明
2026-06-08 08:00:43 +08:00
Syngnat
6c53fb14a6 feat(ai-mcp): 补全跨表字段探针并拆分 MCP 设置区块
- 新增 get_all_columns 内置工具和 MCP server 只读探针
- MCP 服务表单增加实际启动命令预览并补强参数提示
- 抽离 AISettingsMCPSection 并补齐前后端测试
2026-06-08 07:29:52 +08:00
Syngnat
aad0f447c0 🐛 fix(ci): 为前端产物下载增加重试保护
- 为 build 阶段的 frontend-dist 下载增加失败清理和一次自动重试
- 将前端产物固定下载到 frontend-artifact 目录并在解压前校验 tar 文件存在
- 同步加固 dev 与 release 工作流,降低单个 runner 下载抖动导致的误报失败
2026-06-08 06:54:00 +08:00
Syngnat
9d3c77755d ♻️ refactor(ai-message): 拆分消息气泡渲染并补齐展示测试
- 抽离 AIMessageMarkdown 与 AIMessageStatusBlocks,拆分代码块、思考态和探针状态渲染职责
- 优化探针结果查找链路,使用 Map 减少消息渲染时的重复扫描
- 新增消息气泡与 Markdown 代码块测试,并完成 build 与浏览器验证
2026-06-08 06:45:40 +08:00
Syngnat
67dd178166 ♻️ refactor(ai-input): 拆分上下文弹窗并完善命令反馈
- 抽离 AI 输入区的上下文选表弹窗和斜杠菜单,降低 AIChatInput 体积与重复逻辑
- 合并图片粘贴与 slash 状态处理,减少 V1/V2 两套输入分支的重复代码
- 新增 /命令无匹配空状态提示,并补做测试、构建与真实页面验证
2026-06-07 23:19:38 +08:00
Syngnat
802385464d ♻️ refactor(ai-chat): 抽离本地工具执行器并补齐测试
- 将 AIChatPanel 中本地工具执行 switch 抽成独立 helper,降低主面板耦合度
- 为表结构、SQL 安全拦截和工具结果映射补充独立单测
- 保持 AI 面板交互不变,补做构建与浏览器冒烟验证
2026-06-07 22:40:07 +08:00
Syngnat
eff2f7f63a feat(ai-mcp): 补全结构探针并优化客户端接入体验
- 新增 get_indexes、get_foreign_keys、get_triggers 内置工具与 MCP Server 对应实现
- 拆分 AI 设置中的 MCP 接入面板和服务卡片,补充参数提示与客户端状态展示
- 补齐前后端测试与真实页面验证,降低 AI 设置区域的臃肿度
2026-06-07 22:06:24 +08:00
Syngnat
7039eae9c7 🐛 fix(ai-chat): 统一历史模式会话排序
- 面板内历史模式按最近更新时间优先展示会话

- 保持与历史侧栏一致的最近会话浏览体验

- 增加静态测试防止排序逻辑回退
2026-06-07 21:10:39 +08:00
Syngnat
fbed6580fa feat(ai-chat): 增加提示动作并完善历史侧栏体验
- 缺少供应商或模型时在提示区提供可执行入口

- 历史侧栏按更新时间排序并在重新打开时重置搜索

- 替换 Drawer 废弃属性并补充定向测试
2026-06-07 21:05:09 +08:00
Syngnat
7cdd2bd6c0 🐛 fix(ci): 补齐 MCP SQL 检查实现文件
- 将 internal/app/sql_inspect.go 纳入版本控制

- 让 Wails 绑定生成和 mcpserver 依赖的 SQLInspection 类型重新闭合
2026-06-07 20:36:42 +08:00
Syngnat
651c452fe1 🐛 fix(ci): 让 Go 版本跟随 go.mod
- 将 dev-build 的两处 setup-go 改为读取 go.mod

- 同步修正 release workflow,避免构建 Go 版本再次漂移
2026-06-07 20:32:18 +08:00
Syngnat
5b843ee25b feat(ai-mcp): 完善外部客户端安装链路并收紧 SQL 安全控制
- 新增 GoNavi MCP stdio server 与 Claude/Codex 用户级安装入口

- 增加安装状态检测、刷新复制能力和浏览器联调 mock

- 外部 execute_sql 对齐 GoNavi safetyLevel 并补充前端/后端验证
2026-06-07 20:27:50 +08:00
Syngnat
f7d71c6c5c feat(ai): 增加用户提示词与 MCP/Skills 扩展能力
- 支持用户级自定义提示词加载保存与聊天会话注入

- 新增 MCP 服务配置、工具发现与按次调用链路

- 增加 Skills 配置、作用域注入与前后端类型同步

- 补充配置存储与前端行为测试并更新依赖
2026-06-07 17:56:45 +08:00
Syngnat
dda8bbb6e3 🐛 fix(mysql): 修复 GDB 连接参数不兼容导致的握手失败
- 优化 MySQL 兼容 DSN 默认参数
- 在连接验证阶段增加 multiStatements 兼容回退
- 补充相关单元测试覆盖

Refs #543
2026-06-07 14:50:42 +08:00
Syngnat
6932abe674 🐛 fix(ddl): 修复 DDL 格式化方言类型导致的前端构建失败 2026-06-07 13:51:30 +08:00
Syngnat
79c5bfb3d4 feat(connection-import): 支持导入 Navicat NCX 连接与密码
- 新增 Navicat NCX XML 解析与 v1/v2 密码解密能力
- 接入后端连接导入链路并补充导入失败提示
- 前端补充 NCX 格式识别、缺失密码提示与定向测试
2026-06-07 13:38:53 +08:00
Syngnat
ace6e18da8 🐛 fix(sql-editor): 移除对象信息未命中误报提示
- 取消对象信息未命中时的提示弹窗
- 保留已识别对象的 hover 与超链接行为
- 补充未命中静默回归测试
2026-06-07 12:12:02 +08:00
Syngnat
a5b27820cb feat(ddl): 为 DDL 视图增加按方言格式化展示能力
- 新增通用 DDL 格式化工具
- DataGrid 查看 DDL 时按数据源方言输出可读 SQL
- 覆盖 DuckDB DDL 展示与工具层测试
2026-06-05 22:21:40 +08:00
Syngnat
d2189e1442 🐛 fix(duckdb): 修复 DuckDB 查询误用连接超时导致中断
- 新增 DuckDB 查询上下文策略,避免将连接超时直接作为查询执行超时
- 调整 DBQueryWithCancel、DBQueryMulti、DBQueryIsolated 统一走查询上下文工厂
- 补充 DuckDB 查询不继承连接超时与网络型数据库保留 deadline 的回归测试
2026-06-05 21:35:03 +08:00
Syngnat
36a80951a0 🐛 fix(ci/driver): 修复驱动发布错配与 dev 驱动下载命中旧资产
- 发布链路新增 driver release 资产自检,校验已发布二进制与 manifest revision/sha256 一致
- dev-build 与 release 工作流在复用已发布驱动前先校验实际资产,发现旧二进制混入时强制全量重建
- driver manifest 新增 sha256 字段,避免仅凭 source commit 与 manifest 一致就误判发布有效
- 驱动变更检测与全量重建判定纳入 release asset 校验脚本变更,确保链路修复提交会触发自愈重建
- 驱动下载优先使用 GitHub release asset API 地址,并对资产接口按 octet-stream 下载,降低 dev-latest 同名资产命中旧缓存的风险
- 保持 DuckDB 无主键编辑修复不回退,并通过 internal/db 与前端相关回归测试
2026-06-05 20:00:27 +08:00
Syngnat
2ea88c03d3 🐛 fix(ci): 修复 Windows revision 哈希构建失败 2026-06-05 19:10:22 +08:00
Syngnat
5d9499e4dd 🐛 fix(ci): 修复驱动 revision 更新后复用旧构建缓存 2026-06-05 18:56:15 +08:00
Syngnat
fe479778d1 🐛 fix(ci): 修复驱动发布链路变更漏掉全量重建 2026-06-05 18:17:16 +08:00
Syngnat
81eaeb5d5f 🐛 fix(ci): 修复 dev 驱动全量重建基线未透传
- 将 compare_base 从 driver 检测阶段透传到 build job
- 强制全量重建时不再回退到旧 source_commit 做平台 diff
- 避免 dev driver release 成功发布但仍夹带旧 standalone 资产
2026-06-05 17:22:09 +08:00
Syngnat
ea53430d70 🐛 fix(ci): 修复驱动总包打包与 manifest 生成失败
- 抽离 driver release 打包脚本,避免内联脚本删掉已生成 manifest
- 修复 release-assets 场景下 tools 相对路径错误,统一通过仓库根脚本打包
- manifest 改为按源码和目标平台重算 revision,不再执行跨平台 driver 二进制
- 补充 driver release 打包与 manifest 生成回归测试
2026-06-05 16:53:01 +08:00
Syngnat
be26970761 🐛 fix(ci): 修复脏 driver release 资产导致 revision 错配 2026-06-05 16:10:05 +08:00
Syngnat
f7dd90a5d1 🐛 fix(ci): 修复 DuckDB 变更后驱动重建漏判
- 新增 diff-driver-agent-revisions 脚本,直接比对 base/head 在各平台实际生成出的 driver revision 差异
- dev/release workflow 的驱动检测改为源码归因结果叠加各平台 revision diff union,避免只改 DuckDB 时漏重建真实已变更的 driver assets
- 将 CI Go 版本固定到 1.24.3,减少 runner patch 漂移导致的 revision 指纹抖动
- 补充 DuckDB 变更命中与前端变更不误触发的 revision diff 回归测试
2026-06-05 15:03:44 +08:00
Syngnat
2254b76232 🐛 fix(duckdb): 修复无主键结果无法安全编辑
- 为 DuckDB 查询结果和表预览补充隐藏 rowid 定位列,允许无主键表安全提交修改
- DataGrid 提交变更时仅将 rowid 用作定位条件,避免把隐藏定位列写回业务字段
- DuckDB ApplyChanges 对 duckdb-rowid 改用未加引号的 rowid 条件,修复更新和删除失效
- 补充前后端回归测试,覆盖 QueryEditor、DataViewer、rowLocator 与 ApplyChanges 链路
2026-06-05 14:05:18 +08:00
Syngnat
ea1737ab8d 🐛 fix(ci): 修复工作流改动漏触发驱动重建 2026-06-05 12:36:39 +08:00
Syngnat
01bee3d8e4 🐛 fix(ci): 修复 driver revision 跨平台错配
- 改为在 dev/release 主程序构建前按当前平台全量生成 driver-agent revision 指纹
- 避免只重算部分驱动时混入其他平台旧 revision,导致最新 dev 应用误判全量 driver mismatch
- 为 windows/amd64 始终准备 DuckDB CGO toolchain,保证全量 revision 生成可执行
- 补充 revision 平台相关回归脚本,覆盖 darwin/arm64 与 windows/amd64 生成差异
2026-06-05 11:59:30 +08:00
Syngnat
805ab8b3d8 🐛 fix(table-designer): 修复 DuckDB 表设计主键保存失效
- 为 DuckDB 表结构变更补充 ADD PRIMARY KEY 预览 SQL
- 保存前拦截已有主键表的主键替换与删除,避免假成功
- 补充 DuckDB 主键变更判定与 schema SQL 回归测试
2026-06-05 11:25:44 +08:00
Syngnat
6742495c6f 🐛 fix(frontend/ci): 修复对象修改卡顿与 Windows ARM 驱动校验失败
- QueryEditor 为对象修改标签增加 object-edit 轻量模式,跳过重型元数据抓取和对象装饰扫描
- DefinitionViewer 与 TriggerViewer 打开的对象修改标签统一透传 queryMode,避免重新进入普通查询链路
- TriggerViewer 补全 MySQL/Oracle 类触发器 DDL 重建逻辑,修复对象修改打开语法不完整
- 补充对象修改与触发器 DDL 回归测试,覆盖轻量模式和元数据补全场景
- verify-driver-agent-revisions 脚本改为跨架构校验,避免在 x64 runner 直接执行 windows/arm64 二进制
- 新增 Windows ARM CI 校验追踪文档,保留架构校验与 host-native probe 证据
2026-06-05 10:34:18 +08:00
Syngnat
3964ecbe88 🐛 fix(ci): 修复 DuckDB Windows 驱动打包变量未定义
- 修复 dev workflow 中 DuckDB 专属驱动包生成阶段的变量作用域问题
- 修复 release workflow 中同样的 DuckDB zip 打包变量传递错误
- 避免 Windows 全量驱动构建时因 DUCKDB_ZIP_PATH 未定义导致 CI 失败
- 保持 DuckDB driver zip 与 dll 打包流程不变,仅修正 shell 环境变量用法
2026-06-05 09:38:47 +08:00
Syngnat
ebdf7b5a6c 🐛 fix(ci): 修复 dev CI 漏掉驱动补偿构建
- dev 构建改为优先使用已发布 driver release 对应源码提交作为检测基线
- 避免驱动相关提交的 CI 失败后,后续仅修 workflow 时被误判为无需重建驱动
- 当已发布驱动基线无法解析时,保守回退为全量驱动构建
- 补充驱动变更检测补偿场景回归测试
- 新增 driver release source 解析测试,覆盖 release body 与 target_commitish 场景
2026-06-05 09:10:49 +08:00
Syngnat
26ce75a547 🐛 fix(ci): 修复驱动工作流 heredoc 缩进
- 修复 dev-build 中 DuckDB Windows 驱动包 Python heredoc 缩进
- 同步修复 release workflow 同类缩进问题
- 避免 GitHub Actions 将 Python 代码误解析为 YAML 导致工作流无效
2026-06-05 08:40:28 +08:00
Syngnat
53811969c5 🐛 fix(driver-manager): 修复驱动 revision 错配与安装卡住
- 修复 revision 生成文件变更未触发 driver-agent 构建的问题
- 检测脚本自身变更时保守触发全量 driver-agent 构建
- 调整 dev 构建驱动安装策略为发布包优先、源码构建兜底
- 为驱动总包下载和源码构建增加超时边界
- 为驱动管理安装流程增加前端看门狗并补充回归测试
2026-06-05 08:34:38 +08:00
Syngnat
2438899ff5 🐛 fix(driver-manager): 修复驱动安装交互与 DuckDB Windows 发布链路
- 修复单驱动安装期间右侧目录操作被错误禁用的问题
- 调整 DuckDB Windows 优先下载专属 zip 并兼容带 query 的签名链接
- 补齐本地构建与 CI 发布的 duckdb-driver.zip 产物及回归测试
2026-06-05 07:15:16 +08:00
Syngnat
a718c41d5d test(app): 补强 DuckDB 定义刷新与主键回归
- 补充 DuckDB 对象修改链路的真实 DDL 刷新回归测试

- 为 app 层连接门禁增加可替换测试 seam,避免 fake metadata 测试被驱动校验拦截

- 修正 DuckDB metadata 测试的串行与断言稳定性
2026-06-04 22:25:08 +08:00