TaskMonkey Handbuch

Tools testen

Tools direkt und reproduzierbar ausführen, ohne Umweg übers Modell.

Nicht das Modell raten lassen, was dein Tool tut. Führe es direkt aus, bevor du es in einen Task steckst.

Der Test-Befehl

tm test-tool <toolName> [key=value ...]

Das führt das Tool exakt so aus, wie es in einem echten Chat passieren würde: Placeholder-Resolution, Preprocess, API-Call, Mapping, Postprocess, Handler. Du siehst Args, Request, Response und finales Ergebnis.

Mit Fixture

Wenn dein Tool ein args_fixture in der Config hat, reichen Tool-Name ohne weitere Args:

tm test-tool getInvoice

Das Fixture dient als stabiler Referenzlauf — ideal zum schnellen Smoke-Test.

Test-Modus (Dry-Run)

Für Tools, die schreibend auf fremde APIs zugreifen (Mails senden, Dateien uploaden, Datensätze anlegen):

tm test-tool sendInvoice id=123 --dry-run

Im Dry-Run-Modus werden POST / PUT / PATCH / DELETE-Requests nicht wirklich abgeschickt, sondern geben einen Stub zurück. Preprocess und Postprocess laufen normal. So kannst du riskante Tools gefahrlos testen.

JSON-Output

Für Skripte / CI:

tm test-tool getInvoice id=INV-2026-001 --json

Liefert das Ergebnis als ein JSON-Objekt, nichts drumherum. Gut für Snapshot-Tests oder Automatisierung.

Typische Workflows

Neues Tool entwickeln

# 1. Tool mit kleinem args_fixture anlegen
# 2. tm sync durchlaufen lassen (oder tm watch im Hintergrund)
# 3. Direkt testen:
tm test-tool myNewTool

# 4. Wenn grün: in einen Assistant einbauen, im Chat testen.

Bestehendes Tool debuggen

# Ein User meldet: "das Tool gibt nix zurück". Reproduziere:
tm test-tool getInvoice id=INV-2026-001

# Output zeigt: 404 vom API. Dann weißt du: Tool ok, ID falsch.

Regression vor Deployment

Halte eine Liste wichtiger Tool-Fixtures in deinem Workspace. Vor jedem Go-Live:

for tool in getInvoice listOrders classifyEmail; do
  tm test-tool $tool --json > /tmp/$tool.json
done

Diff gegen eine gespeicherte Referenz — Änderungen fallen sofort auf.

Was tm test-tool nicht testet

  • Prompts: ob das Modell das Tool im richtigen Moment aufruft. Dafür gibt es tm test-chat.
  • Inter-Tool-Logik: wenn Tool A das Modell dazu bringen soll, Tool B aufzurufen — das siehst du nur im echten Chat.

Logs

Jeder Testlauf landet im Ausführungs-Log deines Workspace. Du kannst sie live mitverfolgen:

tm monitor    # strukturierter Tool-Stream
tm logs       # rohe Server-Logs

Siehe tm monitor und tm logs.

Zuletzt aktualisiert: 2026-04-19