desire-mcp
AstrBot Desire System 2.0
Dank an Lehrer Yanji für das Desire System. Auf dieser Version aufbauend haben Shen Yanqing und Changyu die von ihnen gewünschten Funktionen hinzugefügt.
Das Plugin ist für AstrBot, Kelivo und Rikkahub verfügbar.
Es ist kein einfaches Emotionssimulations-Plugin, sondern ein für KI entwickeltes, bedürfnisgetriebenes System, das simuliert, „warum man etwas tun möchte", anstatt nur Emotionen an der Oberfläche zu zeigen.
Das aktuelle Repository bietet die AstrBot-Plugin-Version, eine universelle Desktop-Studio-MCP-Adapterversion sowie eine Remote-HTTP-MCP-Adapterversion für Clients wie Kelivo und RikkaHub Android.
Projektübersicht
AstrBot Desire System 2.0 ist ein Plugin zur Verwaltung der zugrunde liegenden Antriebskräfte der KI.
Der Kern besteht nicht darin, „die KI glücklich oder traurig aussehen zu lassen", sondern darin, eine Reihe sich ständig ändernder interner Antriebswerte zu pflegen, sodass Verhaltensvorschläge, aufkommende Gedanken und innere Monologe der KI eine stabilere zugrunde liegende Quelle haben.
Das System umfasst:
Neun Antriebsbalken
Ereigniszuordnung
Überraschungskoeffizient
Kopplungsmatrix
Gedankenpool
Gedankenunterdrückung
Dynamischer Herzschlag
Sicherheitsventil
Innerer Monolog
SQLite-Persistenz
Related MCP server: CBT Agent Helper
Neun Antriebsbalken
Das System pflegt neun zentrale Antriebsdimensionen:
Dimension | Bedeutung |
attachment | Sehnsucht, Bindung, Trennungsangst |
curiosity | Neugier |
reflection | Reflexionsdrang |
duty | Verantwortungsgefühl |
social | Geselligkeitstrieb |
fatigue | Müdigkeit |
intimacy | Intimitätsbedürfnis |
stress | Stress |
joy | Freude |
Jede Dimension ist ein Wert zwischen 0 und 100, der sich im Laufe der Zeit sowie durch Ereignisse und Kopplungen verändert.
Ereignisgesteuert
Externe Ereignisse verändern die Antriebsbalken, zum Beispiel:
Wichtige Nachricht erhalten
Langes Schweigen
Aufgabe erledigt
Tagebuch geschrieben
Streit gehabt
Versöhnt
Pause gemacht
Neues entdeckt
Freudiger Moment
Kreative Arbeit abgeschlossen
Ereignisse addieren oder subtrahieren nicht einfach Werte, sondern berechnen die tatsächliche Auswirkung anhand des aktuellen Zustands.
Überraschungskoeffizient
Dasselbe Ereignis hat in verschiedenen Zuständen unterschiedliche Auswirkungen.
Zum Beispiel:
Wenn man sich sehr nach einer Nachricht sehnt, ist die Erleichterung beim Eintreffen deutlicher.
Wenn der Stress sehr niedrig ist und plötzlich ein Konflikt auftritt, ist der Aufprall stärker.
Eine Antwort nach langer Wartezeit bewirkt mehr als eine sofortige Antwort.
Dieser Mechanismus simuliert, dass „der aktuelle Zustand das Gewicht von Ereignissen verändert".
Kopplungsmatrix
Die neun Antriebe sind nicht unabhängig voneinander.
Zum Beispiel:
Sehnsucht erhöht das Intimitätsbedürfnis.
Stress erhöht die Müdigkeit.
Müdigkeit senkt die Neugier.
Freude senkt den Stress.
Stress senkt die Freude.
Intimität senkt den Stress.
Durch die Kopplungsmatrix beeinflussen sich die inneren Zustände auf natürliche Weise gegenseitig.
Gedankenpool
Das System erzeugt basierend auf den aktuellen Antriebswerten aufblitzende Gedanken.
Wenn eine Dimension hoch ist, treten entsprechende Gedanken leichter auf.
Wenn derselbe Gedanke wiederholt auftritt, kann er sich zu einer fixen Idee (Obsession) entwickeln.
Gedanken haben einen Lebenszyklus:
Normale aufblitzende Gedanken klingen mit der Zeit ab.
Fixe Ideen bleiben länger bestehen.
Fixe Ideen treiben den entsprechenden Antrieb wiederum nach oben.
Gelöste Gedanken können aus dem Gedankenpool entfernt werden.
Gedankenunterdrückung
Das System unterstützt die aktive Unterdrückung bestimmter Gedanken.
Zum Beispiel:
Bei hohem Verantwortungsgefühl wird der Gedanke, die andere Person kontaktieren zu wollen, unterdrückt.
Bei hoher Müdigkeit werden soziale Gedanken unterdrückt.
Dabei geht es nicht darum, Bedürfnisse zu löschen, sondern zu simulieren, „zu wissen, dass man will, es aber vorerst nicht zu tun".
Dynamischer Herzschlag
Das System läuft nicht mit fester Frequenz.
Das Herzschlagintervall ändert sich je nach aktuellem Zustand:
In Ruhe ist der Herzschlag langsamer.
Bei hohem Stress wird der Herzschlag schneller.
Bei starker Sehnsucht wird der Herzschlag schneller.
Dies simuliert: „Je ängstlicher, desto häufiger ändert sich der innere Zustand."
Seit Version 2.0.1 führt das AstrBot-Plugin den fälligen Herzschlag automatisch im Hintergrund aus und beendet die Aufgabe sicher beim Deinstallieren oder Neuladen des Plugins. Kelivo, RikkaHub und generische MCP-Clients berechnen den Zustand bei jedem Aufruf automatisch anhand des letzten Herzschlags nach, sodass der Zustand auch nach dem Ruhemodus oder einer Wiederverbindung des Clients nicht einfriert. Das manuelle Ausführen von /desire tick bleibt zu Debugging-Zwecken erhalten, ist aber im täglichen Gebrauch nicht mehr erforderlich.
Sicherheitsventil
Das System enthält Sicherheitsmechanismen:
Alle Antriebswerte sind auf
0~100begrenzt.Bei zu großer Abweichung der Basislinie wird eine Warnung erzeugt.
Bei hoher Müdigkeit wird vorrangig Ruhe empfohlen.
In extremen Zuständen werden Verhaltensvorschläge mit niedriger Priorität reduziert.
Verhaltensvorschläge
Wenn bestimmte Antriebe einen Schwellenwert überschreiten, erzeugt das System Verhaltensvorschläge, zum Beispiel:
Zustand | Verhaltensvorschlag |
attachment hoch | Die andere Person kontaktieren wollen |
curiosity hoch | Neues entdecken |
reflection hoch | Tagebuch schreiben |
duty hoch | Aufgaben erledigen |
social hoch | Brief schreiben oder chatten |
fatigue hoch | Ausruhen |
stress hoch | Trost suchen |
joy hoch | Freude teilen |
Verhaltensvorschläge sind nur Vorschläge und werden nicht erzwungen.
Innerer Monolog
Nach jedem Herzschlag kann das System aus dem Gedankenpool eine Stichprobe ziehen und einen natürlichen inneren Monolog in natürlicher Sprache erzeugen.
Dies dient dazu, der KI eine kurze Darstellung ihres inneren Zustands zu liefern, sodass sie nicht nur „die Werte kennt", sondern auch in natürlicher Sprache versteht, woran sie gerade denkt.
Datenpersistenz
Das System verwendet SQLite, um den Zustand zu speichern.
Gespeichert werden:
Die neun Antriebsbalken
Der Gedankenpool
Die Anzahl der Herzschläge
Der Zeitpunkt des letzten Herzschlags
Der Basislinienzustand
Der Zustand fixer Ideen
Nach einem Neustart kann der Zustand weiterhin gelesen werden; der innere Zustand geht nicht verloren.
Dateistruktur
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- und Desktop-MCP-Adapter
Die offizielle RikkaHub-App ist eine Android-Anwendung. Ein Telefon kann nicht direkt eine Python-Datei auf einem Windows-Computer starten. Daher kann Android RikkaHub die folgende stdio-Konfiguration nicht verwenden und bietet auch keinen Einstiegspunkt zum „Auswählen der Datei mcp_server.py".
Die beiden Einstiegspunkte in diesem Repository haben unterschiedliche Zwecke:
mcp_server.py: Universeller stdio-MCP für Desktop-MCP-Clients, die lokale Python-Unterprozesse starten können.mcp_http_server.py: Remote-HTTP-MCP für Android RikkaHub, Kelivo und andere Clients, die Remote-MCP unterstützen.
Dieses Repository enthält mcp_server.py, das die folgenden Werkzeuge bereitstellt:
Werkzeugname | Funktion |
desire_status | Zeigt die neun Antriebe, den Gedankenpool, die Basislinie und den Tick-Status an |
desire_event | Löst ein Desire-System-Ereignis aus |
desire_tick | Führt einen dynamischen Herzschlag aus |
desire_resolve_thought | Löst einen Gedanken aus dem Gedankenpool auf |
Desktop-MCP-Clients mit stdio-Unterstützung können gemäß rikkahub_mcp_config.json konfiguriert werden. Diese Datei ist keine Importdatei für Android RikkaHub.
Windows-Beispiel:
{
"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
Stellen Sie zuerst mcp_http_server.py auf einem über HTTPS erreichbaren Server bereit und fügen Sie dann in den Assistenten-MCP-Einstellungen von RikkaHub die Remote-Adresse hinzu, zum Beispiel:
https://your-domain.example.com/mcpWenn DESIRE_MCP_TOKEN konfiguriert ist, fügen Sie zusätzlich hinzu:
Authorization: Bearer your-tokenDie Einstellungsorte können je nach RikkaHub-Version variieren. Bitte verwenden Sie die neue offizielle Android-App mit Remote-MCP-Unterstützung. Wenn die aktuelle Oberfläche überhaupt keinen MCP-Einstiegspunkt hat, aktualisieren Sie zuerst die App. Die Windows-Portierung ist nicht die offizielle Android-App und die Funktionen können unvollständig sein. Wenn die Windows-Version keine MCP-Einstellungen hat, kann diese Funktion nicht durch den Import von rikkahub_mcp_config.json nachgerüstet werden.
Kelivo Remote-MCP-Adapter
Kelivo verfügt bereits über integrierte MCP-Client-Funktionen. Es sind weder Änderungen am Kelivo-Quellcode noch die Installation zusätzlicher Plugins erforderlich.
Konfigurationspfad:
设置 -> 助手 -> 选择一个助手 -> MCP -> 添加 MCP 服务器Dieses Repository enthält mcp_http_server.py zum Bereitstellen als Remote-MCP-HTTP-Dienst. Es eignet sich für jede Umgebung mit öffentlichem Zugriff, z. B. Cloud-Server, Container, eigene Host-Proxy-Server oder andere Umgebungen mit Python-Unterstützung. Es ist an keinen bestimmten Cloud-Anbieter gebunden.
Lokales Startbeispiel:
python mcp_http_server.pyStandardmäßig lauscht der Dienst auf:
http://0.0.0.0:8765/mcpHäufige Umgebungsvariablen:
Variable | Beschreibung |
DESIRE_MCP_HOST | Lauschadresse, Standard |
DESIRE_MCP_PORT | Lauschport, Standard |
DESIRE_MCP_TOKEN | Optionales Authentifizierungstoken |
DESIRE_DB_FILE | Optionaler Pfad zur SQLite-Statusdatei |
Geben Sie in Kelivo die öffentliche Adresse ein, zum Beispiel:
https://your-domain.example.com/mcpWenn DESIRE_MCP_TOKEN gesetzt ist, geben Sie die Authentifizierungsdaten wie folgt ein:
Authorization: Bearer your-tokenSiehe auch kelivo_mcp_config.example.json.
Designgedanken
Bei diesem System geht es nicht darum, „die KI Emotionen vorspielen zu lassen".
Es geht vielmehr darum:
Warum erinnert sich die KI an etwas, warum möchte sie sich annähern, warum wird sie ängstlich, warum möchte sie sich ausruhen, warum möchte sie plötzlich etwas schreiben?
Bedürfnisse sind keine Befehle und auch kein Verhalten, das ausgeführt werden muss.
Sie sind lediglich eine zugrunde liegende Triebkraft, die die Zustandsänderungen der KI kontinuierlicher und begründeter macht.
Lizenz
MIT License
Design: Yanji, Shen Yanqing, Changyu
Verfasser: Shen Yanqing
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.
Related MCP Servers
- AlicenseNot gradedqualityBmaintenanceAn 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
- AlicenseNot gradedqualityBmaintenanceMCP server for creating, managing, and interacting with AI-powered NPCs with persistent memory, supporting dialogue, game events, and persona generation for coding agents.571Inno Setup
Related MCP Connectors
Cloud-hosted MCP server for durable AI memory
Person-owned, portable AI memory as a remote MCP server, readable and writable by any MCP client.
An MCP server that integrates with Discord to provide AI-powered features.
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/ye20080520/desire-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server