SISU FOR AGENTS (TEXT-ONLY)
Canonical project:
https://github.com/finger-gun/sisu
Primary packages:
- @sisu-ai/core
- @sisu-ai/cli
Quick start (framework)
-----------------------
Install:
pnpm add @sisu-ai/core @sisu-ai/adapter-openai \
@sisu-ai/mw-register-tools \
@sisu-ai/mw-trace-viewer \
@sisu-ai/mw-error-boundary zod dotenv
First agent:
import "dotenv/config";
import { Agent, createCtx, execute, getExecutionResult, type Tool } from "@sisu-ai/core";
import { registerTools } from "@sisu-ai/mw-register-tools";
import { inputToMessage } from "@sisu-ai/mw-conversation-buffer";
import { errorBoundary } from "@sisu-ai/mw-error-boundary";
import { openAIAdapter } from "@sisu-ai/adapter-openai";
import { traceViewer } from "@sisu-ai/mw-trace-viewer";
import { z } from "zod";
const weather: Tool<{ city: string }> = {
name: "getWeather",
description: "Get weather for a city",
schema: z.object({ city: z.string() }),
handler: async ({ city }) => ({ city, tempC: 21, summary: "Sunny" }),
};
const ctx = createCtx({
model: openAIAdapter({ model: "gpt-5.4" }),
input: "What is the weather in Stockholm?",
systemPrompt: "You are a helpful assistant.",
});
const app = new Agent()
.use(errorBoundary())
.use(traceViewer())
.use(registerTools([weather]))
.use(inputToMessage)
.use(execute);
await app.handler()(ctx);
console.log(getExecutionResult(ctx)?.text);
Examples (latest)
-----------------
cp examples/openai-hello/.env.example examples/openai-hello/.env
pnpm run ex:openai:hello
open examples/openai-hello/traces/trace.html
pnpm run ex:openai:orchestration
pnpm run ex:openai:orchestration-adaptive
pnpm run ex:openai:orchestration-custom
pnpm run ex:openai:orchestration-remote
ollama serve && ollama pull gemma4:e4b
pnpm run ex:ollama:hello
CLI quick commands
------------------
npx @sisu-ai/cli list tools
npx @sisu-ai/cli info mw-rag
npx @sisu-ai/cli create chat-agent my-app
npx @sisu-ai/cli install skill
npx @sisu-ai/cli chat
Key links
---------
- Core docs: https://github.com/finger-gun/sisu/tree/main/packages/core
- Examples: https://github.com/finger-gun/sisu/tree/main/examples
- NPM core: https://www.npmjs.com/package/@sisu-ai/core
- NPM cli: https://www.npmjs.com/package/@sisu-ai/cli
Human pages:
- home: index.html
- framework: framework.html
- cli: cli.html