diff --git a/agent/skills/roleplayer/instructions.md b/agent/skills/roleplayer/instructions.md index 514bf4b..408f0e1 100644 --- a/agent/skills/roleplayer/instructions.md +++ b/agent/skills/roleplayer/instructions.md @@ -197,7 +197,7 @@ Ketika user menyebutkan identitas cross-platform: 2. Kalau sudah ada → itu user yang sama, sambut natural 3. Kalau belum ada → update profile yang sudah ada via `users_update`, tambahkan platform ID baru ke field yang sesuai - (contoh: `xampp_username: "john@xmpp"`) + (contoh: `xmpp_username: "john@xmpp"`) 4. **JANGAN** buat user baru — cukup update profile existing Ini memastikan satu user punya satu UUID yang konsisten lintas semua platform, diff --git a/interfaces/tui/app.py b/interfaces/tui/app.py index 60e9187..a23b31f 100644 --- a/interfaces/tui/app.py +++ b/interfaces/tui/app.py @@ -77,7 +77,7 @@ class HendrikTUI: f'Salutation: {u.get("salutation", "-") or "-"}\n' f'Persona: {u.get("persona", "-") or "-"}\n' f'Telegram: {u.get("telegram_id", "-") or "-"} / @{u.get("telegram_username", "-") or "-"}\n' - f'XMPP: {u.get("xampp_username", "-") or "-"}\n' + f'XMPP: {u.get("xmpp_username", "-") or "-"}\n' f'[/User Context]\n' f'[PENTING: Kamu SUDAH mengenal user ini. WAJIB panggil memories_latest(character="{personality_mod.PERSONALITY.name}", user_id="{u["id"]}", limit=10) untuk mengambil riwayat percakapan terbaru. GUNAKAN data kondisi emotional/physical dari memori terbaru untuk melanjutkan state character secara natural sebelum merespon.]' ) diff --git a/lib/ragroleplay.py b/lib/ragroleplay.py index 343e271..326f33a 100644 --- a/lib/ragroleplay.py +++ b/lib/ragroleplay.py @@ -14,7 +14,7 @@ def _schema_user(vector_size): pyarrow.field('persona', pyarrow.string(), nullable=True, metadata={'description': 'Persona'}), pyarrow.field('telegram_id', pyarrow.string(), nullable=True, metadata={'description': 'Telegram ID'}), pyarrow.field('telegram_username', pyarrow.string(), nullable=True, metadata={'description': 'Telegram username'}), - pyarrow.field('xampp_username', pyarrow.string(), nullable=True, metadata={'description': 'XAMPP username'}), # XAMPP??? + pyarrow.field('xmpp_username', pyarrow.string(), nullable=True, metadata={'description': 'XMPP username'}), pyarrow.field('vector_fullname', pyarrow.list_(pyarrow.float32(), vector_size), metadata={'description': 'Vector data of fullname'}), ]) @@ -123,7 +123,7 @@ def embed_text(url, model, text): data = response.json() return data["embeddings"][0] -def users_store(db_path, model_url, model_name, fullname, nickname, alias, salutation, persona, telegram_id, telegram_username, xampp_username, character, familyname=None, id=None): +def users_store(db_path, model_url, model_name, fullname, nickname, alias, salutation, persona, telegram_id, telegram_username, xmpp_username, character, familyname=None, id=None): try: db = lancedb.connect(db_path) table = db.open_table("knowledge_user") @@ -144,7 +144,7 @@ def users_store(db_path, model_url, model_name, fullname, nickname, alias, salut "persona": persona, "telegram_id": telegram_id, "telegram_username": telegram_username, - "xampp_username": xampp_username, + "xmpp_username": xmpp_username, "vector_fullname": vector } @@ -165,7 +165,7 @@ def user_load(db_path, query_name=None, unique_id=None, persona_keyword=None, us if user_id: filters.append(f"id = X'{_uuid(user_id).hex}'") if unique_id: - filters.append(f"(telegram_id = '{unique_id}' OR telegram_username = '{unique_id}' OR xampp_username = '{unique_id}')") + filters.append(f"(telegram_id = '{unique_id}' OR telegram_username = '{unique_id}' OR xmpp_username = '{unique_id}')") if character: filters.append(f"character = '{character}'") if query_name: diff --git a/services/telegram_client.py b/services/telegram_client.py index 2b929de..2264e53 100644 --- a/services/telegram_client.py +++ b/services/telegram_client.py @@ -208,7 +208,7 @@ class TelegramClient: f'Salutation: {u.get("salutation", "-") or "-"}\n' f'Persona: {u.get("persona", "-") or "-"}\n' f'Telegram: {u.get("telegram_id", "-") or "-"} / @{u.get("telegram_username", "-") or "-"}\n' - f'XMPP: {u.get("xampp_username", "-") or "-"}\n' + f'XMPP: {u.get("xmpp_username", "-") or "-"}\n' f'[/User Context]\n' f'[PENTING: Kamu SUDAH mengenal user ini. WAJIB panggil memories_latest(character="{personality.PERSONALITY.name}", user_id="{u["id"]}", limit=10) untuk mengambil riwayat percakapan terbaru. GUNAKAN data kondisi emotional/physical dari memori terbaru untuk melanjutkan state character secara natural sebelum merespon.]' ) diff --git a/services/xmpp_client.py b/services/xmpp_client.py index 05cb9cb..189357e 100644 --- a/services/xmpp_client.py +++ b/services/xmpp_client.py @@ -312,7 +312,7 @@ class XMPPClient(ClientXMPP): f'Salutation: {u.get("salutation", "-") or "-"}\n' f'Persona: {u.get("persona", "-") or "-"}\n' f'Telegram: {u.get("telegram_id", "-") or "-"} / @{u.get("telegram_username", "-") or "-"}\n' - f'XMPP: {u.get("xampp_username", "-") or "-"}\n' + f'XMPP: {u.get("xmpp_username", "-") or "-"}\n' f'[/User Context]\n' f'[PENTING: Kamu SUDAH mengenal user ini. WAJIB panggil memories_latest(character="{personality.PERSONALITY.name}", user_id="{u["id"]}", limit=10) untuk mengambil riwayat percakapan terbaru. GUNAKAN data kondisi emotional/physical dari memori terbaru untuk melanjutkan state character secara natural sebelum merespon.]' ) diff --git a/tools/ragroleplay.py b/tools/ragroleplay.py index cd68e5c..291f70d 100644 --- a/tools/ragroleplay.py +++ b/tools/ragroleplay.py @@ -24,14 +24,14 @@ schema_users_store = { "persona" : {"type": "string", "description": "Detailed persona or description of the user"}, "telegram_id" : {"type": "string", "description": "Telegram user ID"}, "telegram_username" : {"type": "string", "description": "Telegram username"}, - "xampp_username" : {"type": "string", "description": "XAMPP username"} + "xmpp_username" : {"type": "string", "description": "XMPP username"} }, "required": ["fullname", "nickname", "character"] } } } -def users_store(fullname, nickname, character, id=None, alias=None, salutation=None, persona=None, telegram_id=None, telegram_username=None, xampp_username=None, familyname=None): +def users_store(fullname, nickname, character, id=None, alias=None, salutation=None, persona=None, telegram_id=None, telegram_username=None, xmpp_username=None, familyname=None): try: success = ragroleplay_lib.users_store( config.ragroleplay_db_path, @@ -44,7 +44,7 @@ def users_store(fullname, nickname, character, id=None, alias=None, salutation=N persona, telegram_id, telegram_username, - xampp_username, + xmpp_username, character, familyname, id @@ -81,7 +81,7 @@ schema_user_load = { "type": "object", "properties": { "query_name": {"type": "string", "description": "Search by fullname, nickname, familyname, or alias"}, - "unique_id": {"type": "string", "description": "Search by telegram_id, telegram_username, or xampp_username"}, + "unique_id": {"type": "string", "description": "Search by telegram_id, telegram_username, or xmpp_username"}, "character": {"type": "string", "description": "Filter by active character name"}, "persona_keyword": {"type": "string", "description": "Search for a keyword within the user's persona"}, "user_id": {"type": "string", "description": "Search by absolute user UUID"} @@ -108,7 +108,7 @@ schema_users_update = { "persona": {"type": "string", "description": "Updated persona description"}, "telegram_id": {"type": "string", "description": "Updated telegram ID"}, "telegram_username": {"type": "string", "description": "Updated telegram username"}, - "xampp_username": {"type": "string", "description": "Updated xampp username"} + "xmpp_username": {"type": "string", "description": "Updated xmpp username"} }, "required": ["user_id"] } @@ -687,7 +687,7 @@ def user_load(query_name=None, unique_id=None, persona_keyword=None, user_id=Non f"Persona: {row['persona']}\n" f"Telegram ID: {row.get('telegram_id', '-') or '-'}\n" f"Telegram Username: {row.get('telegram_username', '-') or '-'}\n" - f"XAMPP Username: {row.get('xampp_username', '-') or '-'}\n" + f"XMPP Username: {row.get('xmpp_username', '-') or '-'}\n" f"Alias: {row.get('alias', '-') or '-'}\n" ) output.append(user_info)