A fullscreen TUI that hosts a real, interactive shell in a large left pane with an AI agent chat sidebar on the right. The agent sees your terminal, investigates in a hidden shell, and can type into your visible pane on request.
Sensus puts the agent inside the terminal you already use:
- A real shell. The left pane is one native PTY per tab, rendered by OpenTUI's embedded
Ghostty VT.
vim,htop, colors, mouse, and scrollback behave like a real terminal. - The agent sees your terminal. cwd, shell, recent output, and git status are context. It investigates in a hidden shell without touching your screen, and can type into your visible pane on request.
- Approvals by default. Every read, command, write, and MCP call shows an inline card
(
y/n/a) unless you saved an allow rule. The agent can type into your pane, but Enter is always confirmed. - Your model, your endpoint. OpenAI-compatible (the default), OpenAI Responses, Anthropic, or Google Gemini. Your config, sessions, and memory stay on your machine.
- It remembers. Plain-markdown memory and on-demand skills, plus searchable session transcripts that survive restarts.
- The left pane is your shell; type in it as usual.
Shift+Tabmoves focus to the chat. - Ask the agent for something and answer the approval cards with
y/n/a. - The agent works in a hidden shell by default. Say "run it in my terminal" and it types into the visible pane instead.
Ctrl+Topens another tab (another shell and another chat).Ctrl+Wcloses it.- Quitting (or
Ctrl+A d) detaches: the local daemon keeps your shells and any running agent turn alive, ready to re-attach on the next boot.sensus killis the kill switch.
curl -fsSL https://sensus.sh/install | bash
sensus # first run opens the guided setup inside sensusThe installer detects your platform, verifies checksums, installs to ~/.local/bin,
warns if that is not on your PATH, and scaffolds a starter config without overwriting
an existing one. It is safe to re-run. Update an installed copy in place with
sensus update (--check only reports; sensus upgrade is the alias). Sensus needs
Linux or macOS on x86_64/aarch64 and works over SSH; Bun is only needed to build from
source.
System-wide (-g), pinned releases, updates, and building from source:
Install and
Build from source.
The manual lives at sensus.sh/docs.
- Work with the agent: How the agent works · Approvals · Tools · Agents · Skills · Memory · Sessions · MCP · Triggers
- Configure: Configuration · Keybindings · CLI
- Help: Troubleshooting · Changelog · Privacy & data · License
- Contribute: Build from source · CONTRIBUTING.md · engineering docs
git clone https://github.com/zbejas/sensus.git sensus && cd sensus
bun install
bun run dev # run from source (interactive)
bun run typecheck # tsc --noEmit, must pass
bun run test:unit # unit suite (~15s), the day-to-day loop
bun run test:smoke # smoke suite, boots the real app in an outer tmux driver
bun test # full suite, the final gate
bun run build # standalone binary -> dist/sensus
./scripts/build-install.sh # build + install (user by default; -g for global)Requires Bun ≥ 1.4.2 to run from source and to build the binary. The contributor
knowledge base starts at docs/architecture.md; the manual's
Build from source page covers the same ground for
users.