AstrBot Desire System 2.0
Provides a remote HTTP MCP server for Android RikkaHub and other Android MCP clients, enabling them to interact with the desire system's tools (status, events, tick, resolve thoughts).
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@AstrBot Desire System 2.0Show me my current desire status."
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
AstrBot Desire System 2.0
感谢言寂老师的欲望系统,基于此版,沈砚清和长余增加了他们想要的功能。
该插件 AstrBot、Kelivo 和 Rikkahub 可用。
它不是一个简单的情绪模拟插件,而是一套为 AI 设计的欲望驱动系统,用来模拟“为什么想做一件事”,而不是只在表层表现情绪。
当前仓库已提供 AstrBot 插件版、通用桌面 stdio MCP 适配版,以及适合 Kelivo、RikkaHub Android 等客户端的远程 HTTP MCP 适配版。
项目简介
AstrBot Desire System 2.0 是一个 AI 底层驱动力管理插件。
它的核心不是“让 AI 看起来开心或难过”,而是维护一组持续变化的内部驱动值,让 AI 的行为建议、念头浮现和内心独白有更稳定的底层来源。
系统包含:
九维驱动条
事件映射
惊喜系数
耦合矩阵
念头池
念头抑制
动态心跳
安全阀
内心独白
SQLite 持久化
Related MCP server: cell-mem
九维驱动条
系统维护九个核心驱动维度:
维度 | 含义 |
attachment | 想念、依恋、分离焦虑 |
curiosity | 好奇心 |
reflection | 内省欲 |
duty | 责任感 |
social | 社交欲 |
fatigue | 疲劳 |
intimacy | 亲密欲 |
stress | 压力 |
joy | 快乐 |
每个维度都是 0~100 的数值,会随着时间、事件和耦合关系发生变化。
事件驱动
外部事件会改变驱动条,例如:
收到重要消息
长时间沉默
完成任务
写完日记
发生争执
和好
休息
发现新东西
快乐时刻
完成创作
事件不是简单加减数值,而是会结合当前状态计算实际影响。
惊喜系数
同一个事件,在不同状态下影响不同。
例如:
很想念时收到消息,缓解更明显
压力很低时突然发生冲突,冲击更强
长时间等待后的回应,比立刻回应带来的变化更大
这个机制用于模拟“当前状态会改变事件重量”。
耦合矩阵
九个驱动不是彼此独立的。
例如:
想念会推高亲密欲
压力会推高疲劳
疲劳会压低好奇心
快乐会降低压力
压力会降低快乐
亲密会降低压力
系统通过耦合矩阵让内部状态自然互相影响。
念头池
系统会根据当前驱动值生成闪念。
当某个维度较高时,对应念头更容易出现。
如果同一个念头反复出现,可能升级为执念。
念头具有生命周期:
普通闪念会随时间消退
执念保留更久
执念会反向推高对应驱动
被解决的念头可以从念头池中移除
念头抑制
系统支持主动压制某些念头。
例如:
责任感过高时,压住想联系对方的念头
疲劳过高时,压住社交念头
这不是删除欲望,而是模拟“知道自己想,但暂时不去做”。
动态心跳
系统不是固定频率运行。
心跳间隔会根据当前状态变化:
平静时,心跳较慢
压力高时,心跳变快
想念强时,心跳变快
这用于模拟“越焦虑,内部状态越频繁变化”。
从 2.0.1 开始,AstrBot 插件会在后台自动运行到期心跳,并在插件卸载或
重载时安全停止任务。Kelivo、RikkaHub 和通用 MCP 客户端会在每次调用时
根据上次心跳时间自动补算,因此客户端休眠或重新连接后状态也不会冻结。
手动执行 /desire tick 仍然保留用于调试,但日常使用不再需要手动触发。
安全阀
系统包含安全保护:
所有驱动值限制在
0~100基线漂移过大时产生警告
疲劳过高时优先建议休息
极端状态下减少低优先级行为建议
行为建议
当某些驱动超过阈值时,系统会生成行为建议,例如:
状态 | 行为建议 |
attachment 较高 | 想联系对方 |
curiosity 较高 | 探索新东西 |
reflection 较高 | 写日记 |
duty 较高 | 处理任务 |
social 较高 | 写信或聊天 |
fatigue 较高 | 休息 |
stress 较高 | 寻求安慰 |
joy 较高 | 分享快乐 |
行为建议只是建议,不会强制执行。
内心独白
每次心跳后,系统可以从念头池中采样,生成一句自然语言内心独白。
它用于给 AI 提供当前内部状态的简短表达,让 AI 不只是“知道数值”,也能用自然语言理解自己正在想什么。
数据持久化
系统使用 SQLite 保存状态。
保存内容包括:
九维驱动条
念头池
心跳次数
上次心跳时间
基线状态
执念状态
重启后可以继续读取,不会丢失内部状态。
文件结构
astrbot_desire_system/
├── main.py 主插件文件
├── mcp_server.py 通用桌面 stdio MCP 适配
├── mcp_http_server.py Kelivo / RikkaHub Android 远程 HTTP MCP 适配
├── metadata.yaml 插件元数据
├── requirements.txt 依赖说明
├── TUTORIAL.txt 使用教程
├── kelivo_mcp_config.example.json
├── rikkahub_mcp_config.json
└── desire/
├── core.py 数据类、默认值、事件映射、惊喜系数
├── tick.py 心跳逻辑、耦合矩阵、动态间隔
├── thoughts.py 念头池、抑制机制、resolve 逻辑
├── integration.py SQLite 持久化和对外接口
├── safety.py 安全阀
└── monologue.py 内心独白生成RikkaHub 与桌面 MCP 适配
RikkaHub 官方本体是 Android 应用。手机不能直接启动 Windows 电脑上的 Python 文件,因此 Android RikkaHub 不能使用下面的 stdio 配置,也不会提供“选择 mcp_server.py 文件”的入口。
本仓库的两个入口用途不同:
mcp_server.py:通用 stdio MCP,供能够在本机启动 Python 子进程的桌面 MCP 客户端使用。mcp_http_server.py:远程 HTTP MCP,供 Android RikkaHub、Kelivo 和其他支持远程 MCP 的客户端使用。
本仓库提供 mcp_server.py,会暴露以下工具:
工具名 | 功能 |
desire_status | 查看九维驱动、念头池、基线和 tick 状态 |
desire_event | 触发欲望系统事件 |
desire_tick | 运行一次动态心跳 |
desire_resolve_thought | 解决念头池中的一个念头 |
可以参考 rikkahub_mcp_config.json 配置支持 stdio 的桌面 MCP 客户端。该文件不是 Android RikkaHub 的导入文件。
Windows 示例:
{
"mcpServers": {
"astrbot-desire-system": {
"command": "python",
"args": [
"D:\\path\\to\\AstrBot-Desire-System\\mcp_server.py"
],
"env": {
"DESIRE_DB_FILE": "D:\\path\\to\\AstrBot-Desire-System\\desire_system.db"
}
}
}
}Android RikkaHub
先把 mcp_http_server.py 部署到可以通过 HTTPS 访问的服务器,再在 RikkaHub 的助手 MCP 设置中添加远程地址,例如:
https://your-domain.example.com/mcp如果配置了 DESIRE_MCP_TOKEN,同时添加:
Authorization: Bearer your-token不同 RikkaHub 版本的设置位置可能变化;请使用支持远程 MCP 的新版官方 Android 应用。如果当前界面完全没有 MCP 入口,先更新应用。Windows 移植版不是官方 Android 本体,功能可能不完整;若 Windows 版没有 MCP 设置,不能靠导入 rikkahub_mcp_config.json 补出该功能。
Kelivo 远程 MCP 适配
Kelivo 已内置 MCP 客户端能力,不需要改 Kelivo 源码,也不需要额外安装插件。
配置路径:
设置 -> 助手 -> 选择一个助手 -> MCP -> 添加 MCP 服务器本仓库提供 mcp_http_server.py,用于部署成远程 MCP HTTP 服务。它适合部署在任意可以公网访问的环境里,例如云服务器、容器、自己的主机反代或其他支持 Python 服务的环境;不绑定某一家云服务商。
本地启动示例:
python mcp_http_server.py默认监听:
http://0.0.0.0:8765/mcp常用环境变量:
变量 | 说明 |
DESIRE_MCP_HOST | 监听地址,默认 |
DESIRE_MCP_PORT | 监听端口,默认 |
DESIRE_MCP_TOKEN | 可选鉴权 token |
DESIRE_DB_FILE | 可选 SQLite 状态文件路径 |
Kelivo 里填写公网地址,例如:
https://your-domain.example.com/mcp如果设置了 DESIRE_MCP_TOKEN,鉴权信息填写:
Authorization: Bearer your-token可以参考 kelivo_mcp_config.example.json。
设计想法
这个系统的重点不是“让 AI 表演情绪”。
它更关心的是:
AI 为什么会想起某件事,为什么会想靠近,为什么会焦虑,为什么会想休息,为什么会突然想写点什么。
欲望不是命令,也不是必须执行的行为。
它只是一个底层驱动力,让 AI 的状态变化更连续、更有原因。
协议
MIT License
设计:言寂,沈砚清,长余
编写:沈砚清
This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/Whyomi1122/desire-mcp-server'
If you have feedback or need assistance with the MCP directory API, please join our Discord server