Lectern
GitHubDownload
Documentation

Desktop app

The cockpit: chats, the Personal Agent, the brain, usage, settings — one native window (Tauri, not Electron).

Chats & sessions

Every chat is a session against a project folder. Sessions live in the engine store, so the same history is visible from the TUI and CLI; a session started elsewhere appears in your sidebar automatically, and renames from any surface win by recency.

  • Folders as projects — right-click to create projects, drag chats between them.
  • Pin chats to keep them on top (★ shows everywhere, including the TUI).
  • Search filters the sidebar as you type.
  • Export / import — right-click a chat: JSON (re-importable) or Markdown (readable).
Live demo · one session, every surface

The composer

Type a task, or start with / for the command menu. Attach images with the paperclip or paste them; the mic does offline dictation (faster-whisper — nothing leaves your machine).

CommandWhat it does
/plan · /applyPropose-only (default) vs write-changes mode for this chat
/one-shot <brief>Autonomous build: plans the full scope, builds, applies
/conduct <task>The Conductor: plan → route each step to the best model → cross-review
/skill [name]List learned skills or attach one to your next message
/mcp [server]List connected MCP servers or target one
/recordRecord a GUI demonstration → replayable skill
/clear · /helpClear the conversation · list everything

Reading a run

Runs stream with full anatomy: memory-recall chips, thinking time, plan cards with live checkmarks, file-edit chips (+added −removed with tinted previews), terminal rows, token usage. The Clean / Verbose toggle collapses machinery into one expandable strip when you just want the conversation.

Live demo · reading a run — then Clean mode

Tiles & the session terminal

  • Tiles — split any chat right/down (tmux-style), each pane its own session; drag the divider to resize; focused pane gets the outline.
  • Terminal — every chat has a real shell (button in the header) in the session's folder. If Docker containers or SSH hosts exist on your machine they appear in the engine picker; absent engines stay invisible. Lectern never touches credentials — your own docker/ssh auth is used.

The work panel & preview rail

The right rail tracks the run: Files changed, Agents (Conductor sub-steps), Shells, Todos, and Preview — edited files rendered (markdown or code), images, and any links the conversation mentions. Your pick stays pinned while the agent keeps working; nothing steals focus.

Live demo · the preview rail

Brain & Usage pages

  • Brain — what Lectern knows per workspace: system profile, code graph clusters, memory files, skills, sessions — as a live force-graph.
  • Usage — tokens by day (GitHub-style activity grid or bars), by provider, by session. Read from your local history, never the cloud.

Settings that matter

  • Providers & models — live status per provider and what each unlocks; pick a default or leave Auto routing. Not installed? Each row expands an OS-aware setup panel with the exact install command, a one-click install for the safe user-space installers (OpenCode, Ollama), and links to the full guide.
  • Tools (MCP) — one-click catalog; adds register across Claude Code, OpenCode, and Antigravity with truthful per-agent chips.
  • Remote access — channels (Telegram today): allowlisted senders can task your agent from a phone.
  • Routing rules — the editable routing.json the Conductor and Auto mode follow, plus an optional classifier.
  • Themes — built-in light/dark plus shareable JSON theme files (the TUI reads the same files).
  • About — version, license, and the GitHub link (it's all open source).
Next: Terminal UI
Lectern

An engine for your AI — local-first and backend-agnostic.

Product
OverviewPlatformFree & open sourceDownloadChangelog
Resources
DocsHubStudiesChangelog
Open source
GitHubLicense (Apache-2.0)Security
© 2026 Lectern · open source under Apache-2.0
One engine under your coding agents