Skip to content

llmist

The flexible agent and tool layer for any LLM.

Home-Made Tool Calling

llmist uses its own block format for tools—no JSON mode or native function calling required. Works with any model.

Streaming Tool Execution

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

Multi-Provider Support

OpenAI, Anthropic, Gemini, and HuggingFace out of the box. Caching-aware, built-in cost calculation, multimodal support, and first-class reasoning model support.

Powerful Hook System

Three-layer architecture for observability, flow control, benchmarking, and deep app/UI integration.

Terminal window
npm install llmist
import { LLMist, Gadget, z } from 'llmist';
class FloppyDisk extends Gadget({
description: 'Calculates how many 1.44MB floppy disks are needed to store a file',
schema: z.object({
filename: z.string(),
megabytes: z.number().positive(),
}),
}) {
execute(params: this['params']): string {
const { filename, megabytes } = params;
const disks = Math.ceil(megabytes / 1.44);
return `${filename} requires ${disks} floppy disk${disks > 1 ? 's' : ''}. Please label them 1 of ${disks}, 2 of ${disks}...`;
}
}
const answer = await LLMist.createAgent()
.withModel('sonnet')
.withGadgets(FloppyDisk)
.askAndCollect('How many floppies do I need for a 10MB file called DOOM.ZIP?');
console.log(answer); // "DOOM.ZIP requires 7 floppy disks..."

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