Repository navigation
Releases
鲸鲸 4.0.7 · 多厂商语音与驱动修复
鲸鲸 4.0.7
- 语音发送新增 MiniMax、硅基流动,保留 BreezeBlue;各厂商独立保存加密 Key、模型和音色。
- MiniMax:8 个语音模型、327 个系统音色,支持按名称或语言搜索,默认俏皮萌妹(普通话)。
- 硅基流动:CosyVoice 2 / MOSS-TTSD,支持模型对应音色及账户自定义音色。
- 修复硅基流动短语音因 WAV 长度字段异常被误判超过 55 秒;保留真实时长限制和超时保护。
- VB-CABLE 完整校验 31 个官方文件,包含 8 个 CAT 签名文件,避免缺文件导致驱动安装失败。
- 教程补齐 MiniMax、硅基流动的官网、API Key 及语音文档入口。
- 仓库名称纠正为
whale_girl,程序更新与下载入口同步使用新地址。
安装与升级
下载 whale-girl-4.0.7-setup.exe,退出鲸鲸后覆盖安装。自己的配置与记忆保留;新增语音厂商需要填写该厂商的 Key,并测试连接、保存配置。
安装程序由 GitHub Actions 构建,并通过全新安装、覆盖升级和卸载检查。SHA256SUMS.txt 用于核对安装包完整性,release-manifest.json 用于程序检查更新。
许可证、署名及隐私说明见仓库的 LICENSE、NOTICE.md 和 PRIVACY.md。对应源码可通过本 Release 的 Source code 下载。
鲸鲸 4.0.6 · 对话记忆管理与微信稳定性修复
鲸鲸 4.0.6
新增 · 对话记忆与更新提示
- 人设页的记忆管理扩展为所有对话,群聊和私聊都可单独清空内部记忆,微信聊天记录保留。
- 打开启动器立即在后台检查更新,发现新版后从顶部滑下可收起的更新浮层,直接展示主要更新和修复说明,不挤压主界面布局。
- 发布清单自动附带对应版本的更新记录;启动检查只提示,点击更新后沿用安装确认流程。
修复 · 改名与主人称呼
- 保存称呼、其他设置及热重载时重新合并人设文件,避免刚改的名字被旧配置覆盖。
- 当前名字和主人称呼优先于历史对话及预设中的旧称呼;群聊记录的机器人标签和固定回应同步使用新设置,不清除聊天记忆。
- 人设页串行保存,检查每一步的保存结果;清空主人称呼时恢复默认值。
修复 · 微信窗口与热更新编码
- UIA 自动检查不再通过重复启动微信来恢复控件树,避免额外登录窗口;仅以不激活方式显示已有隐藏窗口。
- 后台发送前回读正文,发现不一致时在 GBK 与 UTF-16 间切换重试一次;校验通过后才发送,并记住本次有效编码。
- 验证成功的编码优先于原始候选并保存到本地;后续消息和桥接重启沿用它,再次校验失败或用户主动修改编码设置时才重新选择。
- 两种编码均不通过、正文无法读取或草稿无法清理时停止发送,禁止换通道在残留草稿上继续追加。
修复 · 启动器配置显示
- 内核未启动时,人设、模型及高级设置、微信桥接设置和提醒从本地配置读取并只读展示;启动后可编辑,不再显示一片空白。
- 设置页移除演示模式开关,保留未填 API Key 时的演示回复;保存模型配置时自动尝试真实模型。
- API Key 输入处增加连接提示:重复同一句话、答非所问时检查连接,并使用“测试连接”验证。
修复 · 记忆清理与搜索超时
- 对话正在回复时提示稍后重试;清空后后台任务不会重新写回旧记忆。已有备份与快照保留。
- 搜索达到总超时后不再发起补充请求,避免重复请求及超时边界上的不稳定行为。
安装与升级
下载 whale-girl-4.0.6-setup.exe,关闭正在运行的鲸鲸后覆盖安装。自己的 data 和 config.json 保留。安装程序由 GitHub Actions 构建,并经过全新安装、覆盖升级及卸载检查。
网盘分享压缩包将包含同一安装程序、更新说明和 SHA256 校验文件,不包含个人配置、API Key 或聊天记录。
鲸鲸 4.0.5 · 不用卸了再装:安装包能覆盖升级,更新直接下安装包
鲸鲸 4.0.5
装过 4.0.1 的人终于能直接升上来:新包不用先卸载,装的时候会自动请你关掉正在运行的鲸鲸,沿用原目录,data\ 和 config.json 一个字节不动。
这一版没加新玩法,修的是「怎么升级」和「装完为什么还留着旧东西」。4.0.2–4.0.4 没单独发版,内容都合在这里:网页调试台彻底下线,根目录那堆 bat 删除后只剩 WhaleLauncher.exe,4.0.1 的残留会在升级时被清掉。
从 4.0.1 升级:不用卸载,直接双击新安装包就行——它装回原目录、覆盖旧文件,装之前会请你关掉正在运行的鲸鲸,
data\和config.json不会被碰。只是这一次不能靠启动器里的「检查更新」:4.0.1 的更新器只会去安装目录里找scripts\update.ps1,而安装包从来不带它,所以点更新必然报错。装上 4.0.5 之后,以后再更新就能在启动器里点一下、自动覆盖安装。
升级:不用先卸载
- 安装包补上覆盖升级:装回原目录(
UsePreviousAppDir=yes),升级时由 Windows 的 Restart Manager 提醒你关掉正在运行的鲸鲸(CloseApplications=yes),装完不会重复拉起第二个启动器(RestartApplications=no)。 - 鲸鲸还开着也装得下去:
CloseApplications只能关普通权限的进程,而启动器是提权运行的,实测会卡在「DeleteFile failed; code 5 拒绝访问」。现在安装器自己来——先探测,真在运行才问一句,然后提权把它连同内核 node、桥接 python 一起关掉,装完自动重开;没在运行就一个 UAC 都不弹。 - 顺手清 4.0.1 及更早留下的旧东西:
personas\、resources\、src\http\static.js、src\adapters\bilibili.js、旧位置的runtime\vb-cable。用户数据与运行期库一个都不碰。 - CI 加了「覆盖升级烟测」:先装一次新包 → 伪造一份 4.0.1 残留 → 不卸载再装同一个包 → 断言旧目录旧文件没了、声卡在新位置、
data里的探针还在、config.json逐字节未变 → 卸载收尾。以前这三件事(正在运行就装不上、装完留旧文件、声卡找不到)全靠人肉试。
更新:安装版不再去找不存在的脚本
- 安装版点「更新」不再报「没找到
scripts\update.ps1」:改为从 Release 下载whale-girl-4.0.5-setup.exe与SHA256SUMS.txt,校验 SHA256 后写一个apply.ps1,等启动器自己退出再静默覆盖安装,装完把新版拉起来。 - 下载走系统代理:国内基本都挂代理,一百多兆直连基本必失败;检测那一步仍走直连(4 秒超时 + 缓存),不会被代理拖住启动。
- 进度按真实字节回报,不再靠解析脚本输出。
- 强制更新失败后不再「提示完照常用」:现在提示完直接退出,下次启动继续拦。
- 源码版(git 克隆那份)照旧
git pull。scripts\update.ps1走的是「下载 zip 全量包 → 原地覆盖代码」,而 4.x 的 Release 只挂安装包、没有 zip 资产,跑它会提示「这个 release 里没有 zip 资产」——手上有离线 zip 时仍可scripts\update.ps1 <zip>。
入口只剩一个:WhaleLauncher.exe
- 仓库根目录那堆启动 / 维护脚本全部删除(
启动鲸鱼娘.bat、一键更新.bat、重启鲸鲸娘.bat、打开调试台.bat这些),只剩一个WhaleLauncher.exe。 - 启动、重启、崩溃恢复全收进启动器:内核与桥接由
RuntimeSupervisor拉起,桥接重启刹车(10 分钟窗口、连续 4 次上限)只在启动器里实现。 - 「先点启动鲸鱼娘再点启动桥接」那个文件夹一起删了——启动器里点一下就行。
网页调试台正式下线
- 删除
web/(聊天页、人设页、调试台)与静态文件服务:浏览器打开127.0.0.1:8787现在只会拿到 404 JSON。 - 接口一个没删:启动器和桥接继续走
/api/*。只给网页用的POST /api/reset随聊天页一起下线。 - CSP 去掉了
'unsafe-inline',因为已经没有任何内联脚本。CSRF / Origin 闸与远程 token 鉴权原样保留。
安装包更干净
- VB-CABLE 虚拟声卡安装包从
runtime\vb-cable\挪到安装目录根部的「VB-CABLE虚拟声卡\」,31 个文件整文件夹搬过去,不拆散。 - 启动器先找新位置,找不到再兜底旧路径;两处都没有时直接提示准确路径,不再让人翻目录猜。
内部:用户基本无感,但值得说一句
wechatauto-replica==1.2.9的源码进了仓库(vendor/),构建不再联网拉取;其余 Python 依赖全部==精确锁定,上游一改布局就会在构建期炸的问题一并解决。- 根目录收敛:删掉 119 个死模块与零引用文档;按判定表合并 4 组同名重复实现(
readJson/getByPath/clean/cleanIncoming)。 - Release 现在自动带
release-manifest.json,并回读校验资产齐全,缺一个就报错。
⚠️ 这一版主动接受的能力损失(4.0.2 起就是这样,没有变化)
- 缺 .NET 10 桌面运行时不再自动装:干净机器得先自己装好,否则
WhaleLauncher.exe只会弹一句英文错误。 - 不再自动下载 Node / Python 运行时:只支持发行包自带的
runtime\;源码版要自己准备 Node 18+ 和 Python 3.12。 - 8787 被占用时没有图形化的清理入口:只能用任务管理器,或关掉启动器后跑
scripts\stop-all.ps1。 - 没有「真的发一条消息」的自检入口:诊断页只剩只读的
python scripts\tools\uia-check.py,要真发得自己跑python examples\uia_selftest.py。 - 不修 Python 目录的 Low 完整性标签:zip 解压后被系统标成 Low 的机器,UIA 会整个不可用(微信进程模块枚举失败),只能手动改目录权限。
📦 安装与升级
- 覆盖安装即可,不用先卸载;装之前会请你关掉正在运行的鲸鲸。
- 沿用原安装目录;
data\(聊天记忆)与config.json(Key)原样保留,包里不含这两样。 - .NET 10 桌面运行时随包,目标机缺失时由安装器请求管理员授权后静默安装。
📦 校验
whale-girl-4.0.5-setup.exe
- 大小:168MB(4.0.1 是 168.2 MB / 176,325,044 字节)
- SHA-256:168MB
核对:
Get-FileHash .\whale-girl-4.0.5-setup.exe -Algorithm SHA256也可以在资产里下 SHA256SUMS.txt 对照。
Source code (zip)/Source code (tar.gz)是 GitHub 自动生成的纯源码包(约 10 MB),不含 exe 和运行环境,装不了。
鲸鲸 4.0.1 · 界面搬进启动器,聊天里能设提醒,安装包 167 MB
鲸鲸 4.0.1
界面搬进了启动器,聊天里能设提醒了,说话快了三秒,安装包小了四十兆。
3.9 的时候你得开浏览器敲 localhost:8787,4.0 直接双击桌面上的鲸鲸就行——状态、微信桥接、模型、人设、表情包、提醒、语音、设置全在启动器里,改完即时生效。4.0.1 在这上面又补了一批:旧记忆能直接读、被问型号不再报配置、语音和看图都能真的用了,安装包从 206 MB 收到 167 MB。
从 3.9 升级:先备份
data\和config.json,其余看文末「安装与升级」。旧记忆不用自己动手,合并进来后启动一次就自动转换。
提醒:聊天里说一句就行
「十点半提醒我开会」「30 分钟后提醒我收衣服」「明天早上八点提醒我带伞」——在微信里或者对着鲸鲸说都行,她会自己算好时间,到点发给你。
- 只认「提醒我 / 叫我 / 别忘」,聊到时间点不会被当成提醒
- 到点精确发送,不是每分钟查一次(实测误差 ≤ 11 毫秒)
- 发失败 5 分钟后自动重试一次,还失败就标原因,能在「提醒」页看到
- 过了点不补发,也不会拿旧提醒烦你
记忆升级:想写多厚的人设都行
单轮上限从 32,000 token 提到 64,000,人设最多能占 58,500 token(约 9 万汉字)。对话预算的说明改成了人话:直接算给你看「人设 + 预算 = 多少、还剩多少」。
- 每个会话的记忆独立,不会串台
- 崩溃或强退后能恢复,不用从头聊
- 记忆块超预算时按段丢:先丢旧事件,再从尾部按整句删,结尾那句「只在这个聊天里说话」永远保留
- 从 3.9 带过来的旧记忆自动迁移:缺的消息按时间合并、去重、整体重排,同名会话不再被跳过
- 迁完在启动器弹一次「记忆已导入」,也能手动预览:设置 → 高级 → 旧版记忆 → 一键识别转换
主动搭话:只找你在乎的人
新增白名单:默认只跟主人和文件传输助手搭话,还能选联系人、选群,填昵称也行,会自动认出人来。
- 「只在私聊」「只跟主人」这些开关现在按白名单走,不再莫名其妙漏人
- 时间窗、频率、插话概率照旧,两个功能互不打扰
- 判定只在一处做,没发出去会写清原因(不在时间窗 / 都在忙 / 被白名单筛掉)
更新器:有进度、关窗口不烂尾
- 下载有进度条,大版本下载能看见走到哪了
- 下载分段并发,支持差分补丁,不用每次拉整包
- 更新中途关掉窗口也没事,不会留下半截文件
- 更新完自动重启,不用手动再点一次
- 4.0.1 加了强制更新:清单有四个来源并行读,判定分「正常 / 提示 / 强制 / 拦截」四档;断网用本地缓存,从没拉成功过就放行,运行中只提示不打断
新功能:语音、看图、表情包
- 语音发送(实验性,默认关):把正常回复转成语音,按概率发,或响应对方明确要的语音。合成一条大约 40 秒,超时会改发文字
- 看图:支持自定义接口地址,也能一键从聊天配置复制;OpenCode Go 那类网关需要的请求头补齐了
- 表情包:分类改由模型自己判断,认不出的分类会先在你自建的分类里挑一张,再兜底「开心」;支持自定义分类,发送前可以先试发
✨ 新增
- 启动器:7 个页面——状态、微信桥接、模型、人设、表情包、提醒、语音,外加诊断页
- 微信桥接页可以点账号卡直接切号,带实时控制台
- 状态页能一键启动 / 停止 / 重启,看得见内核、桥接、微信、模型各自的状态
- 诊断页:日志分三档级别、每次启动单独归档、一键导出日志包
- 报错会带上
[文件:行],从日志能直接跳到代码
- 本轮用量:状态页显示这一轮的命中 / 输入 / 输出 / 命中率 / 花费,按轮累加
- 环境信息:提示词里注入
<env>(系统、时区、所在地),所在地优先用系统定位,挂 VPN 也是本机位置 - 群聊关系:A 提到 B 时,把「两人的关系 + B 的情况」带进提示词
- 联系人选择器:白名单 / 黑名单能搜索并勾选 wxid,也可以手动填
- 恢复默认:设置里每个页签底部有「这一组恢复默认」,只还原这一组,不动 Key 和聊天记忆
- 动作账本:模型能看见自己刚做过什么,减少重复发送和「失忆」
- 记忆导入:
node scripts/memory-tool.js import,先 dry-run 看会补多少条,写盘前自动留快照
💧 改进
- 提示词静态化:每轮会变的内容挪到最后一条消息里,前缀缓存终于能命中
- 说话快了三秒:闲聊不再每句都调联网路由(省 ~2 秒),千问关掉「思考」(2.1 秒 → 1.3 秒),后台发送的固定等待可以调
- 微信 4.2:群消息正文里的
wxid_前缀会自动剥掉,中文发送按微信版本选编码,不再变「ÄãºÃ」 - 被问型号:不再报配置里的型号,改打个哈哈带过去(以前还会把规则本身念出来)
- 微信群聊:关掉「必须 @」以后也按插话概率抽,不再每条都回;概率设 0 = 没点名一律不接
- 联网搜索:判断「要不要搜」改成按语义走,不再机械卡阈值;「今天 / 刚刚」的时效判定收紧了
- 设置页:单列页签、标签贴着输入框,「插话概率」「日志级别」这类拗口的字都改成了人话
- 对话预算:能在启动器里调,并显示人设占多少 token、谷时价格大概多少钱一轮
- 网页端:只留调试用途,聊天接口只给桥接用,浏览器打开也没法冒充你聊天
- 日志:从「一大堆」变成按级别过滤,失败时还会说清楚是哪一步没成
🔧 修复
- 微信 4.2 下 UIA 完全失效:窗口错拼、控件树没真正物化、权限不够,三个原因一起修
- 表情包发不出 / 卡住:短路径和目录联接会误判,修好后不再堵住所有会话
- 图片「取不到本地文件」、表情包发过来装死不回:缓存改成四轮重试,解密探针跟着当前这张图走
- 识别失败「为什么不回」查不到:现在每条失败都写会话、发送者、消息 id 和原因
- 记忆块超预算会把结尾声明和半句摘要切掉:改成分段裁剪,摘要按整句删
- token 估算拿预算上限冒充真实输入(日志偏差 188%):改成按真实消息估算,并按模型自动校准
- 设置页改完又变回去:群聊开关不再被
data\persona.json的旧值覆盖 - 「模型服务」下拉框换服务后变空白:重建时不再误触发自动保存
- 桥接启动就崩、冷启动顺序和隐私扫描报错一起修掉
- 安装包装完打不开:标准库被排除写漏、第三方库里的
tools目录被整片排除,现在有 CI 真装一遍盯着 - 装完
No module named 'win32ui':pythonwin目录里就放着它,恢复后再没漏 - 卸载/安装提示卡死:
MsgBox不认静默参数,四处改成可静默的版本,第三方卸载工具不会再卡住用户 - 聊天重置、取消群提醒这两处越权已经堵上,管理命令补了身份校验
📦 安装与升级
- 安装包 167 MB,装完约 500 MB:Python、Node、.NET 10 运行时全在包里,装完不用再联网
- 安装本身不弹 UAC,只有系统缺 .NET 10 运行时才会单独提权装一次;装完那个安装包会自动删掉
- 桌面快捷方式默认勾上;卸载时会问一句「要不要连个人数据一起删」,默认保留
📦 校验
whale-girl-4.0.1-setup.exe
- 大小:168.2 MB(176,325,044 字节)
- SHA-256:
7BC03B91F730003DC798010B6922B4069BC293CFE9FD8641B68271A2EE73816B
核对:
Get-FileHash .\whale-girl-4.0.1-setup.exe -Algorithm SHA256也可以在资产里下 SHA256SUMS.txt 对照(94 字节)。
Source code (zip)/Source code (tar.gz)是 GitHub 自动生成的纯源码包(约 10 MB),不含 exe 和运行环境,装不了。
鲸鲸 3.9 · 联网交给模型判断 + 消息汇总开关 + 修桥接启动崩溃
3.9:联网交给模型判断 · 消息汇总做成开关 · 砍掉打扰性功能 · 修桥接启动崩溃
联网搜索
- 新增语义路由:每条消息先让模型判断「要不要联网」,并顺手改写检索词;模型不可用时才回退关键词表。以前只按关键词触发,词库外的说法(「小蓝鲸是什么梗」)永远不联网。
- 热榜按站点分流:B站走官方热搜接口、微博走微博热搜,其它仍用头条榜;提到具体视频/事件时不再强行查榜,指定平台失败也不会拿别站榜单冒充。
- 修复补搜路径对
Set调用数组方法的崩溃——它曾把已经搜到的一条结果一起吞掉。 - 联网阶段共享一个总预算:路由最多 2 秒并取消底层模型请求;HTTP 增加墙钟截止、跳转上限、响应体上限和中断处理。
- 检索词清洗不再破坏产品型号/版本号/中文专名,也不再机械塞年份。
- 提示词改用运行日期而不是写死「现在是 2026 年」,区分「查到资料」与「查了但没结果」,并注明外部摘要不可信。
消息汇总(默认关闭的总开关)
- 控制台「功能开关」一行同时提供总开关与「每隔(分钟)」,只在总开关打开时生效,改动自动生效。
- 关闭 = 不采集、不轮询、不推送,接口 404,并清空本轮待汇总内容;重新打开只收新消息。
- 只收微信里未接话的普通消息,排除已回复、重复、系统通知、主人消息、静音会话和网页测试聊天。
- 接收人必须是主人设置里唯一明确的微信内部 ID,不按昵称猜号。
- 发送前后重新校验开关、代次、会话、账号、前台和焦点;已粘贴但取消时隔离该会话草稿,不自动删除也不让普通回复把草稿发出去。
- 一批超过上限时游标只推进到真正发出的最后一条,剩下的留到下一轮(此前会永久丢失)。
- 汇总文本有限长、限会话数并明确标注省略;拉取失败有次数上限,送达不确定的窗口不重发。
砍掉的功能(关掉 = 完全不存在)
- 删除「检测到游戏就进休息模式」「离开/回来打招呼」「忙时排队补发」及对应控制台设置项。
- 删除机器人里「我去玩了 / 我回来了」的命令分支和休息状态文件副作用。
- 删除群成员发言次数排行(「群里常说话的就这些:A(87)…」);群聊上下文仍保留说话人名字,但不再统计次数。
- 旧配置里的
gameWhitelist、awayNotice、returnNotice、queuedMax*、digestMinutes不再起作用,控制台也不再显示。
桥接启动崩溃(有人反馈的控制台 traceback)
- 修复随包三方库
wechatauto/db.py的缺陷:密钥诊断把 PID 列表当三元组解包,只要有一个微信进程读不了内存(微信用管理员运行、多开选错号)就抛TypeError: cannot unpack non-iterable int object,把本该显示的排查提示顶掉,桥接直接退出。 - 读不到数据库时不再甩 traceback,改为输出可照做的步骤:管理员运行桥接、在「启动鲸鱼娘.bat」打开的网页右上角「⚙️ 设置 → 微信账号」里选对账号、确认微信已登录。
- 同步修正另外两处同样含糊的「去网页设置」提示和设置文档。
包
- 自带 Node 22 + Python 3.12 + ffmpeg;不含
config.json/data\/.git,覆盖安装不动记忆和 Key。 - 出包脚本会在暂存树里修掉上述
db.py缺陷(幂等、拒绝未知布局),并从 zip 逐文件校验哈希后才替换本地包。
说明
天气/搜索仍可能受搜索引擎验证码、平台风控和模型误判影响;本版修的是代码缺陷,不宣称任何问题都能搜到。
鲸鲸 3.64 · 表情包三分类 + 私聊/联网/日期修复
3.64:表情包三分类 + 私聊/联网/日期修复
表情包
- 控制台只保留三类:傲娇 / 炸毛 / 其他,其他旁标注「(此为绝大部分情绪,建议多加表情包)」。
- 普通聊天只从「其他」随机,空分类不再跨分类借图;只有明确的骂人/撒娇才用炸毛/傲娇。
- 旧目录(开心/嫌弃/敷衍/撒娇、旧英文目录、通用、根目录图片)首次开启时安全合并:同名不同内容重命名,复制校验成功后才删除原图,失败保留原图仍可预览/删除。
- 预览与删除改用库内相对路径身份,修复旧图 404 和同名误删。
- 修复概率改动不生效、抽完一轮立刻重复同一张、继承属性绕过分类白名单、库根祖先目录联接未检查。
- 修复私聊不发表情包:把微信「设置」窗口误算成第二个账号,导致账号闸拒绝;现在只统计标题为「微信」的主窗。
- 发送失败会给出具体原因(前台 / 会话标题 / 输入框焦点),不再只有一句笼统英文。
联网
- 补「下雨 / 下雪 / 气温 / 多少度」等触发词——以前「北京明天会下雨吗」根本不会联网。
- 新增相关性过滤:剔除跑题结果(搜「最新 iPhone 多少钱」曾返回 Yandex 官网,搜「显卡行情」返回「帮」字字典页)。
- 品牌口语归一 + 官方机型页兜底:「苹果最新机器」现在能答出 iPhone 18 Pro / iPhone Duo。
- 新增日志「联网资料已注入提示词:N 字」,能直接看出资料有没有进提示词。
其他
- 提示词补上完整年月日:问「今天几号」不再答成 4 月 18。
- 删除「消息汇总」:桥接定时线程、
/api/digest接口、采集逻辑和配置项全部移除,并禁止主动汇总群聊。 - 自定义人设同样追加「能发表情包」的能力说明,不再自称「我不会发表情包」。
- 同一会话不再在第 45 秒并排第二张,统一 90 秒期限。
包
- 自带 Node 22 + Python 3.12 + ffmpeg;不含
config.json/data\/.git,覆盖安装不动记忆和 Key。 - 出包脚本从 zip 逐文件校验源码哈希后才替换本地包。
已知未解决
- 天气联网与 0xC0000005 原生崩溃仍需独立复现,本版不宣称已解决。
鲸鲸 3.63 · 表情包不再被卡住的任务堵死
修的是「25% 概率为什么像没生效」
- 一次发送失败/卡住,任务会停在 sending,同一个会话后面 5 分钟内一律不排新表情 —— 这就是实际频率远低于 25% 的原因。
- 现在:卡住超过 45 秒就不再挡住新表情;任务超过 90 秒自动判失败释放。
- 另外 3.62 的修复也都在:不用先选账号、发成文件卡片也能确认、多种「发个表情包」说法必发、切不了会话的上游 bug。
鲸鲸 3.62 · 表情包默认能用(不用先选账号)+ 必发 + 窗口过小/窄栏修复
3.62 全是表情包的坑
1) 不用先去网页选账号了
以前只要机器上存过多个微信账号目录(换过号的人都有),表情包就要求你先去「设置 → 微信账号」选一个,否则一律拒绝:
表情包跳过:这台机器有多个微信账号目录,但没指定用哪一个…
但你只登着一个号,根本不可能发错号。 现在:
- 本机只登着 1 个微信 → 直接发
- 真的同时登着 2 个以上 → 才要求明确选账号
2) 发出去了却报「未确认」
实测:把 gif 粘进输入框,微信有时会把它发成**「文件卡片」**,而确认逻辑只认图片/表情类型 → 明明发出去了还判失败。
现在按 md5 + 文件名 认领:数据库里新消息内容里出现这张图的 md5,就算发出去了。
3) 切不了会话(上游库 bug)
TypeError: WeChatUIA._search_button() takes 1 positional argument but 2 were given
wechatauto 里 _search_button 少了 self,而且被步骤埋点又包了一层 → 一调用就抛异常 → 搜索框打不开 → 换会话失败 → 表情包报「目标会话没打开」。
已改成 staticmethod,并从埋点名单里移除。
4) 「发个表情包」必发
以前只认「发 + 个 + 表情包」这一种说法。现在这些都会直接发一张:
发个表情包 / 发表情包 / 来张表情 / 整个表情包呗 / 表情包
5) 她也知道自己能发了
表情包开关打开时,提示词里会加一段:
【表情包】你能发表情包。聊到情绪点、或对方说「发个表情包」时就直接发一张,不用问要不要、也不用嘴上解释——发完接着正常说话。
以前她会回「我发不了表情」。
其余 3.60/3.61 的东西都在:五分类拖拽、每类概率(默认 25%)、无发送间隔、打开文件夹直接拖/删、缩略图 × 删除、调教台去掉导入、版本号显示、一键诊断UIA、UIA 热激活找主进程、日志不刷屏。
鲸鲸 3.61 · 修 UIA 掉线刷屏 + 分类图标 + 一键诊断
3.61 修的是「能用但很不顺」的那堆事
1) UIA 掉线不再刷屏,也更容易自动恢复
日志里以前会一秒一条:
热激活 UIA 失败:PID 36328 未找到 Weixin.dll
UIA 不可用(启用 OCR 兜底…)
原因:小程序 / 公众号 / 插件容器这些微信辅助进程里没有 Weixin.dll,但热激活拿着它们的 PID 去扫,扫不到就每秒警一次;UIA 一掉,发送就掉进很慢的 OCR。
现在:
- 扫不到就回头找真正加载了
Weixin.dll的微信主进程再激活 - 真找不到时 10 分钟只提示一次
- UIA 不可用先走键盘通道,只有它也失败才用 OCR
- OCR 等待 25 秒 → 8 秒,失败快速返回,不再「发了半天没反应」
2) 新增「一键诊断UIA.bat」
放在文件夹根目录,双击就出人话结论:
结论:UIA 正常,可以发送。
不正常时给排查顺序(退出微信重登 / 用管理员运行 / 别缩托盘 / 再跑一次)。
3) 表情包分类图标不再空白
原来五个分类用 emoji(😄😤🥺🙄😴),Win7 / 精简系统没有彩色 emoji 字体会显示成空白方块。现在改成内联 SVG,任何系统都能显示。
4) 调试台顶部显示当前版本号
用户报 bug 时先看这里:不是最新版就先升级,省得大家排查一款老包。
5) 修预设会改掉她的名字
导入预设会把名字变成预设标题(「鲸鲸 v1:像群友一样聊天」)、并把外形/性格/背景清空。现在只覆盖预设里真正写了的字段。
完整功能(3.60 起)
- 表情包(实验性,默认关):五个中文分类框拖 gif、每类单独概率(默认 25%)、无发送间隔、私聊群聊都发、打开文件夹直接拖/删、缩略图 × 删除
- 人设调教台:去掉「导入」按钮,选到哪版下面立刻变哪版,点保存生效
- 稳定性:升级不丢记忆、
一键更新.bat自动校验回滚、ffmpeg 自带、修 VC++ 误报、积极拒绝、数据库卡死
鲸鲸 3.60 · 表情包(实验性)+ 调教台简化
这一版主要有三件事:表情包、调教台、一个预设 bug
1) 表情包(实验性,默认关闭)
- 调试台顶部一个总开关,关掉 = 这个模式完全不存在(不挑图、回包不带字段、桥接不轮询、接口 404)
- 五个中文分类框:开心 / 炸毛 / 撒娇 / 嫌弃 / 敷衍,gif 拖进哪个框就归到哪一类
- 每个框下方直接显示并调整自动发送概率,默认都是 25%;私聊、群聊都按这个概率发,没有发送间隔
- 「打开表情包文件夹」:直接开资源管理器,往子文件夹拖 gif 或删文件都行,界面 3 秒内自动刷新;缩略图右上角 × 也能在控制台直接删
- 发送规则(fail-closed):
- 只发对应分类的图(或「通用」),绝不拿别的情绪的图冒充
- 对方明确说「发个表情」时才允许从全库随便挑一张
- 微信不在前台会短暂切到前台并在发完后还原;游戏/全屏时不抢焦点
- 输入框里有你自己的草稿就等它自己清空,绝不替你按删除键
- 只有数据库里出现新的本人发送记录才算「已确认」,否则如实显示「未确认」,不自动重发
2) 人设调教台
- 去掉了「导入」按钮:选到哪一版预设,下面的名字 / 性格 / 外貌 / 语气 / 上下文长度会立刻填好,确认后点最下面「保存」即可生效
- 打开页面自动载入「当前正在生效的那一版」;如果现在的人设是手改的,不会强行覆盖,只在旁边提示
- 保存时记住「这一版来自哪个预设」,页面上直接显示当前生效的是哪版
3) 修复
- 导入预设会把她的名字变成预设标题(「鲸鲸 v1:像群友一样聊天」),外形 / 性格 / 背景还会被清空;现在只覆盖预设里真正写了的字段
- 私聊表情包一张也发不出去(微信「空输入框」读出来是换行符,被误判成草稿)
- 「和锁定账号冲突」导致表情包全被拒绝(改为与文字发送同一套账号证据)
- 表情包发送结果写回失败时控制台卡在「尝试发送中」(改为重试)
- 微信不在前台时表情包直接失败(改为短暂切前台并还原)
- 会话标题差一个空格就被判成「目标会话没打开」(改为归一化比较)
- 配置合并改深拷贝,避免一次导入污染默认值
升级
- 双击
一键更新.bat:查最新 → 下载 → 校验 → 备份 → 覆盖代码 → 自检,失败自动回滚 - 或把新包覆盖到原文件夹:包里不含
config.json/data\,记忆和 Key 一个字节不动