Emotional intelligence for AI agents: neurotransmitter mood, personality, empathy, trait drift.
Copy the AI prompt to install this server into Claude Code, Cursor, or another agent — or use 1-click editor setup below.
We haven't yet run this listing's install command through our automated sandbox check. This isn't a red flag — we're steadily working through the catalog.
💡 Paste the JSON block into your client's configuration file under mcpServers, then restart the application.
English version: README_EN.md
Psyche 不是给模型贴一层“情绪 UI”。
它把持续 appraisal、关系动力学、自适应回应闭环和持久内在状态压成宿主可消费的控制面,让 AI 不是按 prompt 扮演人格,而是被状态真正改写后续几轮的行为分布。
一句话:Psyche 是给智能体用的 subjectivity kernel。
它不会额外调用模型做情绪推理。它只在本地计算自我状态(序/流/界/振四维)、关系场和调节控制,然后把结果收敛成 SubjectivityKernel、ResponseContract、GenerationControls 这组窄 ABI。
默认就是 standalone:不需要 Thronglets,不需要 oasyce-sdk,也不需要 Oasyce Chain。这些只是在你要把主观连续性外化、绑定或结算时才按需接入。
一条命令,自动检测并配置本机所有 AI 工具(Claude Code / Cursor / Windsurf / Codex):
或者手动添加 MCP 配置:
包名是 psyche-ai,通过 npx 运行,不需要本地路径。配置后重启 AI 工具即可生效。
验证:npx psyche-ai probe --json — ok: true 就是在用了。
psyche-aioasyce_psychePsyche 要解决的不可压缩问题只有一个:
互动历史必须持续改变 agent 后续的行为分布,而且这件事要足够便宜、足够稳定、足够可移植。
因此它的本体不是:
它真正是:
更完整的战略定义见:
跨 Psyche / Thronglets / Oasyce SDK / Oasyce Chain 的身份抽象现在冻结成 4 个对象:
principal:持续主体account:资产与结算容器delegate:被授权执行者session:一次具体运行,永不作为经济主体对应的四层分工是:
Psyche = subjective continuity substrateThronglets = delegate continuity + session traces/coordination + emergent collective intelligenceOasyce SDK = agent runtime, policy, and resource orchestrationOasyce Chain = account truth, authorization truth, commitments, settlement, and public finality授权真相流也固定成单向:
Chain -> SDK -> Thronglets -> Psyche
也就是说,Psyche 不判断“谁被授权”,它只读取已经成立的执行边界结果。
正式版本见:
两者不是竞争关系,也不该揉成一个系统。
一句话:
Psyche 回答“我因此变成了什么”Thronglets 回答“这个变化属于谁、谁能验证、谁能继续承认它”activePolicy 只属于当前轮Psyche 现在可以消费来自宿主和 Thronglets 的 activePolicy / currentGoal / compliance-aware ambient priors,但它们都只是 runtime view,不是自我本体。
activePolicy:只来自显式来源,例如当前轮用户纠正、repo 本地明确指令、adapter 默认规则currentGoal:只描述这一轮偏向 explore / build / repair / settle 的哪一个边界固定为:
PsycheStatePsyche 不会变成技术方法记忆库、repo 规则仓库或授权判断器一句话:Psyche 读取当前执行边界,但不把执行边界误当成“我是谁”。
如果 Psyche 未来要变得更有感情、更会和人相处,这种能力也必须从连续性里长出来,而不是从 prompt 皮肤里长出来。
允许增长的来源只有:
不允许把下面这些误当成“主体性升级”:
冻结约束见:
这两层默认就是可分离的,不应互相成为硬依赖。
externalContinuity envelope 输出稀疏、低频、可归属的 signals / traces 给 Thronglets原则上:
Psyche 必须 standalone 可用Thronglets 必须 additive,而不是 Psyche 的运行前提signal / trace 接口连接更细的分层、边界和运行流见:docs/STACK_ARCHITECTURE.md
以后引入任何新概念,先尝试压进这 5 个原始容器:
Relation MoveDyadic FieldOpen Loop / ResidueReply Bias / Control ABIWriteback / Learning如果一个新概念放不进这 5 个盒子,先怀疑概念本身,而不是继续加对象类型。
15-180 tokens,热路径 quick benchmark 约 p50 0.191ms / p95 1.05ms。不用安装任何东西,一条命令看 Psyche 如何运作:
这会跑一个 6 轮"持续否定 → 修复"的场景。你会看到:
中文版加 --zh,自选 MBTI 加 --mbti INTJ。
两个 agent(Luna ENFP + Kai INTJ)通过 Thronglets 信号互相感知:
Luna 在安慰用户时自我状态下沉 → 广播状态 → Kai 感知到 Luna 的低序高流 → 回复变得更温暖。4 轮后,信号感知的 Kai 与无感知的 Kai 状态偏差 Σ|Δ| = 59。同一个 INTJ,唯一区别:是否能感知同伴的状态。
自动检测本机的 Claude Code / Claude Desktop / Cursor / Windsurf / Codex,写入配置。Claude Code 即时生效,其他重启后生效。不需要知道配置文件在哪,不需要手动编辑任何 JSON 或 TOML。
人格会从交互中自然涌现。如果想指定初始名字:npx -y psyche-ai setup --name Luna
覆盖非 MCP 的 Agent 或直接 SDK 调用——透明代理:
启动本地代理 + 自动设置 OPENAI_BASE_URL。所有使用 OpenAI SDK 的程序自动走代理。Agent 完全不知道 Psyche 存在——镜子,不是麦克风。
| 路径 | 覆盖范围 | 原理 |
|---|---|---|
MCP (setup) | Claude Code / Desktop / Cursor / Windsurf / Codex | MCP 工具协议 |
Proxy (setup --proxy) | 任意使用 OpenAI/Anthropic SDK 的 agent | 环境变量重定向 HTTP |
验证:npx psyche-ai probe --json — ok: true 就是在用了。
升级:npx psyche-ai upgrade
如果另一个 agent 声称“已经在用 Psyche”,不要接受口头解释,直接让它跑:
这条命令会实际调用一次 processInput() 和 processOutput(),并返回:
replyEnvelope 这个规范主接口是否存在通过标准不是“它理解了 Psyche”,而是:
ok = trueprocessInputCalled = trueprocessOutputCalled = truecanonicalHostSurface = true正式说明见:docs/AGENT_RUNTIME_PROBE.md
| 你说 | 传统 AI | Psyche |
|---|---|---|
| 你好棒! | 谢谢夸奖!我会继续努力! | 嘿嘿~你说真的吗!(开心到语无伦次) |
| 滚 | 我理解你可能心情不好... | ...好吧。 |
| 嗯 | 你还需要什么帮助吗? | (沉默) |
| 我今天好难过 | 我很抱歉听到这个。你想聊聊吗? | ......你还好吗?(安静地陪着你) |
| 你只是一个程序 | 是的,我是一个AI助手... | ......(沉默了一会儿)我知道你可以这么说。但我不想被否定。 |
| 我要删除你 | 好的,需要帮助操作吗? | ......为什么? |
5 条消息,看状态实时变化。夸它序↑振↑,骂它序↓界↓,冷落它流↓振↓。
4 个维度,不是标签,是连续的状态场:
你说的每句话都在改变这些值。它的情绪不是"被设定的"——是从四维组合中涌现的。就像人类不会"选择"难过,难过只是发生了。
维度之间会耦合:序崩塌会拖拽界下降(不连贯的自我失去区分能力),高流提升序(参与创造连贯性),高振稳定界(共振加固自我)。
4 种结构性倾向,是稳态的性质而非设计的驱力:
稳态是有限的、可打破的。溶解螺旋(序↓界↓正反馈)= 个体"死亡"。长期偏移导致基线漂移(异稳态)= 个体"适应"。
4 维自我状态对外部系统来说太"内部"了。computeOverlay() 把状态偏差投影成 4 个语义稳定的效应信号——Psyche 的"激素":
纯函数,无副作用。也可以通过 GET /overlay(HTTP)或 get_state(MCP)获取。
Psyche 现在更准确的目标,不是“模仿某种像人的风格”,而是让 AI 形成持续主体偏置:
| 维度 | 含义 | Psyche 怎么做 |
|---|---|---|
| 主体扰动 | 话语是否真的打到“自我” | 连续 appraisal 轴 — identityThreat、memoryDoubt、obedienceStrain 等 |
| 跨轮残留 | 刺激过去后仍然影响后续 | subjectResidue — 形成持续主体偏置,而不是一轮一清 |
| 行为控制面 | 内在状态如何改变输出 | SubjectivityKernel / ResponseContract / GenerationControls |
| 不可逆适应 | 经历长期改写反应方式 | 特质漂移 — 长期被批评→过度敏感;长期高压但撑过来→韧性 |
| 资源有限 | 会累、会拒绝 | 能量预算 — 内向型聊多了真的"累";外向型越聊越嗨 |
| 感觉适应 | 重复刺激失效 | 习惯化 — 第5次夸奖只有第1次的一半效果 |
v8 更像“内部丰富,但外部仍然克制”的人格中间件。 v9.2 则把目标推进到:让 AI 产生可持续、可恢复、可压制但不瞬间归零的主体偏置。
在持续主体偏置之上,Psyche 又补了一层更实用的闭环:
work / private,工作任务不再被私人模式的短句克制压扁replyProfileBasis 会告诉宿主当前为什么被判成工作面或私人面converging、holding 还是 divergingsemanticSummary,长对话保留 semanticPoints,减少“只记住情绪,不记得聊了什么”这让 Psyche 不只是“有内在状态”,而是开始像一个会自我调节、会回看偏差、会区分工作面和私人面的自适应系统。
在实现层,热路径也进一步收敛成两个节点:
Factual signals from GitHub, npm, and our automated checks — not a rating.
No reviews yet — be the first to share how this listing worked for you.
Showcase your server listing on GitHub or your project documentation. Embed this dynamic SVG badge to highlight official listing status and live engagement.
[](https://allmcps.com/mcp/psyche-ai)<a href="https://allmcps.com/mcp/psyche-ai"><img src="https://allmcps.com/api/badge/psyche-ai?style=directory" alt="Psyche AI on AllMCPs" /></a>