Skip to content

pygmalion

Verified

pygmalion · 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)