Files
qiweimanager-master/yuanzhipeng提交内容梳理.md
2026-06-29 17:44:22 +08:00

11 KiB
Raw Blame History

yuanzhipeng 提交内容梳理

本文基于仓库 qiweimanager-master-git 中的 Git 历史整理,统计范围为:

git log --all --author=yuanzhipeng

作者信息:yuanzhipeng <2501363769@qq.com>

1. 分支与提交概览

当前仓库里 yuanzhipeng 共有 4 个提交:

提交 日期 所在分支 标题
a926ee6 2026-06-25 main, origin/main, origin/HEAD chore(build): 更新.gitignore配置和清理Wails临时文件
1517be2 2026-06-26 origin/develop 历史 feat(auto-reply): 接入万川平台模型配置 + 各模型独立网关回退
849090a 2026-06-26 origin/develop 历史 feat(auto-reply): 优化自动回复逻辑和知识库功能
1ca66dc 2026-06-26 origin/develop docs(batch): 更新批处理脚本注释

需要注意:当前 main/origin/main 只包含 a926ee6;后续 3 个功能提交目前在 origin/develop 上。

a926ee6^..1ca66dc 汇总,整体变更约为:

  • 51 个文件变化
  • 2922 行新增
  • 1299 行删除
  • 删除旧备份文件 helper/auto_reply_ai.go.bak
  • 删除 Wails 构建生成文件 build/windows/installer/wails_tools.nsh

2. 主要完善内容

2.1 万川平台模型配置接入

相关提交:1517be2

新增了万川平台配置能力,让自动回复模块可以从万川平台拉取模型配置并自动回填到本地 AI 配置。

主要内容:

  • 新增后端接口文件 wanchuan_proxy.go
    • WanchuanLogin:登录万川平台并获取 token。
    • WanchuanGetModel:按模型 code 获取模型配置。
    • GetPlatformConfig / SavePlatformConfig:读取和保存平台账号配置。
    • 日志中对密码、token、apiKey 做脱敏处理。
  • 配置结构新增 PlatformConfig,用于保存万川平台地址、账号、密码。
  • 前端 AutoReply.vue 新增“万川平台”配置卡片:
    • 填写平台地址、账号、密码。
    • 一键“登录并获取模型”。
    • 自动拉取 chat、vision、embedding、rerank、voice 等用途模型。
    • 将模型名、网关地址、API Key 回填到自动回复配置。
  • 前端 Wails 绑定新增:
    • GetPlatformConfig
    • SavePlatformConfig
    • WanchuanLogin
    • WanchuanGetModel

2.2 各类模型支持独立网关和独立 Key

相关提交:1517be2

完善了自动回复中不同模型的配置拆分,避免所有能力都被迫共用同一个文本模型网关。

主要内容:

  • RetrievalConfig 新增:
    • embeddingBaseUrl
    • embeddingApiKey
    • rerankBaseUrl
    • rerankApiKey
  • Embedding 和 Rerank 调用优先使用各自独立配置,未配置时才回退到主 AI 网关。
  • 非 DashScope 网关下,视觉模型不再强行写死为 DashScope 的默认视觉模型。
  • 万川统一网关场景下,视觉模型可动态复用聊天模型;如果平台提供独立 vision 配置,则使用独立 vision 网关。
  • 当 embedding 模型或维度变化时,会识别旧向量索引已经属于不同向量空间,并提示或触发重建,避免旧索引造成检索异常。

2.3 自动回复上下文逻辑优化

相关提交:849090a

优化了客户追问、换话题和上下文拼接逻辑,减少模型被历史对话带偏的问题。

主要内容:

  • 新增 contextPromptForQuestion
    • 只有“它多少钱”“刚才那个再说说”“继续”等指代型追问才注入历史上下文。
    • “今天星期几”“你们有什么产品”等自包含问题不再携带上一轮话题。
  • 新增换话题识别:
    • 如“换个话题吧”“聊点别的”“不聊这个了”会直接回复引导语。
    • 如果“换个话题,你们产品多少钱”这类句子带了新问题,则继续正常处理新问题。
  • Prompt 中强调上下文只用于理解称呼和承接,不应主动延续旧话题。
  • 默认回复详细度从 detailed 调整为 medium,避免自动回复过长、太像模板。

2.4 知识库索引与向量检索增强

相关提交:849090a, 1517be2

修复和增强了知识库扫描、向量索引、重排调用等流程。

主要内容:

  • 知识库重建从只扫描根目录改为递归扫描子目录。
    • 适配 01_产品/数控机床/xxx.md03_售后/故障排查/xxx.md 这类分类目录。
  • 重建知识库后,前端会显示扫描文件数、分片数、失败文件数。
    • 如果 0 个文件被扫描到,会给出明显提示。
  • 向量索引加载时检测模型名和维度是否与当前配置一致。
    • 不一致时清空陈旧向量,回退关键词检索,并提示重建索引。
  • Embedding/Rerank 请求支持独立 Base URL 和 API Key。

2.5 素材库扫描、匹配和开场白生成

相关提交:a926ee6, 849090a

完善了素材库能力,尤其是目录化素材、误匹配控制和 AI 自动生成素材发送话术。

主要内容:

  • 新增大量示例素材到 config/materials,包括:
    • 产品图片
    • 宣传海报
    • 工作流图
    • 教程截图
    • 案例展示
    • 联系方式卡片
  • 素材扫描从根目录扫描改为递归扫描子目录。
  • 素材路径保存为相对路径,并统一使用 / 分隔。
  • 子目录名也会加入关键词,方便按分类命中素材。
  • 新增 CaptionSource 字段,区分素材话术来源:
    • manual:人工维护,重新同步时不覆盖。
    • aiAI 生成,已有时不重复生成。
    • 空值:历史数据或默认话术,可按需生成。
  • 新增 helper/auto_reply_material_caption.go
    • 图片使用视觉模型生成一句自然开场白。
    • 视频按标题生成。
    • 文档尝试抽取开头内容后概括。
    • 生成结果会去引号、压缩换行、过滤 NO_ANSWER、限制长度。
  • 素材匹配新增“强信号”门槛。
    • 只有整词关键词、问句模板、完整标题或文件名命中才会发送素材。
    • 仅靠 2-gram 模糊片段命中不会触发发送,减少误发资料。

2.6 媒体消息诊断和类型识别修复

相关提交:849090a

增强了企业微信媒体消息回调的识别和诊断能力。

主要内容:

  • 修正 rawTypeFromEvent 对企业微信事件类型的判断。
    • 优先使用 DLL 真实 event 字段。
    • content_type 只作为模拟事件或旧版本 DLL 的 fallback。
  • 避免文本消息被误判成图片,导致错误触发图片识别。
  • 新增媒体字段为空时的诊断日志。
    • 仅在图片、视频、链接等媒体消息且 URL、本地路径、FileID 全空时记录。
    • 日志只记录媒体相关字段,避免泄露聊天内容。

2.7 构建、开发和打包流程完善

相关提交:a926ee6, 1ca66dc

对 Windows/Wails 的开发和打包流程做了明显增强。

主要内容:

  • .gitignore 增加构建输出、绿色免安装包、Wails 临时文件、WebView2 安装包等忽略规则。
  • 删除 build/windows/installer/wails_tools.nsh 这类 Wails 自动生成文件,避免把临时产物提交进仓库。
  • 新增 scripts/dev.ps1
    • 自动定位 Go/Wails。
    • 自动安装前端依赖和 Go 模块。
    • 编译 32 位 GUI 子系统的 helper.exe
    • 同步 DLL、eventdatarequestdata 到运行目录。
    • 启动 wails dev
  • 新增 scripts/build.ps1
    • 构建 helper、silkdecode、主程序。
    • 输出带时间戳的绿色免安装版目录。
    • 写入默认配置文件和空素材索引。
  • 改进 scripts/package-windows.ps1
    • 自动探测 NSIS 标准安装路径。
    • gcc 缺失时跳过 silkdecode而不是直接失败。
    • 前端构建和 Wails NSIS 构建改为按退出码判断。
    • 安装包文件名增加时间戳。
  • 新增 install-nsis.ps1
  • 新增根目录批处理:
    • 启动开发.bat
    • 打包.bat
  • 1ca66dc 对这两个 .bat 的注释做了英文化和简化。

2.8 主程序退出稳定性修复

相关提交:a926ee6

修复 Windows 下关闭主程序时可能因 helper 进程处理方式触发崩溃的问题。

主要内容:

  • main.go 中 Windows 平台优先使用 Windows API 终止 helper。
  • 终止后直接返回,不再继续走通用 Signal/Kill 分支。
  • 避免 Go 1.25+ 中手工构造的 os.Process 因句柄模式无效触发 panic。

2.9 测试覆盖增加

相关提交:1517be2, 849090a

补充了多个回归测试,主要覆盖自动回复和配置默认值。

新增或扩展的测试点包括:

  • 非 DashScope 网关下视觉模型跟随聊天模型。
  • DashScope 仍保留默认视觉模型兜底。
  • 知识库递归扫描子目录。
  • 素材模糊弱命中不应误发。
  • 素材开场白生成、清洗、保留人工话术。
  • 自动回复上下文只在指代追问时使用。
  • 换话题句子的识别。
  • embedding 索引模型/维度不一致时判定为陈旧。
  • 默认回复详细度变更为 medium

3. 每个提交的简要说明

a926ee6:构建体系、素材与基础修复

这个提交表面标题是 .gitignore 和 Wails 临时文件清理,但实际内容较多:

  • 清理 Wails 自动生成文件。
  • 新增万川平台对接文档。
  • 新增大量素材图片。
  • 新增开发/打包 PowerShell 脚本和 .bat 入口。
  • 优化 Windows 打包脚本。
  • 修复主程序退出时 helper 进程处理可能导致崩溃的问题。

1517be2:万川平台模型配置接入

这是核心功能提交之一:

  • 增加平台账号配置保存。
  • 增加登录万川平台和拉取模型配置的后端接口。
  • 前端新增万川平台配置区。
  • 自动回填 chat、vision、embedding、rerank、voice 模型。
  • Embedding 和 Rerank 支持独立网关。
  • 删除旧的 helper/auto_reply_ai.go.bak 备份文件。

849090a:自动回复、知识库和素材库优化

这是自动回复体验提升最集中的提交:

  • 上下文只在指代追问时注入。
  • 换话题句子直接回复引导语。
  • 知识库递归扫描子目录。
  • 素材库递归扫描子目录。
  • 素材匹配增加强信号门槛,减少误发。
  • 新增 AI 生成素材开场白。
  • 调整回复详细度默认值和 prompt 策略。
  • 增加媒体消息字段诊断日志。

1ca66dc:批处理脚本注释更新

这个提交只改了两个 .bat 文件的注释:

  • 启动开发.bat
  • 打包.bat

功能逻辑没有明显变化,主要是说明文字调整。

4. 总结

整体来看,yuanzhipeng 的提交主要完善了 4 条主线:

  1. 万川平台接入:从平台登录、拉模型、保存配置到前端一键回填,形成了完整闭环。
  2. 自动回复质量提升:处理追问、换话题、回复长度、知识库完整性和媒体消息诊断,减少答非所问和误判。
  3. 知识库/素材库能力增强:支持目录化管理、递归扫描、向量索引一致性检查、素材自动开场白和误发控制。
  4. 开发与交付流程完善:新增一键开发/打包脚本,优化 NSIS、Wails、helper、DLL、运行资源同步降低 Windows 环境下的构建和运行成本。

如果按“是否已进主分支”看,目前只有 a926ee6main;万川接入和自动回复深度优化主要还在 origin/develop