@neeter/server
v0.18.0
Published
Hono server toolkit for building chat UIs on top of the Claude Agent SDK
Readme
@neeter/server
A Hono server toolkit that puts a browser UI on the Claude Agent SDK. Manages multi-turn sessions, translates SDK messages into named SSE events, and handles tool-approval permissions — so your React client gets a clean event stream out of the box.
Part of the neeter toolkit.
Install
pnpm add @neeter/serverPeer dependencies:
{
"@anthropic-ai/claude-agent-sdk": ">=0.2.0",
"hono": ">=4.0.0"
}Quick start
import { Hono } from "hono";
import { serve } from "@hono/node-server";
import {
createAgentRouter,
SessionManager,
MessageTranslator,
} from "@neeter/server";
const sessions = new SessionManager(() => ({
context: {},
model: "claude-sonnet-4-5-20250929",
systemPrompt: "You are a helpful assistant.",
maxTurns: 50,
}));
const translator = new MessageTranslator();
const app = new Hono();
app.route("/", createAgentRouter({ sessions, translator }));
serve({ fetch: app.fetch, port: 3000 });Multimodal messages
Send images alongside text via the messages endpoint:
// POST /api/sessions/:id/messages
{
"content": [
{ "type": "text", "text": "Describe this image" },
{
"type": "image",
"source": {
"type": "base64",
"media_type": "image/png",
"data": "<base64>"
}
}
]
}Plain { "text": "..." } payloads continue to work as before. See the Server Guide for details.
Examples
| Example | Description | |---------|-------------| | basic-chat | Minimal server + client setup | | code-workbench | Per-session sandboxes, persistence, file checkpointing, custom events |
Documentation
- Server Guide — endpoints, permissions, persistence, session context, sandbox hooks
- API Reference — all exports and types
License
MIT
