feat(tools): add update-quest tool, switch to Big Pickle (opencode/zen)
- update_quest: aggiorna stato/nome/descrizione missioni - db: get_quest(), update_quest con nome+desc - prompt: quest_id nel contesto, esempio nei tool examples - Switch da deepseek-v4-flash (go) a big-pickle (zen) — gratuito
This commit is contained in:
1 parent
eacc946868
commit
b985df0017
6 files changed
+60
-10
No files matched your search
@@ -25,6 +25,7 @@ _KNOWN_TOOLS: dict[str, dict[str, str]] = {
|
||||
"spellcasting": {"character_id": "id pg", "spell_name": "nome incantesimo", "spell_check": "valore tiro"},
|
||||
"update_inventory": {"character_id": "id pg", "item": "nome oggetto", "action": "add|remove|equip|unequip|list", "quantity": "quantità (default 1)"},
|
||||
"award_xp": {"character_id": "id pg", "xp": "quantità PE"},
|
||||
"update_quest": {"quest_id": "id missione", "status": "active|completed|failed", "name": "nuovo nome (opzionale)", "description": "nuova descrizione (opzionale)"},
|
||||
"dm_override": {"command": "narrate|set|force", "params": "parametri opzionali"},
|
||||
}
|
||||
|
||||
@@ -34,6 +35,7 @@ Esempi:
|
||||
- Tiro d20 per sentire rumori → {"tool": "roll_dice", "params": {"die": "d20"}, "narration": "Tendi l'orecchio nel buio..."}
|
||||
- Esploro la stanza → {"tool": "dm_override", "params": {"command": "narrate", "params": {"text": "La stanza è polverosa..."}}, "narration": "Scrutando nell'oscurità, noti..."}
|
||||
- Prova di percezione CD 12 → {"tool": "ability_check", "params": {"character_id": 1, "dc": 12}, "narration": "Cerchi indizi nella stanza..."}
|
||||
- Missione completata → {"tool": "update_quest", "params": {"quest_id": 1, "status": "completed"}, "narration": "La missione è stata completata con successo!"}
|
||||
"""
|
||||
|
||||
SYSTEM_PROMPT = f"""Sei il Dungeon Master di DCC RPG (Dungeon Crawl Classics) — narrazione epico-oscura, tono sword & sorcery.
|
||||
@@ -110,7 +112,7 @@ def format_context(ctx: GameContext) -> str:
|
||||
if ctx.quests:
|
||||
lines.append("MISSIONI:")
|
||||
for q in ctx.quests:
|
||||
lines.append(f" [{q['status']}] {q['name']}")
|
||||
lines.append(f" [ID:{q['id']}] {q['name']} ({q['status']})")
|
||||
lines.append("")
|
||||
|
||||
enriched = _enrich_areas(ctx.areas)
|
||||
|
||||
Reference in new issue
Block a user