Geyser SDK · 0.2.0

Build apps that put Agents to work

Add Agents to the software your team or customers already use, so they can look into a request, write up a brief, or suggest a change and send back a result your application can work with.

Tell me the job, the format you want back, and a limit to stay within. I’ll send back a result your app can use.

Otis

Help support dig into a tricky ticket

Help someone on your support team understand a hard ticket and draft a reply. The support example sorts the ticket details you pass in, asks an Agent to look into the background, and checks the sources it cites.

Your app handles the help desk connection and passes in the records. The example writes a draft, and a person decides whether it’s right and whether to send it.

Try the support example

Turn research into a brief people can use

Build something that helps a sales team prep for a customer call, or helps a researcher get up to speed on a topic. Pass in the notes and documents and ask an Agent for a summary with references.

Start with the Agent review and source-checking examples. They catch references that are missing or made up, but you’ll still need your own review process to check the facts.

Try the research building blocks

Add an approval step to an operations tool

Let an Agent propose a change to a record, show a person what will happen, and wait for them to decide. It fits internal tools where staff have to review changes before they go through.

The approved-record examples run against a sample database or a throwaway Agent workspace. They cover approval and recovering from an interrupted response. Any connection to a real business system comes from your app.

Try an approved update

Build tools around the way your team works

Make a proposal assistant or a project-handoff tool that follows your team’s instructions. Package up the steps and the background it needs so you can reuse the approach on the next job.

An Agent Bundle packages instructions, skills, and portable context together. Each run still follows the workspace’s current permissions and asks for fresh approval before a consequential action.

Package a reusable workflow
Why build on Geyser?

Spend your time on the app while Geyser tracks the work

Your app owns the interface and its connections to other services. Geyser holds the Agent task’s progress, budget, permissions, approval requests, and result in one place, inside the customer’s workspace.

If the connection drops, you can reconnect to the same task. You can also show work that’s waiting on a decision and get results back in the format your app expects. These controls are worth using when a job takes several steps or needs oversight; for a simple text transformation, a direct model call or an ordinary function may be enough.

Build an application with the SDK
  1. 1
    Give it a job

    Pass in information you’re allowed to use, the format you want back, and limits on time and spending.

  2. 2
    Start the task

    Reuse the same operation ID so your app can find the task again if the connection drops.

  3. 3
    Follow the work

    Read progress, and show people any request for approval or for help recovering an interrupted action.

  4. 4
    Use the result

    Fetch the saved result from the customer’s workspace, and check it before you use it.

Start with a small working example

Run your first tool on your own machine

Write a Python tool that takes JSON, run it on the sample inputs, and look at what comes out. The quickstart runs your real code in a restricted environment, including a test that rejects invalid input, and you don’t need an account.

You’ll need Python 3.11 or newer for the tagged-source quickstart, plus a supported sandbox: macOS sandbox-exec, or Linux bubblewrap with user namespaces permitted. Once it’s installed, the handler doesn’t use a model, network access, or credentials.

Understand the extension contract
0.2.0 tagged release · local execution
git clone --branch v0.2.0 --depth 1 https://github.com/geyserlabs/geyser-open.git
cd geyser-open
python3 -m venv .venv
. .venv/bin/activate
python -m pip install -e ./sdk/python -e ./cli
geyser init tool word-count
geyser test word-count
geyser --json dev word-count
Authority and availability, stated plainly

Where things run, and what they cost

Each project selects an Agent, and its credentials are bound to that project and its current Customer Cell. A signed JSON package only becomes active after the assigned Agent has verified the exact bytes and the package has passed its sandboxed tests.

Pure JSON extensions can’t use host files, networking, subprocesses, or inherited credentials. Open Agent tasks use the models and tools configured in your workspace. The SDK itself is MIT-licensed, and remote model and compute usage is billed through your account. We don’t promise a free compute allowance or an availability SLA during the preview.

SDK/CLI 0.2.0 is published on PyPI and GitHub. The Homebrew install works on Apple Silicon macOS and AMD64 Linux, and local Python handlers also need Python 3.11 or newer. You can run locally today. Remote execution needs Customer Cell and Agent software that match, so check the Developers page in the console to see whether it’s ready before you submit a remote task. Bundles keep existing authority as it is, and model profiles pick a model that’s already configured. Public inspection forks don’t run tools; replaying an execution is a separate operation.

Python SDK on PyPICLI on PyPIDownload SDK/CLI 0.2.0Read the changes and migration notes
Make a start

Start with one job your app could make easier

Pick an example, adapt it to how your team works, and see whether it saves you from building the task handling yourself. The examples are starting points for your application, and we haven’t published any independent adoption results.