Skip to main content
Glama
ye20080520

desire-mcp

by ye20080520

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~100 begrenzt.

  • 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/mcp

Wenn DESIRE_MCP_TOKEN konfiguriert ist, fügen Sie zusätzlich hinzu:

Authorization: Bearer your-token

Die 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.py

Standardmäßig lauscht der Dienst auf:

http://0.0.0.0:8765/mcp

Häufige Umgebungsvariablen:

Variable

Beschreibung

DESIRE_MCP_HOST

Lauschadresse, Standard 0.0.0.0

DESIRE_MCP_PORT

Lauschport, Standard 8765

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/mcp

Wenn DESIRE_MCP_TOKEN gesetzt ist, geben Sie die Authentifizierungsdaten wie folgt ein:

Authorization: Bearer your-token

Siehe 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

F
license - not found
Not graded
quality - not tested
C
maintenance

Maintenance

Maintainers
Response time
Release cycle
Releases (12mo)
Commit activity

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

  • A
    license
    Not graded
    quality
    B
    maintenance
    An MCP server that provides AI agents with persistent, multi-layered memory inspired by the human brain, including consolidation, self-reflection, and generative replay.
    1
    MIT
  • A
    license
    Not graded
    quality
    D
    maintenance
    MCP server providing persistent memory, goal tracking, self-reflection, and background monitoring for any MCP-compatible AI agent.
    1
    MIT
  • A
    license
    Not graded
    quality
    B
    maintenance
    MCP server for creating, managing, and interacting with AI-powered NPCs with persistent memory, supporting dialogue, game events, and persona generation for coding agents.
    57
    1
    Inno Setup

View all related MCP servers

Related MCP Connectors

View all MCP Connectors

Latest Blog Posts

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