群相(Persona Morph):本地运行的微信群聊 AI 机器人,支持人设、记忆与插件扩展
Eifptaur/Eif-MAPT-PersonaMorph
群相(Persona Morph)是一款装在用户自己电脑上的微信群/QQ 群 AI 机器人,用自备模型 API Key 或本机模型驱动,数据默认不出本机,源码以 MIT 协议开源。它支持七字段人设卡、群友印象与事实抽取等记忆能力,以及人设、Skill、工具三类插件扩展,发消息、切会话、发图片文件均走后台投递,不占用鼠标。项目声明与腾讯无关,未获腾讯授权、认可或赞助。
群相(Persona Morph)
非官方产品:本项目与腾讯无关,未获腾讯授权、认可或赞助;「微信」是腾讯的商标,本项目中仅用于说明兼容对象。请勿将本项目用于任何违反微信协议或法律法规的用途。
把 AI 拉进你的群,让它像个人。
群相是一个装在你自己电脑上的群聊 AI 机器人。给它一个人设——一个角色、一位历史人物、一个你自创的性格——它就以那个人的口吻在你的微信群/QQ 群里说话:接梗、吐槽、记得住人、认得出谁在跟它说话,该回的时候回,不该回的时候闭嘴。
- 本地运行:装在你自己的电脑上,用你自己的模型 API Key(或本机模型),数据默认不出本机。
- 后台干活:发消息、切会话、发图片/文件都走后台投递——不动你的鼠标,微信被盖住甚至收进任务栏也能干。
- 你能改:全部源码开源(MIT)。人设、Skill、工具都是纯文本文件,你随时能改、能自己写、能装别人的。
这一份是产品全貌说明。
常见问题.md回答"用起来会碰上什么";更新日志.md记版本变化。⚠️ 本说明写的是产品的完整形态(它最终会具备哪些能力),不是逐项的开发进度表。
各能力的可用程度请看界面上「版本能力矩阵」的实测账——那里写的是"这台机器这一版实测过什么",
与本说明是两套口径,不要混着看。
一、它能做什么
人设:让它像某个具体的人
- 人设卡库:内置大量角色卡,覆盖游戏、动漫、名著、历史、原创等类目,可按标签筛选、按评分排序,也能随手搜一个名字。
- 七字段人设:一张卡不是一段笼统的"你是个 XX 性格的人",而是拆成背景 / 性格 / 语言风格 / 动机 / 价值观 / 行为规则 / 能力局限七个字段——写清"他为什么这么做",而不是只写"他是什么样"。这是让角色立得住的关键:只写性格,模型演的是标签;写清动机,它才演得出人。
- 多套人设随时切:同一个机器人可以备好几套"它像谁",一键切换;哪一项不想填就留空,留空自动沿用上层设定,不逼你一次填完。
- 群内 @角色 分流:群里 @某个人设的名字,只有那个人设回话;不 @ 就是默认人设接。多人设共享同一套记忆,所以换个"人"聊天,它照样记得群里发生过什么。
- 示例对话单独一层:卡里可以附几段规范示例。实测:三段示例胜过一段"请用 XX 的语气说话"的描述。
- 防出戏:长对话里人格会淡化(100 轮后人格特征衰减四成以上)。产品预置"出戏了就拉回来"的规则,并每隔固定轮次补一句轻提醒。
- 自动评分与补足:按七字段给卡打分(风格 / 贴合 / 一致性 / 自然度 / 完整度),低分项让模型按角色原话重写,分数上升才保留。补齐"动机"字段后,角色决策准确率从 62.9% 提到 95.5%。
- 版权分档:每张卡按权利方严不严分宽 / 中 / 严三档处理——宽档保留标志台词,"中"档只留极少短句,严档不用。卡里零图片、零语音、零声纹。
- 导出 / 导入:人设卡能导出成一个文件给别人,别人导入即可用;带 schema 版本号,版本不对会明确报错,不会静默读错。
- 人设模板:内置两版模板——「自创角色」与「真人 / 已有人物」。后者强制带 AI 身份披露与资料来源分级,避免把模型输出当真人发言。
- AI 身份披露:这条不可关。凡是扮演真人或已有作品的角色的卡,都带第零层披露段,声明这是 AI 生成内容。
记忆:它记得住人和事
- 群友印象:对每位群友自动沉淀"他是谁"。回话时除了印象,还会带一行「上次聊过『…』(X 前)」——这行从本机消息库现读,不花 token、不凭空编,而且本轮正在回答的那几条不算"上次"。
- 事实抽取:从聊天里自动抽出结构化事实(谁喜欢什么、约过什么事),每条带时效。时间承诺 30 天过期,生日永不淡出。
- 待跟进:约好的事会被记下来,到期提醒。
- 情感记忆:纪念日、生日这类日子单独记一层。
- 亲近度与活跃时段:按互动频次算亲近度,按发言时间统计"这个人常在什么时候出现"。
- 热词与群梗:2–4 字滑窗统计群内热词,并能让模型给梗做释义(出处 / 语境 / 用法),还能画出梗的进化时间线。
- 记忆图谱:把印象与会话记忆画成可交互的图谱,本机生成、零 token。
- 记忆管理:记忆页可查看 / 修改 / 删除,能看到每条的来源;支持关机时把本次对话总结成印象。记忆覆盖冲突会被审计出来。
它怎么说话:节奏、参与度、风险
- 响应档位:1 档几乎不主动,4 档逢聊必接。被 @ 或被引用时,任何档位都会回。
- 主人档:只想在群里被 @ 或引用时才回,选这一档并把你自己的号登记进去。
- 拟人节奏层:打字前的停顿、分段发送、偶发的错字修正这类"像人"的细节,全部可调,默认全关(由你自己把控)。
- 风险闸门:每分钟 / 每小时 / 每天上限、夜间静默、群发判定阈值——按你自己账号的情况设。
- 学会停手:连续失败会自动熔断退避,等几分钟自己恢复,不会一直撞墙。
- 指令白名单:只有在名单里的人能用
@机器人 禁言 30分钟这类指令;留空=谁都不能下指令。 - 词性脱敏:送进模型的上下文里,群友的真实 wxid 一律换成昵称(点名也用昵称,模型拿不到 uid);生图提示词在发出前会把手机号、身份证、银行卡、邮箱、wxid、@提及替换成占位符。
- 多模型:任何 OpenAI 兼容接口都能用,官方、中转站、本地模型都行。
它能在群里干什么
- 文字、图片、文件、表情:全部支持。收藏的表情也能发,动图发出去还是动的。
- 真语音条:让它"说"出来——合成音频、播进虚拟声卡、微信自己录、再点发送,发出来是真正的微信语音条,不是音频文件。音色、语速可调。
- 语音转文字:群友发来的语音可以转成文字再理解。链路全在本机(解码 → Windows 内置识别),音频不出网。
- 拍一拍 / 引用:被 @ 时能引用原话回,也能拍一拍。
- 朋友圈:查看、点赞、评论(点赞评论走真实鼠标,默认关)。
- B 站与视频理解:解析 B 站链接(标题 / 简介 / 字幕 / 音频),也能读群友发来的视频(抽帧识别,可选转写)。走随包自带的 ffmpeg,不用另装。
- AI 生图 / 生视频:探到本机在跑的 ComfyUI 一类服务就用,探不到如实报不可用。
- 辟谣解析:链接或视频进来,抓正文、出摘要、联网佐证,给一个分档的结论(真实 / 大概率真实 / 存疑 / 大概率不实 / 已证实谣言 / 信息不足)。私聊共情优先,不当众打脸。
- 群年报与卡片:年度报告(语录榜 / 表情榜 / 梗进化史 / 夜猫子榜),名场面一键成 3:4 分享卡。
- 音乐推荐:问"推荐首歌""来点适合下雨天的""跑步听点带劲的",给的是像样的推荐,不是干巴巴列歌名。默认走在线曲库(网易云公开接口,免配置、开箱可用)——优先从别人按场景攒的歌单里挑,推的是"你没听过但合口"的,不是热单堆砌;每条带"为什么推它"和一条可点链接,你自己点开去听(不发音频、不转发、不绕版权)。想用 QQ 音乐就在面板里填一个自己的 key(面板里有申请入口)。
主动:不只是被动回话
- 主动开话题 / 主动私聊:一天随机发几条、限定在某个时间段、两次之间留最小间隔、对方刚说过话就跳过不打断;优先挑对方常在的时段。可主动分享你这边的近况。
- 纪念日提醒:到日子会主动提。
- 跟进没回复的话题:上次问了没答的事,会找合适时机再提一次。
- 空窗延续:隔了一天以上重新聊,会接上次的话头,不像失忆重启。
- 看脸色:回话前先读语气——对方低落时先共情别急着给建议,烦躁时简短,只回单字或表情时不长篇大论硬凑。
- 主人识别:认得出谁是主人,据此决定什么话该说、什么话不该插嘴。
- 本地文件监听:盯着你指定的文件夹,有动静就通知(纯本地、不出网)。
扩展:人设、Skill、工具都是插件
产品按"一切皆插件"来设计。能扩展的只有三类,各有一个固定的家:
| 类型 | 是什么 | 谁来触发 | 放在哪 |
|---|---|---|---|
| 人设 | 一段人格设定(七字段),决定"它是谁" | 会话装载时驻留 | 人设库 |
| Skill | 一段给模型的说明书:什么情况该按什么套路做 | 模型自己判断该不该用 | skills/ |
| 工具 | 一个能被调用的函数(打接口、查数据、发东西) | 模型按需调用 | tools.d/ |
三条设计约束,都是硬的:
- 开关只有一处:关掉一个扩展,它的工具、能力、提示词片段同时失效,不会出现"界面关了还在偷偷工作"。
- 状态说得清为什么:没生效时界面直接写明是"未启用 / 依赖缺失 / 加载失败 / 不支持",不笼统报一句"工具已关闭"。
- 扩展碰不到发送链核心:装进来的东西只能注册工具和能力,不能改发送逻辑和落点。
- 自定义 HTTP 工具:丢一个
.json清单进tools.d/,在面板里勾选就能给模型用。只发 HTTP、不执行本地代码;域名白名单必填,内网 / 本机地址永远拒绝。同时统计每个工具的调用次数,一眼看出哪些只是摆设。 - Skill 与插件热重载:放进目录即生效,不用重启。
- 出厂目录为空:出厂的扩展目录是空的,装什么你自己决定。
资源市场:在软件里下载和上传
社区分区的顶部有一个「资源市场」按钮,点开是一个三栏弹窗——人设 / Skill / 工具。三栏共用同一套动作:
- 下载:从站上列出的资源里挑一个,装进本地对应目录,装完直接在软件里能用,不用自己去翻文件夹。
- 上传:把你自己写的人设 / Skill / 工具传上去。选文件、填标题作者、直传(密钥不进前端),站上人工审核后公开。
- 打开网站:直接跳到站上对应分栏页,用系统浏览器打开。
三栏共用同一张清单格式(id / kind / 名称 / 版本 / 作者 / 说明 / 入口 / 校验值),kind 只决定装到哪个目录,不决定"能不能装"。装 / 卸是原子操作:失败整目录回滚,不留半个包装进现状。
站点建好前,弹窗会照实写「资源站还在建设中」,按钮置灰但看得见——不做假按钮,也不整栏消失。
界面:三套界面,两种语言风格
三套界面(同一个后端,界面各有各的场合):
- 桌面控制台(Qt 原生窗口)——主界面。无边框、可拖拽可缩放,带系统托盘,全部面板内置、按钮逐个接通。
- 网页控制台——同一套功能的浏览器版,本机
127.0.0.1打开。适合远程管理(要显式开)。 - 右下角挂件——桌面角落的一只小鲸鱼,悬浮显示余额与用量,可拖动、左右边缘自动吸附并翻转,形象可换(导入自己的图),带气泡、音效与用量记录。
两种语言风格(同一个意思,两种说法):
- 鲸鱼风:比喻化、有语气("漂在海里""吃掉了多少 token")——默认这一档。
- 朴素风:直白说明,一句是一句。
两套文案共用同一个译文源,同一句话在两种风格下各写一版,切换主题即切换说法。默认那一档也保证一眼看懂。
三套主题:深色 / 浅色 / 鲸鱼海洋。
看得清、管得住
- 用量与计费:实时统计会话 / token / 成本(今日 / 周期 / 累计),每日明细日历,日志可勾选删除。顶栏显示余额,余额数字能一键隐藏或改成你填的数(只改显示,不动真实余额)。
- 版本能力矩阵:把当前「微信版本 × 适配层版本」下每条操作的实测状态逐条列出来——是全程后台、后台优先、还是需要真实鼠标,写得清清楚楚,不藏。
- 接入诊断:连不上微信时,逐步诊断哪一环卡住,并直接给出那一环该怎么做。
- 检测中心:代码检测与点击测试,全在程序内完成、不碰鼠标。
- 一键备份 / 恢复、一键数据导出。
- 免浏览器操作台:给老机器或无界面场景准备的中文数字菜单,20 条命令,
--json出机器可读结果。 - 低配模式:一键关掉吃 CPU 的画面特效,不动任何安全开关。
- 开机自启:控制台一个开关,只在当前用户下生效、不需要管理员,删掉文件即关闭,界面如实回显状态。
- 反馈栏:控制台里直接填、直接提。通道不通时如实显示「还没发出去」并把内容留在输入框里,不留假成功。
装、更新、出问题
- 一键启动:双击即用。自动检查 / 准备 Python、装依赖、自检、启动、弹出控制台。含依赖的包首次启动零下载。
- 一键关闭:先收看门狗再收本体,只收本程序目录里的进程,没关掉的如实列出来。
- 自动更新:控制台顶部出现公告条,点一下就行;更早的版本点一次启动会自动接替。
- 微信升级适配:微信更新后界面会变,产品把对微信的适配按版本记下来。升级后不用手动跑任何东西——打开版本面板点一下「升级适配层」,后台自己装(不重装、不降级微信),装完自动重测能力矩阵。没实测过的版本对,发送前会被版本门拦一下(可临时放行,只对本次运行有效,重启重新拦)。
- 多账号:多个微信账号能分别选。
- 双语包说明:
tools.d/README.md等关键说明中英对照。
二、三/四步上手
- 装:确认 Windows 10/11 64 位、微信 4.x 已登录、备一个 OpenAI 兼容的模型 Key。解压到任意目录(路径尽量别带中文与空格),双击
群相.exe。 - 填模型:控制台 →「模型 API」→ 填 Base URL 与 Key → 点「测试 API 连通」→「保存设置」。
- 接微信、选群:「微信」面板顶部那段接入诊断应当几行全绿,哪一行写着"卡住"就照那行写的做。然后「检测群聊并勾选」勾上目标群(一个都不勾=所有群都参与),保存。
- 选人设、开监听:「人设与响应」选一个人物 → 应用 → 回顶栏点「恢复」。默认是暂停状态,不点「恢复」它只看不说。
四、出问题怎么办(按这个顺序试)
-
微信连不上:看「微信」面板那段逐步诊断,哪一行是「卡住」就照那行写的做。
-
一键盘不通:双击「一键检验(生成报告).cmd」,它跑一遍并把报告写到
报告\下 —— 把那份报告发给我们(不含密钥、也不含聊天内容)。 -
机器人不回话:确认已「恢复」、已勾选目标群、群里 @ 了机器人或命中了设定关键词。
-
消息发不出去(日志里出现「确认不了目标会话」「宁可漏发,绝不发错」等):按这个顺序自查——
① 机器人是不是被「暂停」了(顶栏状态看一眼);② 白名单群名对不对(「微信」面板重新「检测群聊并勾选」);③ 多账号是不是选错了号(「微信」面板的账号选择);④ 是不是在识别熔断期(「运行日志」搜「熔断」,等几分钟会自动恢复);⑤ 以上都正常还发不出,才考虑最后一步——打开「真鼠标兜底」(默认关:开了机器人会真实移动光标、点输入框、点发送,会短暂占用你的鼠标;适合投递档老失败、机器空闲可托管的场景。对应配置
input.allow_real_fallback)。白名单与会话识别正常时,不需要打开它。 -
微信版本更新后失灵:不用手动跑任何东西 —— 打开控制台「版本」面板点一下「升级适配层」,产品在后台自己装(不会重装、不会降级微信),装完自动重测能力矩阵。
-
点「一键关闭」没关干净:新版已改成「先收看看门狗再收本体 + 只收本程序目录里的进程 + 如实列出没关掉的」;也可以用
一键关闭.exe --probe %TEMP%\x.txt,只列会关谁、不动手。 -
更新检查报「拉不到更新源」:程序会自动换源重试(官方 + 国内镜像);仍不行说明这台机器到 GitHub 的线路不通,换个网络或手动下载。
-
日志在哪:主日志
data\runtime.log;启动与收尾在logs\persona_morph.log;一键启动的过程在logs\onestart.log。
没有显卡 / 老机器卡到不能用?
两条路,都不需要开浏览器、也不需要显卡:
-
低配模式:双击「一键低配(关特效省CPU).cmd」,把「好看但吃 CPU」的画面特效关掉(挂件动画、波纹、自定义背景、轮询放宽)。只改这几个设置、不动安全开关,随时可以恢复(原值有快照)。
-
无界面操作台:双击「一键操作(双击我).cmd」,出现一张中文数字菜单,按数字就行。它只调产品自己的本地接口、不碰设置里的安全开关,也不需要浏览器。其中「生成反馈包」会生成一个 txt(版本、状态、体检、日志尾部),把那个文件发出来就行——里面没有你的聊天内容。
命令行高级用法(给脚本/技术同学)同样可用(共 20 条命令,加
--json出机器可读结果):python scripts\pmctl.py status / doctor / check / logs / cfg get|set … python scripts\pmctl.py wechat diag # 接入诊断(连不上微信先看这个) python scripts\pmctl.py fingerprint take # 重取图标指纹(换了主题/DPI) python scripts\pmctl.py calibrate # 重新标定(点不准) python scripts\pmctl.py truth list 20 # 真值审核:看最可疑的 20 条 python scripts\pmctl.py truth export # 导出待审包(清单 + 放大裁剪图,看图审) python scripts\pmctl.py corpus scan # 语料:**只读**扫一遍本机截图,看会收哪些 python scripts\pmctl.py corpus add # 收进语料库(只在语料目录写副本,不动原图) python scripts\pmctl.py corpus feed # 把已入库的真实截图喂进真值流水线 python scripts\pmctl.py corpus status # 只看真值流水线现状(不喂;等价内层 --report) python scripts\pmctl.py pack / feedback "…" # 反馈包 / 直接提反馈⚠️ 能力边界(如实说,不追求 1:1):控制台有一百多条接口、无界面这边 20 条命令。看图表/记忆图谱、拖拽挂件与背景、点屏幕取点的可视化标定、上传预览图片这些本质需要屏幕,故意不做命令行版(硬做只会更难用);这类事情的产出都以文件给你:体检报告、反馈包、待审真值包。
三、日常操作
| 想做什么 | 怎么做 |
|---|---|
| 启动 / 关闭 | 双击「群相.exe」/「一键关闭.exe」 |
| 暂停 / 恢复 | 控制台顶栏;默认暂停,不点「恢复」它只看不说 |
| 退出全屏 | 按 ESC,或鼠标移到屏幕最上端,顶栏滑出来后点「还原」 |
| 更新 | 顶部公告条点「立即更新」 |
| 体检(只读) | 双击「一键体检(只读,不发消息).cmd」 |
| 换人设 | 「人设与响应」面板切换槽位 |
| 下载 / 上传资源 | 「社区」分区顶部「资源市场」,三栏弹窗 |
| 反馈 | 「反馈」面板,选类型写内容点提交 |
五、权限与红线(务必先读)
数据到底去哪儿了 —— 分层事实
这一节的写法是刻意的:把「默认在哪 / 什么条件下会外发 / 外发的具体是什么 / 哪些不发」四件事分开写。因为只要存在一条外发路径,"完全本地、不上传任何数据"这类绝对承诺就是假的——下文凡出现"不出网",都写明了它在哪个条件下成立。更新日期:2026-10-08。
① 默认留在本机的东西(不配置任何联网功能时,这些一个字节都不出网):
| 数据 | 落在哪 |
|---|---|
| 微信消息 / 联系人 / 群 | 只读本机 WeChat Files 下的数据库,不复制、不同步 |
| 数据库解密密钥 | 只在内存里用:不写日志、不进诊断包、不上传任何服务器 |
| 配置(含 API Key) | 本机 config.json |
| 运行记录、截图、媒体 | 本机 data\ logs\ media\ |
② 什么条件下、什么会出去(逐项列出;没开的功能不发):
| 触发条件 | 会发出去的具体内容 | 发给谁 |
|---|---|---|
| 启用云模型 API(非本地模型)并触发回复 | 本轮要送给模型的文字片段:群友这几条消息 + 你设定的人设 / 预设信息 + 必要的上下文与记忆摘要。群友的真实 wxid 不在其中(一律以昵称出现,点名也用昵称) | 你自己在配置里填的模型厂商 / 中转站地址 |
| 开启联网搜索并命中 | 用作检索词的本轮文字片段 | 你自己配置的搜索引擎接口 |
| 用音乐推荐并命中在线档 | 你那句"想要什么样的"(如「适合下雨天的」);不含聊天记录、不含联系人 | 网易云公开接口(默认)/你自填 key 的 QQ 音乐 |
| 开启生图 / 在线图源 | 生成或检索图片用的提示词(由本轮文字派生) | 公开图源 / 你配置的生图服务 |
| 点反馈栏提交 | 你写的反馈正文 + 附件 + 白名单脱敏的环境摘要;不含群名、昵称、文件路径、聊天内容 | 出厂自带接收端,或你自配的中转 / 邮件 |
| 开启上云接口(默认空) | 你选择推送的存档屏蔽名单 / 记忆备份 | 你自己填的接收端地址 |
| 开启自定义工具(默认关) | 该工具的调用参数 | 白名单里的你自己的服务 |
| 使用资源市场的上传 | 你主动选择的那个文件 + 你填的标题 / 作者 | 站上 ugc/ 桶,人工审核后公开 |
③ 明确不会发出去的(这些没有任何开关能让它们出网):
- 微信数据库原文、解密密钥及其派生物;
- 聊天记录全文(云模型只收到"本轮必要片段",不是整库,也不做云端同步);
- 本机文件路径、账号目录名、设备指纹;
- 控制台访问口令。
④ 唯一会让"本地"变成"远程"的两个开关(默认都是关的):
远程控制台与"云 API 那一档"(模型)。前者是 HTTP 明文,只在可信内网用或走 SSH 隧道;后者就是上面 ② 的第一行。
它需要哪些能力、用来做什么
| 能力 | 具体动作 | 用途 | 边界 |
|---|---|---|---|
| 读微信本地数据 | 读本机 WeChat Files 下的数据库 |
判断「谁说了什么」、拼上下文 | 只读本机、只读你自己的账号 |
| 数据库解密密钥 | 从本机微信进程内存里读密钥,用来解密上面那些库 | 上面的读取必需 | 密钥不出网 |
| 模拟操作微信 | 以后台消息注入为主(不动鼠标,可能短暂置前随后还回);必要时 UIA / 真实键鼠兜底 | 发消息、引用、拍一拍、朋友圈等 | 不注入 DLL、不 hook、不写微信进程内存、不改微信文件、不装驱动 |
| 本地控制台 | 127.0.0.1:3210,需访问口令;口令为空时拒绝一切请求 |
配置与监控 | 只绑回环 |
| 远程控制台 | 在别的电脑上用浏览器打开控制台 | 配置与监控 | 默认关;链路明文 ⇒ 只在可信内网或走 SSH 隧道 |
| 出网 | 只发给你自己配置的模型 API 与搜索接口 | 生成回复 | 只送本轮必要片段,不送整库;wxid 等账号标识不进模型输入 |
| 语音转文字 | 读本机 .silk → 本地解码 → Windows 内置识别 |
让机器人"听懂"语音 | 音频不出网、不落云 |
| 真实键鼠 | 只在显式开启"真鼠标兜底"后使用 | 投递档失效时的最后手段 | 默认关,开了会真实移动光标 |
什么样的机器能跑
- 不需要独立显卡:控制台是原生窗口 / 本地网页,OCR 走 Windows 内置识别或纯 CPU 的 RapidOCR,读库与模拟操作都不吃显卡。
- 只有「本地生成图片 / 视频」需要 GPU:它们本就是"探本机有没有在跑 ComfyUI 一类服务",探不到就如实报不可用。
- 老机器卡:低配模式 + 无界面操作台。
- 没有显示器的机器:远程控制台。
我们不做的事(红线,写死在代码与自检里)
- 完全开源(MIT):你拿到的就是全部源码,每一行都能自己审——不含闭源组件,也没有任何需要联网校验的授权环节;
- 不做营销群发:默认带任务层闸门——同一内容在短时间内发给多个不同会话会被判定为群发并拦下;
- 不做群控 / 加粉 / 自动换号 / 代理池 / 绕过风控,也不写这类教程;
- 不读群成员列表、不导出他人数据:群里其他人的信息不落库、不外传;
- 不把 AI 回复伪装成真人:用第三方模型时请保留可识别的标识(建议在会话固定位置标注);
- 不上传任何来自微信的数据或密钥、不采集设备指纹。边界:这一条说的是"微信侧的原始数据与密钥"——云模型那一档会把本轮要回复的那几条文字发给你自己配置的模型厂商,这是"生成回复"本身必需的,不是把整库 / 密钥 / 路径传走。
- 不自己实现「从微信进程里取数据库 / 账号级密钥」,也不做「往微信本体写数据」:数据库密钥的读取由公开依赖承担,我们不重复实现、也不做任何扩展;往微信本体写数据(改库、改文件、写进程内存)完全不碰。另有一处如实说明:为解码你自己收藏的表情 / 媒体文件,程序会只读读取微信进程内存里该媒体所需的密钥种子,实现来源见
agent/emoticon.py文件头(MIT 许可的开源上游);它只用于解码你自己的媒体文件,不往微信写任何东西,密钥与派生结果只留在本机、不出网。⚠️ 这不是谦虚:2025-10-20,同类项目 PyWxDump(9.7k★)与 chatlog(9.2k★)同日收到微信官方律师函、删除了仓库里的全部代码与提交历史;wechat-dump-rs 则被 GitHub 依法下线(HTTP 451)。这条线的现实是「做得越专门,越容易被点名」。
人设来源与版权声明
本产品内置的角色人设均为非官方的、非商业的同人创作,仅含角色名与说话风格,不包含任何官方美术、音频、模型等素材(人设卡内零图片、零语音、零声纹)。涉及的角色名称、作品名称,相关权利均归各自权利人所有;本产品与任何官方主体不存在隶属、合作或授权关系。
每张卡按权利方严不严分宽 / 中 / 严三档:宽档保留标志台词,中档只留极少短句,严档不用。文学名著类人设只使用人物名称并自撰说话风格,不照抄任何现代译本的表述(原著已进入公有领域,但现代译本另有译者著作权)。
关于语音:本产品的语音回复为本机语音合成(TTS)产生,不使用、不复制、不合成任何角色的原始语音或声纹,也不会冒用任何特定自然人的声音身份。语音转文字同样全程在本机完成。
使用提示与建议时长
- 本程序是 AI,不是真人:机器人在群里的发言由大语言模型生成,它没有人格、没有真实情感,也不代表任何真人的立场或观点。
- 建议单次连续使用不超过 2 小时:长时间沉浸在与 AI 的互动里会影响作息与正常社交,建议定时起身休息、适度使用。
- AI 对话不能替代真人社交:如果发现自己的情绪越来越依赖机器人的回应,或它已经影响到你的日常安排,建议先暂停使用、多与真人交流。
以上为使用建议。本程序为开源、非商业项目,请自行评估并承担使用风险。
账号风险与免责
速度 / 频率类旋钮(每分钟·每小时·每天上限、夜间静默、群发判定阈值)默认全部不限或关闭,由你自己按账号情况在「风险闸门」里设置。微信官方协议禁止自动化程序,封号风险由使用者自行评估与承担;程序内的风险闸门只做内容与任务层的兜底,不能免除协议风险。建议:用小号、控制频率、不群发不刷数据。
上面那三家的终局还说明另一件事:平台的容忍边界不在「你读没读自己的库」,而在「这个能力做得有多专门」——所以我们把「读数据库 / 账号级密钥、写微信本体」这类能力排除在产品之外;你在这个仓库里能审到的只有:读本机库、UI 自动化(投递优先,真鼠标兜底且默认关)、只读的媒体密钥派生(解码你自己收藏的表情 / 媒体用)、以及内容与任务层的风险闸门。
六、目录结构(简述)
scripts\persona_morph.py主程序;agent\核心模块;scripts\辅助脚本(启动 / 停止 / 看门狗 / 自检 / 依赖安装 / 无界面操作台等)ui_qt\桌面端界面;assets\console\网页控制台;whale-widget\挂件assets\persona\人设卡库;skills\Skill;tools.d\自定义工具群相.exe/一键关闭.exe;一键体检(只读,不发消息).cmd/一键检验(生成报告).cmd/一键低配(关特效省CPU).cmd/一键操作(双击我).cmddata\logs\media\运行时数据(含隐私与 API Key 相关,请勿外发)config.json你的配置(含 API Key,不要上传 / 外发);config.example.json配置模板
七、风险提示
微信官方协议禁止非官方客户端 / 自动化程序。本项目以后台消息注入为主(不注入、不改微信文件、不动鼠标),风险较低但非零;频率与静默默认不设限、由你自己把控。建议:使用小号、控制频率、不群发不刷数据。是否使用、以及账号风险,请自行评估与承担(详见第五节「权限与红线」)。
致谢
本作品基于社区开源项目二次开发,仅供学习交流;上游版权归原作者,许可证随包附送。特别感谢:
-
小鲸鱼余额挂件(控制台右下角那只鲸鱼,原项目
dsh-whale-widget):github.com/MeteorNOX/DeepSeek-Balance-Whale-Widget
—— 已获原作者同意随本项目分发(素材来源与许可范围见包内
whale-widget/PORT-NOTES.md)。 -
QQ Agent(「机器人怎么想、怎么接话」这条路子的参考):
B 站网友 Kondius 的 kondius.cn/qq-agent。
其余整合的开源项目(微信接入层等)见包内 LICENSE;上游要求的署名与许可原文都随包保留。
来源:GitHub · github.com