Skip to content

llmist

Tools execute while the LLM streams. Any model. Clean API.

Why llmist?

Streaming Tool Execution

Gadgets execute the moment their block is parsed—not after the response completes. Real-time UX without buffering.

Built-in Function Calling

llmist implements its own tool calling via a simple block format. No JSON mode required. Works with any model.

Multi-Provider Support

OpenAI, Anthropic, and Gemini out of the box. Use model shortcuts like sonnet, haiku, or flash.

Composable Agent API

Fluent builder, async iterators, full TypeScript inference. Hook into any lifecycle point.

Quick Start

Terminal window
npm install llmist
import { LLMist, Gadget, z } from 'llmist';
class Calculator extends Gadget({
description: 'Performs arithmetic operations',
schema: z.object({
operation: z.enum(['add', 'multiply']),
a: z.number(),
b: z.number(),
}),
}) {
execute(params: this['params']): string {
const { operation, a, b } = params;
return operation === 'add' ? String(a + b) : String(a * b);
}
}
const answer = await LLMist.createAgent()
.withModel('sonnet')
.withGadgets(Calculator)
.askAndCollect('What is 15 times 23?');
console.log(answer); // "15 times 23 equals 345"

Packages

llmist

Core library with agents, gadgets, and providers.

npm install llmist

@llmist/cli

Command-line interface for quick completions and agent runs.

npx llmist agent "Your prompt"

@llmist/testing

Testing utilities and mocks for unit testing your agents.

npm install -D @llmist/testing