pygmalion
Verifiedpygmalion · v0.1.15 · MIT
Pygmalion:将 DeepSeek Harness(dsh)改造为「拟真 AI 好友」服务的 dsh 插件——QQ 官方机器人接入、文件系统双索引长期记忆、heartbeat+脚本+hook 主动交互,一次安装即用(含管理网页)
Install
dsh plugin add pygmalion Confirm the layer applied with dsh --profile default --dump-config — see the install guide.
Source
Published to npm without a public repository. Inspect the package contents before installing.
Creators
Readme
Pygmalion
将 DeepSeek Harness(dsh)改造为「拟真 AI 好友」服务的 dsh 插件——经 QQ 官方机器人接入、文件系统双索引长期记忆、heartbeat+脚本+hook 主动交互,一次安装即用(含管理网页)。
特性
- 一角色一机器人:每个角色在管理网页配一个 QQ 开放平台机器人(AppID/AppSecret,全程无需编辑配置文件);首个与之单聊的 QQ 用户自动绑定为角色拥有者。
- 导演模式:dsh 以创作者/导演视角设计角色发言,消息式、OOC 绝不可接受;只有
director_send工具的消息送达用户。 - 长期记忆:话题/日期双份 + 特殊记忆(
关于TA.md);沉默时自动归档,dsh 按话题切片。 - 主动交互:内置心跳驱动(主动唤醒 / 沉默归档 / 生活脚本 / rewake 到期),dsh 依据当下真实情境决定开口或沉默。
- 生活脚本受监管:
life/.logs运行日志、.manifest.json清单、.backup改写前快照;管理网页可检视。 - 管理网页内置:注册/登录(scrypt 哈希 + httpOnly cookie + 限流 + CSRF)、多角色管理、绑定状态、脚本检视。
快速开始
测试隔离红线:全程使用克隆的纯净 harness + 独立
DSH_HOME+ 独立PYGMALION_DATA,绝不用裸dsh(会命中本地~/.dsh)。
# 0) 克隆纯净 harness(一次)
git clone https://github.com/deepseek-ai/deepseek-harness.git
cd deepseek-harness && pnpm install && pnpm run build
# 1) 设置隔离环境(每次新终端都要)
export DSH_HOME="<隔离目录,如 E:/JunkBox/Pygmalion_worksapce/.test-env/dsh-home>"
export PYGMALION_DATA="<隔离数据目录,如 E:/JunkBox/Pygmalion_worksapce/.test-env/data>"
# 2) 一行安装 pygmalion 插件(npm 包,preset 与数据目录由插件启动时自动就位)
cd <deepseek-harness 目录>
node --import tsx/esm apps/cli/src/bin.ts plugin --profile web add "[email protected]"
# 服务器只能访问镜像源(如 npmmirror)时,确保 pnpm/npm registry 指向该镜像即可,
# 或显式指定:npm config set registry https://registry.npmmirror.com
# GitHub 备选(服务器可访问 GitHub 时):plugin --profile web add "github:SlimeWithSlime/dsh-code-pygmalion#v0.1.0"
# 3) 用克隆 harness 启动(同样带隔离环境变量)
node --import tsx/esm apps/cli/src/bin.ts web
打开 http://127.0.0.1:4180 注册账号 → 创建角色 → 在角色编辑页填该角色的 QQ 机器人 AppID/AppSecret → 用你的 QQ 单聊即可。全程无需编辑任何配置文件(roleId/botId 为内部标识,用户无需知晓)。全部过程不得触碰本地 ~/.dsh(若曾误用裸 dsh,清理见 docs/DEPLOY.md 末节)。
详细见 docs/DEPLOY.md(部署与实机测试)、docs/ARCHITECTURE.md(架构)、docs/PRESET.md(导演提示词与脚本协议)。
自测
node scripts/self-test.mjs # 数据层(账号/角色/绑定/记忆渲染)
node scripts/self-test-phase2.mjs # 接入层(多 bot session / 绑定 / reawake / 记忆)
node scripts/self-test-message-review.mjs # QQ 消息审查 / 分句 / reawake 连续性
node scripts/self-test-phase4.mjs # 脚本监管 + 非零保证
node scripts/self-test-phase5.mjs # 管理网页(安全 / 多角色 / 脚本检视)
自测仅用临时目录(PYGMALION_DATA 指向临时区),跑完即清理,不触碰正式数据。
测试隔离红线
开发/验证使用克隆的纯净 harness + 独立 DSH_HOME + 独立 PYGMALION_DATA;任何测试不得读写本地 ~/.dsh。
目录
src/ 插件源码(纯 ESM,无构建步骤)
preset/ 公共导演 preset
templates/ 生活脚本参考模板(不再自动布设,dsh 自行创建并运行)
deploy/ 生成的配置模板
docs/ 部署 / 架构 / preset 规范
scripts/ 自测脚本
install.mjs 初始化脚本
cordis.patch.yml 插件默认配置层(bundle patch)