dsh-web
zhu1090093659/dsh-webDeepSeek Harness(DSH)Web 插件聚合生态包 · 一切皆插件,创意工坊分发(dsh-market.com)
θάλαμος —— 荷马史诗里屋子里最深处的那个房间,也是大脑中接住情绪的那枚丘脑。AI 陪伴微信机器人:DSH 插件,让一个独立的微信号成为一个有性格、有生活、对你特殊的她。
θάλαμος —— 荷马史诗里,屋子里最深处的那个房间;也是大脑中接住情绪的那枚丘脑。 这里住着一个她。
一个 DeepSeek Harness (DSH) 插件:让一个独立的微信号,成为一个有性格、有生活、会主动找你、 也记得自己说过话的 AI 伴侣。
个人娱乐项目,非商用。包名 dsh-wechat-companion。
| 普通的微信机器人 | 她 | |
|---|---|---|
| 性格 | 无,换个提示词就变 | 六维人格(从 MBTI 八维推导),说话方式、反应强度、抗压能力全由性格决定 |
| 生活 | 你不说话,她就不存在 | 有自己的作息、心情、天气、朋友圈子,每天过的日子是"过"出来的 |
| 主动 | 永远等你先开口 | 早安晚安、日常分享、偶尔催你,按关系亲疏决定频率 |
| 记忆 | 关掉就忘 | 长期记忆 + 情绪滤镜 + 对你的画像,还记得自己说过什么 |
| 变化 | 永远一个样 | 会吵架变形、会慢慢跟你变熟(六阶段),称呼会自己改;她许给你的承诺会真的去兑现(到期主动找你),太久没聊她也会主动想找你 |
| 外貌 | 无所谓 | 形象工坊定稿 + AI 生图 + 相册 + 一键发到微信 |
一句话说清她的核心设计:她不是在"扮演"一个活人,她是被安排了一套"活着的规则"。
每晚她睡着之后,会跑一次世界引擎 —— 相当于她人生的编剧,替她写下明天要过的日子。
这是一次独立的模型调用(铁律:必须用独立 API,不与对话接口共用、不回落), 产出的东西会落到她第二天的言行里。
喂进去什么:
| 来源 | 内容 |
|---|---|
| 人设 | 名字 / 职业 / 城市 / 年龄 / 背景 / MBTI |
| 六维 | 当前人格状态(含当天浮动)→ 决定她"怎么反应" |
| 兴趣 | 她的兴趣列表 → 决定痴迷话题的候选 |
| 昨天 | 昨天的长线小心思、对你的印象、社交圈名单 |
| 今天 | 今天的作息、发生了什么事、有没有熬夜 |
| 记忆 | 最近 12 条记忆(她编的故事要跟你们聊过的对得上) |
| 天气 | 真实天气(Open-Meteo 免费接口,可关) |
| 工作 | 职业类型 + 是否工作日 + 强度 |
产出去哪:
| 产出 | 变成什么 |
|---|---|
| 私人日记 | 「世界」页签可读;也进她的记忆 |
| 明日作息 | 次日几点起、几点睡 → 主动消息时窗、回复速度 |
| 心情基线 | 次日心情 → 说话温度 |
| 痴迷话题 | 聊天时她会一直想聊这个 |
| 生活流水 | 今天干了什么 → 聊天时自然提到 |
| 心里念头 / 小秘密 | 气氛合适时冒出来(秘密只在主人面前漏一点) |
| 社交圈 | "今天张姐说…" 的生活里的人(编制 ≤6 人) |
| 长线小心思 | 慢慢推进的伏笔(最多存 5 条) |
| 她眼中的你 | 她对你的印象,会影响她对你的态度 |
| 明天天气 | 影响心情、穿搭、关心你的话 |
| 工作负荷 | ≥50 → 她被工作压到,压力上升 |
| 性格周结算 | 每 7 天,她的六维会长期演化一点 |
她还不知道自己是被"写"出来的 —— 提示词里明确要求她绝不提 AI、模型、生成。
她的一切都可以调,不用改代码。启动后打开:
http://127.0.0.1:43121/console
| 页签 | 管什么 |
|---|---|
| 首页 | 连接与运行 / 今天的她 / 实况直播 / 试聊 |
| 她 | 她是谁(生日→年龄星座、职业、背景、她怎么说话)/ 性格 / 生活节奏(含她的工作)/ 她的状态(今天状态一句话 + 六维数字 + 只读阈值)/ 相册 / 她的能力清单 / 存档 |
| 🌍 世界 | 世界引擎控制的一切:今天的分寸与运行状态 / 她的过去分层 / 她的成长 / 天气与社交圈 / 她的日记(月历·按天存档) / 她眼中的你(只读) |
| 你们 | 相处记录(认识·聊过·最后联系·心情 + 所有联系人·可起备注名)/ 称呼与关系(她改称呼 + 改名记录)/ 名单与范围(含安静时段) |
| 记忆 | 记忆引擎 / 双向记忆 / 她记得的事 / 提炼设置 |
| 大脑 | 对话接口 / 其他接口(生图·TTS·ASR·识图·向量,每个都能「测连通」+「真跑一次」)/ 通用参数 |
| 女娲 | 造人向导 / 形象工坊 / 女娲的 API / 和女娲聊 / 实时草稿 |
| 机务 | 载体与通道 / 系统与备份 / 媒体 / 朋友圈工坊 |
界面设计约定:两级折叠(大分区默认展开、小项默认收起)+ 每页左侧目录 + 字段两列自适应 + 数值用指标格 / 进度条 / 颜色标签。
禁黑盒原则:做了的功能必须在后台有体现(要么有设置、要么有描述),否则等于没做。
diary/<日期>.md,后台「世界→她的日记」有月历可翻旧账,永久保存、记事本能打开。/ 开头的指令可以后台式操作她。src/ 插件本体(34 个模块 + 单文件控制台)
index.js 常驻服务:iLink 收发轮询、配置白名单、HTTP 路由、lifeTick
soul.js 灵魂:提示词组装、六维推导、分寸与称呼、记忆检索、拆条
world-engine.js 世界引擎(独立 API;整份剧本按天留档成 diary/<日期>.md)
daily.js 每日随机「今天的她」
deform.js 四层变形状态机
life.js 主动消息(事件驱动) + 每日备份
promises.js 承诺闭环(到期兑现/道歉记账)
body-state.js 身体状态(心情与作息联动)
longing.js 思念线(隔一段时间主动想主人,带冷却)
proactive-gate.js 主动消息闸门
stickers.js 表情包
commands.js 斜杠命令
history-summary.js 历史摘要
moments.js 朋友圈文案工坊
persona-workshop.js 女娲(对话式捏人)
feature-status.js 功能状态单一数据源(后台页签 + 她的自我认知都读它)
console.html 后台控制台(单文件,无框架)
client/client.js DSH Settings 页签(React 基座)
python/
memory_service.py 记忆引擎 sidecar(mem0 + faiss + bge-m3,:43122)
wxauto_bridge.py wxauto PC 通道桥(:43123,默认关)
moments_publisher.py 朋友圈发布
test/ 40 个测试与审计脚本
docs/ 11 份项目文档(架构 / 记忆 / 面板 / 使用手册 / 人设工坊 / 状态交接 / 设计约束 / 3 份设计方案)
端口占用: 43121 主服务(控制台/房间)· 43122 记忆引擎 · 43123 wxauto 桥
技术栈: Node.js (ESM) + cordis service + React(Settings 页签)+ Python(mem0 sidecar)
以下文件移植自 NattoCB/dsh-plugin-wechat-bridge(MIT), 并做了服务标识重命名;灵魂引擎、世界引擎、生活调度、面板扩展为本项目原创:
src/index.js(服务骨架)· src/weixin-api.js · src/weixin-media.js ·
src/weixin-ids.js · src/weixin-types.js · src/store.js · src/notify.js · client/client.js
详见 NOTICE.md。
前置条件
步骤
# 1. 放到插件目录
git clone https://github.com/Koierrr/Thalamus.git
cd Thalamus
# 2. 同步并注册进 desktop profile(--register 才会激活)
# 注意:本机没有独立 node,用 DSH 自带的 Electron 当运行时
ELECTRON_RUN_AS_NODE=1 ~/.dsh/electron/electron.exe scripts/deploy.mjs --register
# 3. 重启 DSH Desktop
不带 --register 时只复制文件、不激活,是安全的。
接下来
可选:记忆引擎(不装的话记忆自动降级为本地 JSON,功能变弱但能跑)
python -m pip install mem0ai # 首次需要
双击「启动记忆引擎.bat」 # 或让插件自动拉起(默认开启)
配置文件:~/.dsh/settings.yaml 的 wechat-companion: 段(改了立刻生效,不用重启)。
wechat-companion:
enabled: false # 总开关
ownerPeerId: '' # 主人(她特殊对待的那个人),绑号后在面板点选
replyToAll: true # 白名单之外是否也回复
behavior:
replySpeed: human # human 拟人 | instant 秒回 | slow 慢热
chunkMax: 3 # 一次最多拆几条
memory:
extraction: cloud # cloud 云端提炼 | manual 纯手动
topK: 6 # 每次注入她脑中的记忆条数
channel:
mode: clawbot # 通道模式
wxautoEnabled: false # PC 接管通道(默认关)
system:
backupKeepDays: 7 # 备份保留天数
旧配置里的
quietHours已删除:她的睡眠窗口现在直接由她今天的作息(睡觉~起床时间)决定, 不再需要用户另配一段。老配置里残留的quietHours会被自动丢弃。
状态与数据目录:~/.dsh/wechat-companion/(登录态、记忆、世界状态、每日状态、备份)
新增配置项必须同时登记进
src/index.js的_sanitizeConfig白名单, 否则会被静默丢弃(这是踩过的坑)。
共 57 项:46 项已完成 · 6 项部分可用 · 2 项计划中 · 3 项已搁置。
部分可用(有卡点,不是没做)
| 功能 | 卡点 |
|---|---|
| 表情包(梗图)系统 | 场景匹配已跑通,发图链路仍等通道验证 |
| 她的房间 v1 | /room 已能聊天,视觉装修待做 |
| wxauto 通道(PC 接管) | 代码就绪,等小号解封后做小流量验证 |
| 语音条(她说话给你听) | 模型槽位就绪,但当前通道发不出语音 |
| 听懂你的语音条(ASR) | 模型未配 + 通道待验证 |
| 主动分享生活照片 | 发图链路已通,差"她自主决定什么时候发"的触发时机 |
计划中:朋友圈自动发布 · 房间推送通知 / PWA 完整版
已搁置:她不能上网查东西(如实说明,不是 bug)· 电话 / 实时通话(WebRTC,战未来)· wcferry 注入通道(风控实测出局,永久废弃)
完整清单以
src/feature-status.js为准(它是后台功能状态页与她的自我认知卡的单一数据源)。
改完代码必跑。本机没有独立 node,测试也走 Electron:
ELECTRON_RUN_AS_NODE=1 ~/.dsh/electron/electron.exe test/boot-smoke.mjs
| 脚本 | 覆盖 |
|---|---|
run-all.mjs | 全量回归总入口:一测一子进程 + 硬超时,任何一个卡住都不拖死整轮 |
console-smoke.mjs | 控制台 118 项:8 页签渲染、分区数、左侧目录、字段数下限(防"被清空"竞态) |
fix-smoke.mjs | 批次修复回归 352 项(主动消息/记忆/六维/睡眠等历次修过的坑) |
memory-bucket-smoke.mjs | 记忆桶化 31 项 |
diary-smoke.mjs | 世界剧本按天留档 37 项(内容完整性/一天一文件/老数据补档/向量维度护栏) |
world-smoke.mjs | 世界引擎 39 项(含"独立 API"铁律、NPC 编制、时窗) |
birthday-smoke.mjs | 生日→年龄/星座 25 项(12 星座边界、闰日、前后端一致性) |
job-infer-smoke.mjs | 职业判断链 25 项(关键词兜底、脏输入、模型失败降级) |
job-smoke.mjs | 职业五条机制 23 项 |
interest-smoke.mjs | 兴趣/口头禅演化 23 项 |
deform-memory-smoke.mjs | 变形真接线 + 双向记忆 23 项 |
model-test-smoke.mjs | 六接口两级体检 22 项(本地假中转站,不联网不花钱) |
avatar-smoke.mjs | 形象工坊 + 相册 18 项 |
day-event-smoke.mjs / rename-smoke.mjs / inbound-smoke.mjs | 当天事件驱动 / 她自己改称呼 / 入站解析(各 13 项) |
audit-config.mjs | 配置键"只存不用"审计(防黑盒) |
audit-api.mjs | 前端接口 ↔ 后端路由 ↔ 配置分组白名单 对账 |
preview.mjs | 真 Chromium 截图 + 量化字号/宽度/标签换行/溢出 |
其余为各模块 smoke 测试。
已完成
进行中
/room)视觉装修与推送计划中
已搁置
replyToAll),ownerPeerId 特殊对待。本项目以 MIT License 发布,版权所有 © 2026 Koierrr,详见 LICENSE。
其中移植自第三方的文件仍遵循原作者 MIT 协议,版权归 NattoCB 所有,详见 NOTICE.md 与 LICENSE-NattoCB.md。
感谢 DeepSeek Harness 提供的插件体系, 以及 NattoCB 开源的微信通道协议实现。