tui

module
v1.10.0 Latest Latest
Warning

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

Go to latest
Published: Oct 17, 2026 License: Apache-2.0

README

seshat terminal interface

The seshat command: the terminal chat, the headless run mode and the commands around them (tui/cmd/cli), and the terminal interface they run (tui/internal/seshattui). It is a Go module of its own, apart from the engine at the root of the repository, because part of it is derived from Crush and is under the Functional Source License 1.1 (MIT Future License). See NOTICE and docs/licensing.md for what that allows and what it does not (a paid product or service that competes with Crush).

The engine (pkg/, cmd/grpc, the rest of internal/) does not depend on this module.

go build -o bin/seshat ./tui/cmd/cli    # from the repository root
go test ./tui/...

Directories

Path Synopsis
cmd
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.
internal
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.
titlemodel
Package titlemodel names sessions with a tiny language model that runs on the user's own machine.
Package titlemodel names sessions with a tiny language model that runs on the user's own machine.
updater
Package updater lets the seshat binary find out that a newer release exists and replace itself with it.
Package updater lets the seshat binary find out that a newer release exists and replace itself with it.

Jump to

Keyboard shortcuts

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