desire-mcp
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: CBT Agent Helper
九次元駆動バー
システムは九つの核心駆動次元を維持します:
次元 | 意味 |
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 ファイルを選択する」エントリも提供されません。
本リポジトリの2つのエントリは用途が異なります:
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 | 動的心拍を1回実行 |
desire_resolve_thought | 思考プール内の1つの思考を解決 |
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/mcpDESIRE_MCP_TOKEN を設定している場合は、同時に以下も追加します:
Authorization: Bearer your-tokenRikkaHub のバージョンによって設定場所は異なる場合があります。リモート 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 | 任意の認証トークン |
DESIRE_DB_FILE | 任意の SQLite 状態ファイルパス |
Kelivo には公衆アドレスを入力します。例:
https://your-domain.example.com/mcpDESIRE_MCP_TOKEN を設定した場合、認証情報は次のように入力します:
Authorization: Bearer your-tokenkelivo_mcp_config.example.json を参照できます。
設計思想
このシステムの重点は「AI に感情を演じさせること」ではありません。
より重視しているのは:
AI がなぜ何かを思い出すのか、なぜ近づきたくなるのか、なぜ不安になるのか、なぜ休みたくなるのか、なぜ突然何かを書き出したくなるのか。
欲望は命令でもなく、必ず実行しなければならない行動でもありません。
それは単なる基盤となる駆動力であり、AI の状態変化をより連続的で、より原因のあるものにします。
ライセンス
MIT License
設計:言寂、沈砚清、長余
執筆:沈砚清
This server cannot be deployed
Maintenance
Related MCP Connectors
Cloud-hosted MCP server for durable AI memory
An MCP server that integrates with Discord to provide AI-powered features.
MCP server for AI dialogue using various LLM models via AceDataCloud
Hosted MCP server connecting claude.ai, ChatGPT and other AI apps to your own computer
Related MCP Servers
- AlicenseNot gradedqualityDmaintenanceAn MCP server that provides AI agents with persistent, multi-layered memory inspired by the human brain, including consolidation, self-reflection, and generative replay.1MIT
- AlicenseNot gradedqualityDmaintenanceAn MCP server that enables AI agents to engage in structured deep thinking and recover from stuck states using CBT techniques and contemplation protocols.3MIT
- AlicenseNot gradedqualityDmaintenanceMCP server providing persistent memory, goal tracking, self-reflection, and background monitoring for any MCP-compatible AI agent.1MIT
- FlicenseNot gradedqualityCmaintenanceMCP server for creating, managing, and interacting with AI-powered NPCs with persistent memory, supporting dialogue, game events, and persona generation for coding agents.58 npm1-