Skip to main content
Sorat provides an interactive terminal UI built with Bubble Tea.

Interactive TUI

Run sorat with no flags to enter the interactive menu:
sorat
The main menu offers:
OptionDescription
Start ServerRun the server in the foreground terminal
Start DaemonLaunch the server as a background process
Stop DaemonStop the background server
StatusDisplay server info (uptime, model, session count)
LogsView server logs in a scrollable TUI viewer
ChatInteractive chat with the agent
ProvidersManage LLM providers
SkillsManage installed skills
Cron JobsManage scheduled jobs
Reset DataDelete all data in ~/.sorat/
Navigate with arrow keys or j/k, press Enter to select, and q or Esc to go back.

CLI flags

FlagDescription
--devDev mode — proxies frontend requests to localhost:3000
--foregroundRun server in foreground (no interactive menu)
--daemonRun server as a background process
--version, -vPrint version
--help, -hPrint usage

Chat mode

The chat TUI provides a split-pane interface:
  • Top pane: scrollable message history
  • Bottom pane: text input area
KeyAction
Ctrl+DSend message
EscQuit chat
Up/DownScroll message history
Messages stream in real-time via SSE. Tool calls are shown inline as [tool: tool_name].

Log viewer

The log viewer displays the last 200 lines of the current day’s log file with auto-refresh every 2 seconds.
KeyAction
Up/DownScroll
q / EscExit

Provider management

The Providers submenu:
OptionDescription
List AllShow all providers with endpoint, auth method, and active status
Add ProviderInteractive form: name, API endpoint, API key, model name
Remove ProviderSelect and confirm deletion
Set ActiveChoose which provider and model to use

Skills management

The Skills submenu:
OptionDescription
List AllShow installed skills with enabled status
Install SkillInstall from a GitHub repo path or ClawHub slug
Remove SkillUninstall a skill by name

Cron management

The Cron Jobs submenu:
OptionDescription
List JobsShow all jobs with status, schedule, and last run time
Enable JobResume a disabled job
Disable JobPause an active job
Remove JobDelete a job permanently

Status display

The Status command shows:
  • Whether the server is running
  • PID and uptime
  • Active model name
  • Number of stored sessions
  • Server URL