seshat

module
v0.2.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jul 14, 2026 License: Apache-2.0

README ΒΆ

Seshat

Seshat

Open-source Go agent runtime for governed, multi-provider, self-hostable execution
Built for serious agent work today, with a larger open-source vision behind it.

🌐 Website Β· πŸ’¬ Discussions Β· πŸ› Issues Β· πŸ–₯️ seshat-ai


What Seshat Is Today

Seshat is an open-source Go agent runtime for people who need more than a chat shell and less vendor lock-in than a closed assistant.

Its current wedge is concrete:

  • governed multi-turn agent execution
  • tools, files, sandboxed bash, web, browser, MCP, RAG, and skills
  • multi-provider routing with self-hosted and local-first deployment options
  • persistent sessions, permissions, recovery, and audit-friendly behavior
  • CLI/TUI, gRPC, and Go SDK surfaces on the same runtime core

If you want the class of tool people reach for in products like Claude Code, but open, written in Go, multi-provider, and deployable under your own rules, this is the project.

Why This Exists

Most of the market still splits into two weak extremes:

  • chat products that answer well but do not own serious execution
  • low-level frameworks that are flexible but too fragmented, too provider-shaped, or too awkward to ship as a real runtime

Seshat is the missing middle layer: an execution runtime that can actually run agents, call tools, hold sessions, enforce permissions, recover from failures, and stay usable as infrastructure.

The Broader Open-Source Direction

The project still keeps a broader ambition, and that matters for the community.

Seshat is not only about making one strong solo agent. The longer-term direction is organized agentic work: explicit roles, mission memory, structured coordination, durable teams, and an open foundation that others can extend through skills, MCP servers, SDK integrations, and domain-specific workflows.

That larger vision belongs in the docs and in open-source discussion because contributors need the map, not only the current feature list.

Runtime First, Platform Above It

Seshat is the runtime layer.

Use this repository if you want to:

  • run agents locally or self-host them under your own control
  • embed the runtime inside a Go application or internal system
  • extend providers, tools, permissions, MCP integration, or runtime behavior

If you want the full self-hosted platform layer for organizations, use seshat-ai: users, workspaces, REST API, knowledge base, scheduling, governance, and desktop product surfaces built on top of this engine.


πŸ–₯️ Terminal UI

seshat chat drops you into a full-featured terminal interface built for long-running agent sessions.

Welcome screen
Welcome β€” up and running in 10 seconds
Settings panel
Settings panel β€” every shortcut, one keystroke away (ctrl+p)
Model selection
Model selection β€” switch across 20+ models in 2 keystrokes
Provider configuration
Provider config β€” API keys encrypted, scoped per provider
Agent working
Agent at work β€” full reasoning trace, thinking blocks + tool calls
Agent completing task
Streaming results β€” streamed responses with markdown + tool timings

Keyboard shortcuts: ctrl+p settings Β· ctrl+m models Β· ctrl+s sessions Β· ctrl+, providers Β· ctrl+n new session Β· ctrl+t tasks Β· ctrl+u copy last response Β· ctrl+y toggle yolo Β· ctrl+o open editor Β· ctrl+g help Β· ctrl+c quit

Clipboard note (Linux): selection copy works best when wl-clipboard (Wayland) or xclip/xsel (X11) is installed. Without a system clipboard backend, Seshat can request terminal clipboard access but cannot guarantee a real system copy.

Compaction note: transcript compaction is automatic today. A dedicated manual compact action is planned for the TUI once the runtime exposes a real manual-compaction hook.


🌐 The Seshat Ecosystem

seshat is the headless runtime: pure Go, no UI, no users, no billing. It is the foundation everything else builds on.

πŸ–₯️ seshat-ai β€” Desktop & Platform

β†’ seshat-ai is the full production platform built on top of this engine. If you want a ready-to-use application rather than a library, that is where you want to go.

seshat (this repo) seshat-ai
What it is Go runtime + SDK + CLI Desktop app + REST API platform
Stack Go Go (API) + TypeScript/React/Electron (desktop)
License Apache 2.0 AGPL-3.0
Who it's for Developers embedding agents in their own apps End users, teams, self-hosters
Includes Engine, tools, providers, gRPC, CLI/TUI Multi-user auth, workspaces, knowledge base, scheduler, desktop UI

What seshat-ai gives you today:

  • πŸ–₯️ Native desktop app (Electron + React) with chat, tool views, plans, settings and a visual skills creator
  • πŸ‘₯ Multi-user backend with organizations, workspaces, per-user API keys, quotas and audit log
  • πŸ“‘ REST + SSE HTTP API compatible with the Anthropic /v1/messages format
  • πŸ“š Knowledge base with hybrid BM25 + vector search and file ingestion
  • ⏰ Scheduled tasks, memories, plans and MCP server management

Coming next:

  • 🀝 Agent teams: persistent groups of specialized agents collaborating on shared missions, each with its own inbox, role and memory
  • πŸ€– Automation and background workflows triggered by schedule, events or voice
  • πŸ–ΌοΈ Image generation integrated directly into the chat and workspace
  • πŸŽ™οΈ Voice input and audio output so you can talk to your agents naturally
  • 🌐 A multi-workspace environment covering code, research, creation and learning, all sharing the same runtime and data layer

🀝 Contribution split

If you want to... Contribute to...
Improve execution speed, reduce latency, optimize the agent loop seshat (Go)
Add a new LLM provider or tool seshat (Go)
Expose new capabilities in the SDK or gRPC API seshat (Go)
Improve the desktop UI, add new views, fix UX seshat-ai (TypeScript/React)
Build features like agent teams, automation or scheduling seshat-ai (Go API + React)

The engine is intentionally kept minimal and fast. If you need something from the SDK that is not exposed yet, open an issue and we will prioritize it.

πŸ“¦ Installation

End users β€” one command, fully configured:

curl -fsSL https://raw.githubusercontent.com/EngineerProjects/seshat/main/scripts/install.sh | bash

Downloads the right binary for your platform, adds it to your PATH, installs uv and docling-serve for document processing, and leaves the runtime directory (~/.config/seshat-cli/) ready. The DB and sessions are created on first run.

Options:

NO_PYTHON=1    bash <(curl -fsSL ...)   # skip uv + docling (minimal install)
VERSION=v0.1.0 bash <(curl -fsSL ...)   # pin a specific version

Developers β€” Go toolchain:

# Install the CLI binary
go install github.com/EngineerProjects/seshat/cmd/cli@latest

# Then set up document processing if needed
seshat setup

# Or check what is already installed
seshat setup --check

SDK β€” embed in your Go application:

go get github.com/EngineerProjects/seshat@latest

πŸ”€ Three Ways to Use It

1. πŸ’» CLI β€” seshat

An AI agent in your terminal. Multi-provider, local-first, skills-aware.

Install

# End users β€” full setup in one command:
curl -fsSL https://raw.githubusercontent.com/EngineerProjects/seshat/main/scripts/install.sh | bash

# Developers β€” binary only via Go toolchain:
go install github.com/EngineerProjects/seshat/cmd/cli@latest
seshat setup          # install uv + docling-serve afterwards if needed
seshat setup --check  # check what is already configured

Configure a provider

seshat config --provider anthropic --api-key sk-ant-...
seshat config --model anthropic:claude-sonnet-4-20250514
seshat config --print

Run

seshat chat                                            # interactive TUI session
seshat chat --resume <session-id>                      # resume a specific session
seshat chat --continue                                 # resume the most recent session
seshat run "list all TODO comments in this codebase"   # one-shot task
seshat sessions list                                   # browse past sessions
seshat setup --check                                   # show uv / docling status
seshat version                                         # print installed version
seshat help                                            # full command reference

Sessions are persisted locally in SQLite. Skills are loaded from .seshat/skills/ in your project. The full tool set is available: file edits, sandboxed bash, web search, browser, MCP servers, sub-agents.


2. 🌐 gRPC Server

Run seshat as a gRPC service and generate clients for any language.

# Development
ANTHROPIC_API_KEY=sk-ant-... go run ./cmd/grpc

# From build
ANTHROPIC_API_KEY=sk-ant-... ./bin/seshat-grpc

Server starts on :50051. The contract lives in pkg/grpc/proto/nexus.proto. Generate a client for Python, TypeScript, Java, Rust, or any gRPC-supported language:

# Python
python -m grpc_tools.protoc -I pkg/grpc/proto --python_out=. --grpc_python_out=. nexus.proto

# TypeScript
npx grpc-tools --js_out=. --grpc_out=. pkg/grpc/proto/nexus.proto

One runtime. Every language.


3. πŸ“¦ Go SDK

Embed the full runtime in your own Go application.

go get github.com/EngineerProjects/seshat/pkg/sdk
import "github.com/EngineerProjects/seshat/pkg/sdk"

client, err := sdk.NewClient(&sdk.ClientConfig{
    APIKey: os.Getenv("ANTHROPIC_API_KEY"),
    Model:  sdk.ModelIdentifier{Provider: "anthropic", Model: "claude-sonnet-4-20250514"},
})
if err != nil {
    log.Fatal(err)
}
defer client.Close()

session, _ := client.CreateSession(ctx)
resp, _ := session.SubmitMessage(ctx, "Write a Go HTTP handler for /health")
fmt.Println(resp.Content)

πŸ“Š How Seshat Compares

Feature seshat Claude Agent SDK OpenAI Agents SDK LangGraph CrewAI
Language Go Python/TS Python Python Python
Single binary (no deps) βœ… ❌ ❌ ❌ ❌
CLI included βœ… ❌ ❌ ❌ ❌
gRPC server (any language) βœ… ❌ ❌ ❌ ❌
Multi-provider βœ… (15) ❌ Claude only ❌ OpenAI only βœ… βœ…
MCP client βœ… βœ… βœ… Partial ❌
Sandboxed bash (Landlock) βœ… βœ… ❌ ❌ ❌
Skills system βœ… ❌ ❌ ❌ ❌
Built-in RAG βœ… ❌ ❌ ❌ ❌
Browser automation βœ… βœ… ❌ ❌ ❌
Session persistence βœ… ❌ ❌ βœ… ❌
OTel tracing βœ… ❌ ❌ βœ… ❌
Open-source license Apache 2.0 MIT MIT MIT Apache 2.0

✨ Capabilities

Capability Details
🌍 Multi-provider 15 providers: Anthropic, OpenAI, Gemini, Mistral, DeepSeek, Ollama, OpenRouter, AWS Bedrock, GCP Vertex, Azure Foundry, Codex, MiniMax, Z.ai, OpenCode, Cloudflare Workers AI
πŸ› οΈ 60+ built-in tools File read/write/patch, bash (Landlock sandbox), web search, web fetch, browser (Playwright), grep/glob, LSP, sub-agents, RAG, tasks, memory, worktree, notebooks, image generation, TTS/STT
πŸ”Œ MCP client Universal MCP client: plug in any MCP server (GitHub, Postgres, Slack, Docker, Notion, ...)
⚑ Skills Markdown instruction files injected into the system prompt: encode your team's conventions and domain expertise
🎯 Execution modes execute (default), plan (review before act), pair_programming (collaborative)
πŸ”’ Permission engine Per-tool deny rules, auto-mode LLM classifier, configurable per session (auto / acceptEdits / onRequest / bypass / never)
πŸ’Ύ Session persistence SQLite-backed multi-turn sessions, resumable across restarts
πŸ“‘ Streaming Text chunks + structured runtime events (tool calls, plan events, permission requests, token usage)
🧠 Long-context compaction Automatic context compression when approaching the model's window (configurable threshold)
πŸ“‰ Observability Prometheus metrics + OpenTelemetry tracing (OTLP gRPC export, no-op when endpoint not set)

πŸ—‚οΈ Repository Structure

seshat/
β”œβ”€β”€ cmd/
β”‚   β”œβ”€β”€ cli/              ← seshat CLI entrypoint (TUI + one-shot commands)
β”‚   └── grpc/             ← gRPC server entrypoint
β”œβ”€β”€ pkg/                  ← public API (safe to import from outside)
β”‚   β”œβ”€β”€ sdk/              ← Go SDK: Client, sessions, streaming, callbacks
β”‚   β”œβ”€β”€ types/            ← shared types: Message, ToolUse, TokenUsage, ...
β”‚   β”œβ”€β”€ agent/            ← agent definitions, built-in registry
β”‚   β”œβ”€β”€ providers/        ← LLM provider abstraction, routing, fallback
β”‚   β”œβ”€β”€ mcp/              ← MCP client: stdio, SSE, HTTP transports
β”‚   β”œβ”€β”€ rag/              ← chunking, embedding, hybrid vector search
β”‚   β”œβ”€β”€ skills/           ← skill loading, frontmatter parsing, injection
β”‚   β”œβ”€β”€ memory/           ← in-session state, compaction strategies
β”‚   β”œβ”€β”€ web/              ← web search, fetch, browser (Playwright)
β”‚   β”œβ”€β”€ storage/          ← artifact store: S3, local filesystem
β”‚   β”œβ”€β”€ vector/           ← vector DB abstraction
β”‚   β”œβ”€β”€ contract/         ← Tool interface, CallResult, registry
β”‚   β”œβ”€β”€ auth/             ← provider auth abstraction, OAuth device flow
β”‚   β”œβ”€β”€ workspace/        ← sandbox path resolution, workspace layout
β”‚   β”œβ”€β”€ monitoring/       ← Prometheus metrics, OTel spans
β”‚   β”œβ”€β”€ docling/          ← PDF/DOCX/audio conversion via docling-serve
β”‚   β”œβ”€β”€ grpc/             ← proto definitions and generated code
β”‚   └── config/           ← app-level config from env
└── internal/             ← private implementation (do not import directly)

seshat-ai and any third-party consumer must import pkg/* only, never internal/*.


🌐 Supported Providers

Provider ID Service Auth
anthropic Anthropic ANTHROPIC_API_KEY
openai OpenAI OPENAI_API_KEY
gemini Google Gemini GOOGLE_API_KEY
mistral Mistral AI MISTRAL_API_KEY
deepseek DeepSeek DEEPSEEK_API_KEY
ollama Ollama (local) none
openrouter OpenRouter OPENROUTER_API_KEY
bedrock AWS Bedrock AWS_ACCESS_KEY_ID + region
vertex GCP Vertex AI ANTHROPIC_VERTEX_PROJECT_ID + region
foundry Azure AI Foundry ANTHROPIC_FOUNDRY_API_KEY
codex ChatGPT Pro (OAuth) device-code flow
minimax MiniMax MINIMAX_API_KEY
z-ai Z.ai Z_AI_API_KEY
opencode OpenCode Zen OPENCODE_API_KEY
workers-ai Cloudflare Workers AI CLOUDFLARE_API_KEY

Full model listings and capabilities: docs/providers.md.


πŸš€ Quick Start

# 1. Install
curl -fsSL https://raw.githubusercontent.com/EngineerProjects/seshat/main/scripts/install.sh | bash

# Reload your shell (or open a new terminal) if prompted, then:

# 2. Configure your provider
seshat config --provider anthropic --api-key sk-ant-...
seshat config --model anthropic:claude-sonnet-4-20250514

# 3. Start chatting
seshat chat                          # new session (opens TUI)
seshat chat --continue               # resume last session
seshat chat --resume <session-id>    # resume a specific session
seshat run "list all TODO comments in this codebase"  # one-shot task

No API key? Use Ollama for free local inference: seshat config --provider ollama --model ollama:llama3.2 (requires Ollama running locally)

Developers building from source: see the Development section below.


⚑ Skills

Skills are Markdown files that encode expertise injected into the agent's system prompt at runtime.

.seshat/skills/
  go-conventions.md     # "always use context.Context as the first parameter..."
  git-workflow.md       # "never commit to main, always open a PR, squash before merge..."
  security-rules.md     # "never log secrets, validate all external input at boundaries..."

The official skill collection is seshat-skills, installable from any URL directly from the CLI.


πŸ”Œ MCP

Any MCP server is immediately usable β€” no additional development needed.

client, _ := sdk.NewClient(&sdk.ClientConfig{
    MCPServers: []sdk.MCPServerConfig{
        {Name: "github",   Command: "npx", Args: []string{"-y", "@modelcontextprotocol/server-github"}},
        {Name: "postgres", Command: "npx", Args: []string{"-y", "@modelcontextprotocol/server-postgres", "postgresql://..."}},
        {Name: "slack",    Command: "npx", Args: []string{"-y", "@modelcontextprotocol/server-slack"}},
    },
})

πŸ—οΈ Architecture

Seshat Architecture

Full architecture diagrams (Mermaid): docs/vision/diagrams.md.


πŸ“– Documentation

Doc What it covers
Vision & Roadmap Project idea, design principles, Level 1->2->3 roadmap
Architecture System design, layer diagrams, query loop state machine
SDK Guide ClientConfig, sessions, streaming, callbacks, MCP
Tools Built-in tools reference, permission pipeline
Providers Multi-provider routing, retry, circuit breaker
Prompt System Section assembly, stage overlays, cache control
Skills Skills system, loading order, injection
Transports & Setup gRPC setup, proto codegen, env vars
Multi-Agent Teams Agent profiles, mailbox, dispatcher, TeamBus
Memory and Compaction Session memory, context compaction, memory tool
MCP Client MCP protocol, transports, server configuration
RAG System Chunking, embeddings, hybrid search, document ingestion
Planning Mode Execution modes: execute, plan, pair-programming

πŸ› οΈ Development

First-time setup (build from source)

# Linux / macOS β€” installs all dependencies, builds, wires git hooks
git clone https://github.com/EngineerProjects/seshat
cd seshat
make setup

# Windows (PowerShell β€” make is not available by default on Windows)
powershell -ExecutionPolicy Bypass -File scripts\setup.ps1

make setup handles everything: Go version check, ripgrep, uv, Python venv with docling-serve, and the final build. Binaries land in bin/.

Daily commands

make build           # build CLI and gRPC binaries to bin/
make test            # run all tests
make test-race       # run tests with race detector
make lint            # golangci-lint
make fmt             # gofmt
make hooks           # (re-)install git pre-commit hooks
make install-python  # install/update the Python venv + docling-serve only
make start-docling   # start docling-serve manually (auto-started by seshat chat)
make clean           # remove bin/
make clean-runtime   # erase runtime data (~/.config/seshat-cli)
make clean-all       # both

seshat setup (runtime, not source)

When the CLI is installed via curl | bash or go install, use the built-in setup command to manage the Python environment:

seshat setup                      # install uv + docling-serve
seshat setup --check              # show status without installing
seshat setup --python 3.12        # use a specific Python version
seshat setup --extras gpu         # GPU-accelerated docling

Runtime data directory

Seshat stores sessions, config, and the Python venv under a platform-appropriate directory:

OS Default path
Linux ~/.config/seshat-cli/ (respects $XDG_CONFIG_HOME)
macOS ~/.config/seshat-cli/
Windows %APPDATA%\seshat-cli\

Override with SESHAT_RUNTIME_ROOT=/your/path seshat chat.

Runtime dependencies

ripgrep β€” the glob and grep tools require ripgrep (rg). Included in make setup; install separately with make install-deps.

docling-serve (optional) β€” enables the read_document_url tool for PDF/DOCX conversion. Included in make setup via uv (no system Python required). Seshat auto-starts it on launch when installed.

OS compatibility

Linux β€” primary development and testing platform. Fully supported.

macOS β€” code is written to support macOS and basic testing has been done, but macOS support is not yet fully validated. If you hit an issue, please open a report.

Windows β€” PowerShell setup script included and paths are handled (%APPDATA%), but Windows support has not been tested yet. Contributions and test reports welcome.

See CONTRIBUTING.md for the full contribution guide.


πŸ”’ Security

To report a vulnerability, see SECURITY.md.


πŸ“„ License

Apache 2.0

Directories ΒΆ

Path Synopsis
cmd
automation command
cli command
cli/appdir
Package appdir is the single source of truth for the CLI's filesystem layout.
Package appdir is the single source of truth for the CLI's filesystem layout.
grpc command
slack-bot command
internal
agent/goal
Package goal implements the persistent goal system.
Package goal implements the persistent goal system.
audio/providers
Package audioproviders implements audio.tts.Generation and audio.stt.SpeechToText for supported providers.
Package audioproviders implements audio.tts.Generation and audio.stt.SpeechToText for supported providers.
audio/stt
Package stt provides a provider-agnostic interface for speech-to-text transcription.
Package stt provides a provider-agnostic interface for speech-to-text transcription.
audio/tts
Package tts provides a provider-agnostic interface for text-to-speech synthesis.
Package tts provides a provider-agnostic interface for text-to-speech synthesis.
db
fim
Package fim provides a unified interface for Fill-in-the-Middle code completion.
Package fim provides a unified interface for Fill-in-the-Middle code completion.
fim/providers
Package fimproviders provides concrete FIM provider implementations.
Package fimproviders provides concrete FIM provider implementations.
hooks
Package hooks provides shell-command-based pre-tool hooks, adapted from Charm's crush project (MIT).
Package hooks provides shell-command-based pre-tool hooks, adapted from Charm's crush project (MIT).
image
Package image provides a provider-agnostic interface for image generation.
Package image provides a provider-agnostic interface for image generation.
image/providers
Package imageproviders contains concrete implementations of image.Generation for each supported provider.
Package imageproviders contains concrete implementations of image.Generation for each supported provider.
mailbox
Package mailbox provides a persistent, async inbox for each agent.
Package mailbox provides a persistent, async inbox for each agent.
model
Package model provides a centralised registry of LLM model metadata: context windows, pricing, and capability flags (vision, audio, etc.).
Package model provides a centralised registry of LLM model metadata: context windows, pricing, and capability flags (vision, audio, etc.).
modes/execution
Package execution provides execution mode state management.
Package execution provides execution mode state management.
permissions
Package permissions - Loader for permission rules from various sources.
Package permissions - Loader for permission rules from various sources.
permissions/auto
Package auto - Cache control support for classifier API calls.
Package auto - Cache control support for classifier API calls.
providers
CLI-era credential helpers.
CLI-era credential helpers.
python
Package python manages Seshat-owned Python subprocesses (docling-serve, …).
Package python manages Seshat-owned Python subprocesses (docling-serve, …).
rag
schema
Package schema provides types and utilities for structured output constraints.
Package schema provides types and utilities for structured output constraints.
seshattui/agent/hyper
Package hyper provides a fantasy.Provider that proxies requests to Hyper.
Package hyper provides a fantasy.Provider that proxies requests to Hyper.
seshattui/agent/notify
Package notify defines domain notification types for agent events.
Package notify defines domain notification types for agent events.
seshattui/agent/tools/mcp
Package mcp provides functionality for managing Model Context Protocol (MCP) clients within the Seshat application.
Package mcp provides functionality for managing Model Context Protocol (MCP) clients within the Seshat application.
seshattui/app
Package app exposes the types used by the UI for app-level events.
Package app exposes the types used by the UI for app-level events.
seshattui/csync
Package csync provides concurrent data structures for safe access in multi-threaded environments.
Package csync provides concurrent data structures for safe access in multi-threaded environments.
seshattui/dns
Package dns configures Go's DNS resolver for Termux/Android where Go's pure-Go resolver reads /etc/resolv.conf which points to non-functional loopback nameservers.
Package dns configures Go's DNS resolver for Termux/Android where Go's pure-Go resolver reads /etc/resolv.conf which points to non-functional loopback nameservers.
seshattui/filetracker
Package filetracker provides a no-op file read tracking service.
Package filetracker provides a no-op file read tracking service.
seshattui/home
Package home provides utilities for dealing with the user's home directory.
Package home provides utilities for dealing with the user's home directory.
seshattui/hooks
Package hooks runs user-defined shell commands that fire on hook events (e.g.
Package hooks runs user-defined shell commands that fire on hook events (e.g.
seshattui/lock
Package lock provides cross-process advisory file locking.
Package lock provides cross-process advisory file locking.
seshattui/lsp
Package lsp provides a manager for Language Server Protocol (LSP) clients.
Package lsp provides a manager for Language Server Protocol (LSP) clients.
seshattui/oauth/copilot
Package copilot provides GitHub Copilot integration.
Package copilot provides GitHub Copilot integration.
seshattui/oauth/hyper
Package hyper provides functions to handle Hyper device flow authentication.
Package hyper provides functions to handle Hyper device flow authentication.
seshattui/pubsub
Package pubsub provides a lightweight in-process broker for fan-out event delivery between services and the UI.
Package pubsub provides a lightweight in-process broker for fan-out event delivery between services and the UI.
seshattui/shell
Package shell provides cross-platform shell execution capabilities.
Package shell provides cross-platform shell execution capabilities.
seshattui/skills
Package skills implements the Agent Skills open standard.
Package skills implements the Agent Skills open standard.
seshattui/ui/anim
Package anim provides an animated spinner.
Package anim provides an animated spinner.
seshattui/ui/logo
Package logo renders a Seshat wordmark in a stylized way.
Package logo renders a Seshat wordmark in a stylized way.
seshattui/ui/notification
Package notification provides desktop notification support for the UI.
Package notification provides desktop notification support for the UI.
seshattui/ui/styles
Package styles define styling and theming for the project.
Package styles define styling and theming for the project.
seshattui/ui/util
Package util provides utility functions for UI message handling.
Package util provides utility functions for UI message handling.
seshattui/workspace
Package workspace implements the Workspace interface backed by pkg/sdk.
Package workspace implements the Workspace interface backed by pkg/sdk.
team
Package team handles multi-agent coordination: routing messages between agents (Dispatcher) and polling inboxes to trigger execution (TeamBus).
Package team handles multi-agent coordination: routing messages between agents (Dispatcher) and polling inboxes to trigger execution (TeamBus).
tools/git
Package git provides structured tools for git operations.
Package git provides structured tools for git operations.
tools/math/calculator
Package calculator provides a calculator tool for basic arithmetic, advanced mathematical functions, and expression evaluation.
Package calculator provides a calculator tool for basic arithmetic, advanced mathematical functions, and expression evaluation.
tools/math/financial
Package financial provides a financial calculation tool.
Package financial provides a financial calculation tool.
tools/math/statistics
Package statistics provides a statistical analysis tool.
Package statistics provides a statistical analysis tool.
tools/math/units
Package units provides a unit conversion tool.
Package units provides a unit conversion tool.
tools/multimedia
Package multimedia groups tools that produce or consume media: images (generate_image), text-to-speech (text_to_speech), and speech-to-text (speech_to_text).
Package multimedia groups tools that produce or consume media: images (generate_image), text-to-speech (text_to_speech), and speech-to-text (speech_to_text).
tools/notebook
Package notebook implements all Jupyter notebook tools: file management (create, read, write, edit) and kernel execution (execute, run, kernel).
Package notebook implements all Jupyter notebook tools: file management (create, read, write, edit) and kernel execution (execute, run, kernel).
tools/notebook/kernel
Package kernel implements an HTTP + WebSocket client for the Jupyter Server REST API.
Package kernel implements an HTTP + WebSocket client for the Jupyter Server REST API.
tools/notifications/discord
Package discord provides the discord_send tool for sending messages to Discord.
Package discord provides the discord_send tool for sending messages to Discord.
tools/notifications/email
Package email provides the email_send tool for sending emails via SMTP.
Package email provides the email_send tool for sending emails via SMTP.
tools/notifications/slack
Package slack provides the slack_send tool for sending messages to Slack.
Package slack provides the slack_send tool for sending messages to Slack.
tools/notifications/telegram
Package telegram provides the telegram_send tool for sending messages via the Telegram Bot API.
Package telegram provides the telegram_send tool for sending messages via the Telegram Bot API.
tools/notifications/whatsapp
Package whatsapp provides tools for WhatsApp Business via the Cloud API.
Package whatsapp provides tools for WhatsApp Business via the Cloud API.
tools/social
Package social groups tools that interact with social media and developer community platforms: Hacker News, dev.to, Reddit, and Twitter/X.
Package social groups tools that interact with social media and developer community platforms: Hacker News, dev.to, Reddit, and Twitter/X.
tools/social/devto
Package devto provides tools for the DEV Community (dev.to) API.
Package devto provides tools for the DEV Community (dev.to) API.
tools/social/hackernews
Package hackernews provides tools for the Hacker News public API.
Package hackernews provides tools for the Hacker News public API.
tools/social/reddit
Package reddit provides tools for Reddit via the official REST API.
Package reddit provides tools for Reddit via the official REST API.
tools/social/twitter
Package twitter provides tools for Twitter/X via the v2 API.
Package twitter provides tools for Twitter/X via the v2 API.
tools/special/fim
Package fimtool exposes Fill-in-the-Middle code completion as a Seshat tool.
Package fimtool exposes Fill-in-the-Middle code completion as a Seshat tool.
tools/special/goal
Package goal implements create_goal, get_goal, and update_goal tools.
Package goal implements create_goal, get_goal, and update_goal tools.
tools/special/mailbox
Package mailbox provides tools for inter-agent communication via the persistent mailbox system.
Package mailbox provides tools for inter-agent communication via the persistent mailbox system.
tools/special/memory
Package memory provides agent tools for the long-term memory knowledge graph.
Package memory provides agent tools for the long-term memory knowledge graph.
tools/web/browser
Package browser exposes native browser tools on top of the shared browser runtime.
Package browser exposes native browser tools on top of the shared browser runtime.
utils
Package utils provides common utility functions used across the codebase.
Package utils provides common utility functions used across the codebase.
vector
This file is excluded from Windows builds: github.com/coder/hnsw depends on github.com/google/renameio for atomic index-file writes, and renameio has no Windows support.
This file is excluded from Windows builds: github.com/coder/hnsw depends on github.com/google/renameio for atomic index-file writes, and renameio has no Windows support.
web
Package web contains shared contracts and utilities for the reusable web stack.
Package web contains shared contracts and utilities for the reusable web stack.
web/browser
Package browser provides the shared local browser runtime used by Seshat tools and sessions.
Package browser provides the shared local browser runtime used by Seshat tools and sessions.
web/fetch
Package fetch contains the reusable web fetch core shared by browser- and tool-facing adapters.
Package fetch contains the reusable web fetch core shared by browser- and tool-facing adapters.
web/search
Package search contains the reusable web search core shared by tool wrappers.
Package search contains the reusable web search core shared by tool wrappers.
web/searxng
Package searxng provides a full-featured SearXNG search client for Go, mirroring the mcp-searxng TypeScript server (src/search.ts).
Package searxng provides a full-featured SearXNG search client for Go, mirroring the mcp-searxng TypeScript server (src/search.ts).
pkg
automation
Package automation exposes the automation workflow primitives for use by external embedders, seshat-ai, and cmd/automation workflows.
Package automation exposes the automation workflow primitives for use by external embedders, seshat-ai, and cmd/automation workflows.
mcp
python
Package python exposes the Seshat-managed Python subprocess layer.
Package python exposes the Seshat-managed Python subprocess layer.
rag
sdk
web

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL