Talk to a running soothe-daemon over WebSocket — send prompts, stream agent turns, run jobs.
pip install soothe-client-pythonRequires a local daemon (default ws://127.0.0.1:8765).
importasynciofromsoothe_client.appkitimportDaemonSessionasyncdefmain() ->None:
session=DaemonSession("ws://127.0.0.1:8765")
awaitsession.connect()
awaitsession.send_turn("Summarize this in one sentence: agents need tools.")
asyncfor_namespace, mode, datainsession.iter_turn_chunks():
ifmode=="custom"andisinstance(data, dict):
text=data.get("content") ordata.get("text")
iftext:
print(text, end="", flush=True)
print()
awaitsession.close()
asyncio.run(main())More patterns: examples/ (hello → streaming → multi-turn → pool → jobs).
| Need | Use |
|---|---|
| One conversation, stream replies | DaemonSession (soothe_client.appkit) |
| Jobs / cron (async) | AsyncCommandClient |
| Jobs / cron (scripts / sync) | CommandClient |
| Raw WebSocket / custom RPCs | WebSocketClient |
| Many users / HTTP backend | ConnectionPool + TurnRunner |
Wire request param models: soothe_client.protocol_params.
make sync-dev
make check # lint + unit tests
make test-examples-offline # offline appkit examples
make test-examples # live 01–06 (needs soothed)
make test-integration # live integration suite (needs soothed)