Commit Graph

144 Commits

Author SHA1 Message Date
ILoveBingLu 43a1608868 继续重构 2026-04-25 21:15:14 +08:00
ILoveBingLu d1824e87bd feat: 在 McpMessageItem 接口中为发送方添加可选的 displayName 字段
新增 ChatSearchIndexService 服务,基于 SQLite 实现聊天消息索引管理
实现消息提取、分词与搜索功能
优化 AISummaryWindow 界面样式与布局
更新进度指示器与消息渲染逻辑,提升用户体验
扩展 SessionQAToolCall 接口,新增工具名称以增强功能
2026-04-25 03:52:14 +08:00
ILoveBingLu 78dd50de17 重构AI摘要;
兼容最新版Deepseek
2026-04-25 01:50:50 +08:00
ILoveBingLu f30494e6cb release: v4.2.2 v4.2.2 2026-04-23 04:47:23 +08:00
ILoveBingLu 4beec0c70e release: v4.2.1 v4.2.1 2026-04-23 02:17:48 +08:00
ILoveBingLu 8cd7216a0a chore: 停止跟踪 TypeScript 增量编译缓存
tsconfig.node.tsbuildinfo 是 tsc 的增量编译缓存(composite 开启时自动生成),
属于本地构建产物,不应纳入版本控制。加入 .gitignore 并从索引中移除。
2026-04-22 02:13:32 +08:00
ILoveBingLu 14b41e9d4e fix: 增强视频定位能力,支持从 rawContent 提取备用 MD5
问题:部分视频消息的 videoMd5 字段为空或与实际文件名不匹配,
导致视频显示「不可用」。

变更内容:

electron/services/videoService.ts
- getVideoInfo 新增 rawContent 参数,从消息原始 XML 中提取
  newmd5 / rawmd5 等备用 MD5 字段作为候选
- 返回 diagnostics 诊断信息(candidateMd5s、matchedMd5、reason、summary 等),
  便于前端展示失败原因和调试

electron/services/chatService.ts
- extractVideoMd5 新增对 newmd5 / rawmd5 XML 字段的提取支持

electron/services/exportService.ts / httpApiFacade.ts / httpApiService.ts
- getVideoInfo 调用处透传 rawContent 参数

electron/services/mcp/readService.ts
- getVideoLocalPath 支持 rawContent 为空时 videoMd5 也为空的情况

electron/services/imageDecryptService.ts
- 新增 hdNotFoundCache,避免高清图重复查询

electron/main.ts / electron/preload.ts / src/types/electron.d.ts
- IPC 接口同步更新,透传 rawContent 和 diagnostics

src/pages/ChatPage.tsx
- 视频缓存 key 改为 videoMd5 || local:localId,兼容无 MD5 的消息
- 视频不可用时展示 diagnostics.summary 诊断文案
- 详情面板新增关闭动画(closing 状态 + 220ms 延迟)
- 视频播放按钮图标调整

src/pages/ChatPage.scss
- 详情面板改为绝对定位浮层,新增 slideOutRight 关闭动画
- 工具栏按钮改为圆形,悬停加 scale 效果
- 视频不可用区域新增 .video-reason 样式

src/pages/VideoWindow.tsx
- 播放图标尺寸调整
2026-04-21 21:35:22 +08:00
ILoveBingLu 46a284cba9 feat: 重构「开发者愿景」弹窗内容与交互
将弹窗从「版本更新列表」改为固定的「开发者愿景」内容,展示三个核心主题:
记忆与亲情、证据与事实、归档与掌控。

- WhatsNewModal.tsx:移除动态解析发布说明的逻辑(parseAnnouncementText、
  buildFallbackUpdates 等),改为静态 VISION_SECTIONS 数据驱动渲染;
  移除 releaseBody / releaseNotes props,简化组件接口;
  Footer 新增 CipherTalk 品牌文案区域和「开始使用」箭头图标
2026-04-21 21:34:48 +08:00
ILoveBingLu f2b4129595 feat: 首页新增「开发者愿景」快捷入口按钮,并重构弹窗样式
## 功能变更

### 首页新增快捷按钮(HomePage.tsx / HomePage.scss)
- 在首页右上角新增圆形 Smile 图标按钮,随时可手动打开「开发者愿景」弹窗
- 按钮使用绝对定位,悬停时切换为主题色,不影响原有布局
- 修复 `.home-page` 缺少 `position: relative` 导致按钮定位失效的问题
- 手动打开弹窗不会写入 `releaseAnnouncementSeenVersion`,不影响新版本自动提示逻辑

### 弹窗样式重构(WhatsNewModal.scss)
- 完全重写样式,从复杂多层嵌套改为简洁的单列阅读型布局
- 弹窗宽度调整为 680px,去掉过度装饰(多层渐变背景、伪元素光晕等)
- Header 区域修复为垂直堆叠(`flex-direction: column`),解决版本标签、标题、副标题横向错排的问题
- 卡片去掉嵌套背景色,改用左侧细线 + 主题色区分三个板块
- 引用块改为简洁左边框样式,移除冗余的引号图标
- Footer 布局简化,按钮样式统一
- 保留响应式断点(≤600px 时垂直堆叠)
2026-04-21 21:32:57 +08:00
ILoveBingLu ad3e513266 修复 4.2.0 发布工作流的 lock 文件问题
修复 package-lock.json 中 sherpa-onnx 可选依赖记录不完整的问题。

具体调整:
- 删除 npm 11 无法识别的空版本占位条目 `node_modules/sherpa-onnx-node/node_modules/sherpa-onnx-darwin-x64`。
- 重新生成 lock 文件,补入有效的 `node_modules/sherpa-onnx-darwin-x64@1.12.38` 元数据。
- 让 GitHub Actions 在 prepare-meta 阶段执行 `npm ci` 时不再因为 `Invalid Version` 或 lock/package 不同步而失败。

验证:
- 已执行 `npm install --package-lock-only --ignore-scripts` 更新 lock 文件。
- 已执行 `npm ci --ignore-scripts --dry-run --loglevel verbose`,本地通过。
v4.2.0
2026-04-21 04:54:23 +08:00
ILoveBingLu 6ef395f3c9 发布 4.2.0:优化图片解密与聊天滚动体验
本次提交将应用版本更新到 4.2.0,并同步更新 package-lock、README 版本徽标和 CHANGELOG 发布说明。

主要变更:
- 接入 CipherTalk 自研图片 DAT 原生解密模块,替换原先迁移自 WeFlow 的命名与资源落点。
- 新增 Windows x64 与 macOS arm64 的预编译 native addon 资源,并补充 manifest、检查脚本和同步脚本。
- 保留 native 优先、TypeScript 兜底的图片解密链路,兼容 V3/V4 图片、wxgf 后处理、缓存命中、高清图回退和实况照片提取。
- 优化图片解密服务的缓存校验、wxgf/HEVC 白图规避、耗时诊断和默认日志输出,减少线上噪音。
- 聊天消息列表改为动态高度虚拟列表,卸载屏幕外消息 DOM 与图片节点,降低长会话内存和渲染压力。
- 修复虚拟列表初始挂载时滚底与顶部历史预加载互相打架导致界面上下晃动的问题。
- 顶部历史消息改为接近顶部并向上滚动时提前加载,同时加强 prepend 后的滚动位置恢复。
- 解析图片 XML 中的宽高信息,并用于聊天图片骨架屏、未解密占位、已解密图片和图片查看器初始窗口尺寸。
- 打包清理逻辑改为按当前平台保留对应 native addon,避免安装包携带无关平台产物。

验证:
- 已执行 npx tsc --noEmit,通过 TypeScript 类型检查。
- 本地未执行应用构建,发布构建交由 GitHub Actions 的 tag 发布工作流完成。
2026-04-21 04:44:47 +08:00
ILoveBingLu 5e4dea9aa7 添加使用文档 2026-04-13 17:45:10 +08:00
ILoveBingLu 08ac634c64 作者愿景 2026-04-13 16:32:49 +08:00
ILoveBingLu a3a307bda8 chore: 发布 v4.1.9 版本
- 修复 WCDB 解密相关问题(1000 和 101 错误)
- 更新 Windows 和 macOS 平台的 WCDB 原生库
v4.1.9
2026-04-11 19:44:27 +08:00
ILoveBingLu c51293ee76 fix: 优化 MCP 内容可见性与 Skill 路由并升级到 4.1.8 v4.1.8 2026-04-09 13:28:16 +08:00
ILoveBingLu c3fb88fcf9 fix: 更新标题栏样式以支持右侧内容并优化侧边栏布局 2026-04-08 21:19:19 +08:00
ILoveBingLu e4cf1893f4 fix: 修正 Windows 标题栏 overlay 计算过小导致的控件重叠并升级到 4.1.7 2026-04-08 20:54:01 +08:00
ILoveBingLu ade1e14402 fix: 按原生 overlay 实际占位修复 Windows 独立窗口标题栏重叠并升级到 4.1.6 2026-04-08 20:44:40 +08:00
ILoveBingLu 4ec0af6462 fix: 增大 Windows 独立窗口标题栏右侧避让并升级到 4.1.5
- 提高共享 window chrome 中 Windows 平台的右侧控件预留宽度
- 为独立窗口标题栏追加额外右侧避让间距,确保朋友圈等窗口顶部操作区不压到原生窗口控件
- 升级版本号到 4.1.5,并同步更新 README 与 CHANGELOG 说明
2026-04-08 20:26:33 +08:00
ILoveBingLu c82de2d788 fix: 修复朋友圈标题栏右上角操作区被裁掉并升级到 4.1.4
- 调整独立窗口标题栏在 macOS 下的列宽分配策略,优先保证右侧工具区完整显示
- 修复朋友圈独立窗口右上角筛选、刷新等按钮被标题栏收缩策略裁掉的问题
- 将版本号升级到 4.1.4,并同步更新 README 与 CHANGELOG 说明
2026-04-08 20:21:32 +08:00
ILoveBingLu 403cc66d6e fix: 统一独立窗口跨平台标题栏布局并升级到 4.1.3
- 为独立窗口统一引入跨平台 window chrome 安全区和标题栏高度变量
- 优化朋友圈、聊天记录、浏览器、AI 摘要、协议页、图片/视频窗口等标题栏在 Windows/macOS 下的布局表现
- 统一主进程独立窗口 titleBarOverlay 高度为 40,减少首屏偏移和抖动
- 升级版本号到 4.1.3,并补充 README 与 CHANGELOG 记录
2026-04-08 19:47:09 +08:00
ILoveBingLu 34f6c6adaa release: v4.1.2 v4.1.2 2026-04-08 18:58:34 +08:00
ILoveBingLu d52507c8b1 Merge branch 'codex/package-size-platform-filters' 2026-04-08 18:54:56 +08:00
ILoveBingLu 47b437f7bb Update README version badge 2026-04-08 18:53:49 +08:00
ILoveBingLu a485d73a18 Disable mac dmg update info generation 2026-04-08 18:42:25 +08:00
ILoveBingLu 081f4f50fc Tighten mac packaging outputs 2026-04-08 18:36:10 +08:00
ILoveBingLu 08dbbf8f93 Refine platform-specific packaging filters 2026-04-08 17:52:28 +08:00
ILoveBingLu 0afe437813 修复发布工作流构建内存不足问题 v4.1.1 2026-04-08 14:44:46 +08:00
ILoveBingLu 2ab9d20e5a 发布 4.1.1,小版本更新 MCP Copilot Skill 分发流程 2026-04-08 13:21:57 +08:00
ILoveBingLu ca51c377ea 重构 MCP Copilot Skill 分发流程,改为内置打包并支持手动导出 2026-04-08 13:18:43 +08:00
ILoveBingLu 74a41f8351 删除多余图标 2026-04-08 01:28:11 +08:00
ILoveBingLu 7b8ac3921f 完善在线语音转写接入,并统一替换 AI / MCP 图标体系
本次提交主要围绕在线语音转写能力扩展与图标体系统一展开,重点补齐了阿里云 Qwen-ASR 的接入能力,并将聊天页、AI 摘要与侧边栏中的相关图标逐步切换到 lobe-icons 体系。

1. 在线语音转写能力增强
- 在现有 CPU / GPU 模式之外,完善在线 STT 模式的配置、持久化与主进程分发逻辑。
- 新增独立的在线转写服务 `voiceTranscribeServiceOnline`,统一管理在线 provider 的配置校验、请求组装、错误处理与结果返回。
- 保持原有转写缓存机制不变,继续复用 `sessionId + createTime` 作为缓存键,避免重复调用第三方服务。

2. 新增并完善阿里云 Qwen-ASR 支持
- 在线 STT 提供商扩展为:`OpenAI 兼容`、`阿里云 Qwen-ASR`、`自定义接口`。
- 阿里云作为独立 provider 接入,不与 OpenAI 兼容或自定义接口混用协议,避免后续逻辑继续耦合和膨胀。
- 阿里云请求改走 `chat/completions + input_audio` 协议,并支持流式返回。
- 主进程将阿里云流式增量结果转发到现有 `stt:partialResult` 通道,聊天页可实时显示逐步生成的转写文本。
- 阿里云模型信息同步收敛到当前可用范围,默认模型调整为 `qwen3-asr-flash`,并在设置页明确提示 `qwen3-asr-flash` 与 `qwen3-asr-flash-filetrans` 两个模型选项。

3. 在线模式设置页体验优化
- 设置页新增在线 STT 的完整配置区域,包括 provider 切换、接口 URL、API Key、模型名、语言、超时和批量并发数。
- 不同 provider 的提示文案、默认 URL、默认模型与占位内容按协议能力区分展示,减少误配。
- 在线配置测试入口支持按当前表单配置即时校验,而不是只能测试已保存配置。
- 在线模式相关布局、下拉、自定义选择器、数值步进器等样式补齐,避免退化成原生控件观感。

4. 聊天页转写交互优化
- 在线模式下,聊天页会根据当前 provider 做更准确的判断与展示,不再统一写死为 OpenAI 在线转写。
- 阿里云转写等待态改为使用千问图标作为唯一视觉标识,不再显示“正在转写”文字,突出 provider 识别性。
- 千问图标尺寸与呼吸动画一并优化,使等待态更明显、更稳定。

5. AI 摘要与 MCP 图标统一到 lobe-icons
- 引入 `@lobehub/icons` 及其依赖链,并新增前端共享组件 `AIProviderLogo`,统一管理 AI 提供商图标渲染。
- AI 摘要设置页与聊天页进入的 AI 摘要窗口,均改为优先使用 lobe-icons 渲染 provider 图标,仅在未命中映射时回退本地 logo。
- 为常用 provider 增加显式映射,包括 OpenAI、通义千问、Gemini、Kimi、硅基流动、小米 MiMo、腾讯元宝、智谱、DeepSeek、豆包、Ollama、xAI,以及自定义 provider 对应的 Clipdrop 图标。
- 侧边栏中的 `MCP 服务` 图标替换为 lobe-icons 提供的 `Model Context Protocol` 图标,统一整体视觉语言。

整体来看,这次提交解决了在线转写从“能配置”到“能稳定使用、能看出当前 provider、能流式显示”的关键链路问题,同时也把 AI / LLM 相关图标从分散的本地静态文件逐步收拢到统一的组件化图标库,后续继续扩展 provider 时会更容易维护。
2026-04-08 01:26:40 +08:00
ILoveBingLu 7a7dfe79f1 修复新增账号引导、账号显示名与语音导出体验
本次提交主要优化了账号引导、设置页账号展示以及聊天页语音消息导出相关体验。

1. 修复“设置 - 数据解密 - 新增账号引导”在已有账号场景下误继承主窗口数据库已连接状态的问题,避免引导窗口一打开就直接显示“已连接数据库”,恢复新增账号流程的正常进入路径。
2. 调整独立引导窗口的系统控件布局,使其符合平台习惯:macOS 采用左侧“关闭 | 最小化”,Windows 采用右侧“最小化 | 关闭”。
3. 优化设置页“账号管理”的展示逻辑,优先显示用户昵称等更易理解的名称,而不是直接显示 wxid;同时补齐 displayName 的保留与同步逻辑,避免保存或切换账号后名称又退回 wxid。
4. 为聊天页语音消息增加右键“导出语音文件”能力,导出格式为 wav,并补充最小必要的文件写入 IPC 通道,打通从渲染进程到主进程的保存链路。
5. 将语音导出成功提示由系统 alert 调整为页面内自定义顶部气泡提示,并统一复用到复制成功/失败等反馈场景,减少打断感,提升交互一致性。

整体上,这次修改主要是修复几个明显影响理解和操作流畅度的前端交互问题,让新增账号、账号识别和语音导出这几个高频路径更符合用户预期。
2026-04-07 21:46:33 +08:00
ILoveBingLu 4228379aa7 fix: resolve tsconfig node type build issue v4.1.0 2026-04-07 17:17:50 +08:00
ILoveBingLu b3120a3244 release: v4.1.0 2026-04-07 17:03:31 +08:00
ILoveBingLu e436bf2d36 feat: add bundled skill installer support 2026-04-07 16:02:44 +08:00
ILoveBingLu 69d875f788 feat: add moments data to mcp and http api 2026-04-07 14:45:08 +08:00
ILoveBingLu e67640a4c4 feat: add multi-account storage support 2026-04-07 11:25:55 +08:00
ILoveBingLu 892bb38105 feat: add packaged mcp launcher for macos 2026-04-07 10:52:18 +08:00
ILoveBingLu 6c79328b5e release: v4.0.1 2026-04-07 10:12:03 +08:00
ILoveBingLu cec5bced16 fix: generate update manifests during packaging 2026-04-07 01:17:46 +08:00
ILoveBingLu e7ac2b85e5 fix: decouple packaging from release metadata 2026-04-07 01:05:06 +08:00
ILoveBingLu b7d8eb91a9 chore: stop tracking vendor mirrors 2026-04-07 00:58:06 +08:00
ILoveBingLu b9e1a16ce6 fix: stabilize 4.0.0 release pipeline 2026-04-07 00:53:56 +08:00
ILoveBinglu 0c9c3f7c5d fix: treat generated update manifest as build success 2026-04-07 00:33:04 +08:00
ILoveBinglu 49e748f3bf 修复打包 2026-04-07 00:19:02 +08:00
ILoveBinglu 46cca6038c fix: prevent builder auto publish in release jobs 2026-04-07 00:07:07 +08:00
ILoveBinglu c40a9084c5 fix: stabilize release workflow 2026-04-06 23:51:53 +08:00
ILoveBinglu 46f89deae0 release: v4.0.0 2026-04-06 23:36:56 +08:00
ILoveBinglu 190f7db684 merge: bring macos branch into main 2026-04-06 23:23:42 +08:00