Files
AzerothAI/docs/bot-conversations.md
T
2026-09-24 19:23:03 +08:00

26 lines
2.4 KiB
Markdown

# Autonomous conversations
The live bridge proposes nearby, same-faction stationary bot pairs within 15 yards. Delivery allows up to 25 yards. Both
must be alive, out of combat and in the same phase. Opportunities ride the fresh
roster snapshot transport. The database admits at most one exchange per two-minute
clock bucket and enforces ten minutes between social requests involving a bot.
Human requests take queue priority. Ordinary bot chatter does not trigger replies.
An exchange has up to four short model-generated lines, with a shared two-minute expiry. A farewell after the opening ends it early. Follow-ups alternate speakers only after confirmed delivery, retain recent dialogue context, and do not increase the encounter admission rate. Human chat keeps priority.
Each delivery rechecks distance, faction, phase, life, combat, casting, flight and player-control state in the game. Fresh roster checks also reject unavailable pairs before inference.
Expired requests and pairs that have moved apart are cancelled. No characters are
teleported or held in place for conversations.
Only a confirmed reply or follow-up creates reciprocal observation memories and neutral
acquaintance records. The first confirmed reply adds one acquaintance affinity point; extra turns do not inflate affinity. Replay IDs prevent duplicate memories. Each resident retains
at most 100 memories and 100 relationship records on this path. Completed and
failed conversation requests are pruned after 24 hours; character memorials and
other game/event history have separate retention policies.
Memories and relationships are stored in `realm_state_chunks` (with an atomic revision manifest in `realm_state.payload`) in the application's
D1 SQLite database under `.wrangler/state/v3/d1` in the Ubuntu deployment. This
uses the VM's disk, backed by the host PC's storage. The per-resident memory limit
is not a total disk quota: additional identities and other logs can still grow.
Dialogue uses plain, casual wording and bounded recent memories. Observed supplies, party membership and guild are distinct from intentions and historical memories. Dialogue does not execute trades, invites or movement, and the prompt forbids invented inventory and promises of those actions. Existing native cooperation remains responsible for actual grouping and assistance. These are model instructions, not a guarantee that every generated line will be perfect.