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