52 lines
2.4 KiB
Python
52 lines
2.4 KiB
Python
#!/usr/bin/env python3
|
|
import sqlite3
|
|
|
|
conn = sqlite3.connect('/home/hmo/.hermes/profiles/xiaoguo/state.db')
|
|
|
|
# 1. Update the xmpp-xiaoguo session's stale memory
|
|
cur = conn.execute("SELECT id, system_prompt FROM sessions WHERE id='xmpp-xiaoguo'")
|
|
row = cur.fetchone()
|
|
updates = 0
|
|
sessions_ok = 0
|
|
|
|
if row:
|
|
sid, sp = row
|
|
old_mem = "\u538b\u7f29\u7b56\u7565\uff1aenabled=true, threshold=0.3, target_ratio=0.5, protect_last_n=20\u3002"
|
|
new_mem = "\u538b\u7f29\u7b56\u7565\uff1aenabled=false\uff0c\u4e0d\u538b\u7f29\u3002session \u786c\u622a\u65ad 200 \u6761\uff0c\u53ea\u53d6\u6700\u8fd1 200 \u6761\u8fdb\u4e0a\u4e0b\u6587\u3002"
|
|
old_soul = "\u5f00\u542f\u4e86\u538b\u7f29\uff0830%\u89e6\u53d1\uff0c\u4fdd\u7559\u6700\u8fd120\u6761\uff09"
|
|
new_soul = "\u4e0d\u538b\u7f29\uff0c\u786c\u622a\u65ad200\u6761"
|
|
|
|
if old_mem in sp:
|
|
sp_updated = sp.replace(old_mem, new_mem)
|
|
if old_soul in sp_updated:
|
|
sp_updated = sp_updated.replace(old_soul, new_soul)
|
|
conn.execute('UPDATE sessions SET system_prompt=? WHERE id=?', (sp_updated, sid))
|
|
updates += 1
|
|
print(f"Updated: xmpp-xiaoguo")
|
|
|
|
# 2. Check all sessions for stale memory
|
|
cur2 = conn.execute("SELECT id FROM sessions")
|
|
for row2 in cur2.fetchall():
|
|
sid2 = row2[0]
|
|
cur3 = conn.execute('SELECT system_prompt FROM sessions WHERE id=?', (sid2,))
|
|
sp2 = cur3.fetchone()[0]
|
|
if 'enabled=true' in sp2 and 'compress' in sp2.lower():
|
|
sp2_updated = sp2.replace(
|
|
"\u538b\u7f29\u7b56\u7565\uff1aenabled=true, threshold=0.3, target_ratio=0.5, protect_last_n=20\u3002",
|
|
"\u538b\u7f29\u7b56\u7565\uff1aenabled=false\uff0c\u4e0d\u538b\u7f29\u3002session \u786c\u622a\u65ad 200 \u6761\uff0c\u53ea\u53d6\u6700\u8fd1 200 \u6761\u8fdb\u4e0a\u4e0b\u6587\u3002"
|
|
)
|
|
old_soul = "\u5f00\u542f\u4e86\u538b\u7f29\uff0830%\u89e6\u53d1\uff0c\u4fdd\u7559\u6700\u8fd120\u6761\uff09"
|
|
new_soul = "\u4e0d\u538b\u7f29\uff0c\u786c\u622a\u65ad200\u6761"
|
|
if old_soul in sp2_updated:
|
|
sp2_updated = sp2_updated.replace(old_soul, new_soul)
|
|
conn.execute('UPDATE sessions SET system_prompt=? WHERE id=?', (sp2_updated, sid2))
|
|
updates += 1
|
|
print(f"Updated: {sid2}")
|
|
else:
|
|
sessions_ok += 1
|
|
print(f"OK: {sid2}")
|
|
|
|
conn.commit()
|
|
conn.close()
|
|
print(f"\nDone: {updates} sessions updated, {sessions_ok} already correct")
|