11 KiB
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 绑定新增:
GetPlatformConfigSavePlatformConfigWanchuanLoginWanchuanGetModel
2.2 各类模型支持独立网关和独立 Key
相关提交:1517be2
完善了自动回复中不同模型的配置拆分,避免所有能力都被迫共用同一个文本模型网关。
主要内容:
RetrievalConfig新增:embeddingBaseUrlembeddingApiKeyrerankBaseUrlrerankApiKey
- Embedding 和 Rerank 调用优先使用各自独立配置,未配置时才回退到主 AI 网关。
- 非 DashScope 网关下,视觉模型不再强行写死为 DashScope 的默认视觉模型。
- 万川统一网关场景下,视觉模型可动态复用聊天模型;如果平台提供独立 vision 配置,则使用独立 vision 网关。
- 当 embedding 模型或维度变化时,会识别旧向量索引已经属于不同向量空间,并提示或触发重建,避免旧索引造成检索异常。
2.3 自动回复上下文逻辑优化
相关提交:849090a
优化了客户追问、换话题和上下文拼接逻辑,减少模型被历史对话带偏的问题。
主要内容:
- 新增
contextPromptForQuestion:- 只有“它多少钱”“刚才那个再说说”“继续”等指代型追问才注入历史上下文。
- “今天星期几”“你们有什么产品”等自包含问题不再携带上一轮话题。
- 新增换话题识别:
- 如“换个话题吧”“聊点别的”“不聊这个了”会直接回复引导语。
- 如果“换个话题,你们产品多少钱”这类句子带了新问题,则继续正常处理新问题。
- Prompt 中强调上下文只用于理解称呼和承接,不应主动延续旧话题。
- 默认回复详细度从
detailed调整为medium,避免自动回复过长、太像模板。
2.4 知识库索引与向量检索增强
相关提交:849090a, 1517be2
修复和增强了知识库扫描、向量索引、重排调用等流程。
主要内容:
- 知识库重建从只扫描根目录改为递归扫描子目录。
- 适配
01_产品/数控机床/xxx.md、03_售后/故障排查/xxx.md这类分类目录。
- 适配
- 重建知识库后,前端会显示扫描文件数、分片数、失败文件数。
- 如果 0 个文件被扫描到,会给出明显提示。
- 向量索引加载时检测模型名和维度是否与当前配置一致。
- 不一致时清空陈旧向量,回退关键词检索,并提示重建索引。
- Embedding/Rerank 请求支持独立 Base URL 和 API Key。
2.5 素材库扫描、匹配和开场白生成
相关提交:a926ee6, 849090a
完善了素材库能力,尤其是目录化素材、误匹配控制和 AI 自动生成素材发送话术。
主要内容:
- 新增大量示例素材到
config/materials,包括:- 产品图片
- 宣传海报
- 工作流图
- 教程截图
- 案例展示
- 联系方式卡片
- 素材扫描从根目录扫描改为递归扫描子目录。
- 素材路径保存为相对路径,并统一使用
/分隔。 - 子目录名也会加入关键词,方便按分类命中素材。
- 新增
CaptionSource字段,区分素材话术来源:manual:人工维护,重新同步时不覆盖。ai:AI 生成,已有时不重复生成。- 空值:历史数据或默认话术,可按需生成。
- 新增
helper/auto_reply_material_caption.go:- 图片使用视觉模型生成一句自然开场白。
- 视频按标题生成。
- 文档尝试抽取开头内容后概括。
- 生成结果会去引号、压缩换行、过滤
NO_ANSWER、限制长度。
- 素材匹配新增“强信号”门槛。
- 只有整词关键词、问句模板、完整标题或文件名命中才会发送素材。
- 仅靠 2-gram 模糊片段命中不会触发发送,减少误发资料。
2.6 媒体消息诊断和类型识别修复
相关提交:849090a
增强了企业微信媒体消息回调的识别和诊断能力。
主要内容:
- 修正
rawTypeFromEvent对企业微信事件类型的判断。- 优先使用 DLL 真实
event字段。 content_type只作为模拟事件或旧版本 DLL 的 fallback。
- 优先使用 DLL 真实
- 避免文本消息被误判成图片,导致错误触发图片识别。
- 新增媒体字段为空时的诊断日志。
- 仅在图片、视频、链接等媒体消息且 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、
eventdata、requestdata到运行目录。 - 启动
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 条主线:
- 万川平台接入:从平台登录、拉模型、保存配置到前端一键回填,形成了完整闭环。
- 自动回复质量提升:处理追问、换话题、回复长度、知识库完整性和媒体消息诊断,减少答非所问和误判。
- 知识库/素材库能力增强:支持目录化管理、递归扫描、向量索引一致性检查、素材自动开场白和误发控制。
- 开发与交付流程完善:新增一键开发/打包脚本,优化 NSIS、Wails、helper、DLL、运行资源同步,降低 Windows 环境下的构建和运行成本。
如果按“是否已进主分支”看,目前只有 a926ee6 在 main;万川接入和自动回复深度优化主要还在 origin/develop。