Skip to main content
This command sets up a chatbot wrapper template that you can fill in with your chatbot’s details. It also creates or updates a chatbots.json file in .snowglobe directory that tracks the necessary information to connect your chatbot to Snowglobe.

Why use this

Use this to scaffold a wrapper that adapts your chatbot to Snowglobe’s expected input/output so Snowglobe can call it during simulations.

Prerequisites

  • You have installed snowglobe
As of client 1.0.0, you no longer need to authenticate before running init. If you aren’t logged in, init runs the login flow inline and then continues automatically.

Usage

This will open an interactive prompt to select the chatbot (agent) on Snowglobe for which you want to create a wrapper. Pick the chatbot using the index number printed in the terminal. If you don’t have an agent yet, choose the New Agent option (new) in the prompt. init will ask for a name and description and create the agent for you, then continue. (As of client 1.0.0; previously this required creating the agent in the dashboard first.) Once you’ve selected (or created) the chatbot, the library will create a chatbot wrapper file in the current directory. You can fill in the details of your chatbot in the wrapper file.

Options

--file
If provided, the chatbot wrapper file will be created at the specified path.

Examples of Chatbot Wrappers

A simple chatbot calling an LLM

Example of a chatbot that needs a single LLM call and returns a final string.
llm-calling-chatbot.py

A chatbot that does tool calling

Example of a chatbot that makes a one-shot tool call and then returns a final string to the user.
tool-calling-chatbot.py

A chatbot that maintains sessions for conversation

Example of a chat chatbot that maintains per-session chat history across turns.
session-chatbot.py
Every SnowglobeMessage includes conversation_id and message_id. Use:
  • conversation_id: as your session key to load and persist per-conversation history
  • message_id: to maintain a lookup table for message-level metadata (e.g., tool outputs, retrieval keys, deduplication)