Features
How to use Trellis Studio workspace navigation, agents, graph view, memory, desktop, and cloud.
Reference for day-to-day Studio behavior. For product positioning, start with the introduction. For the latest shipped tweaks, see What's new.
Workspace navigation
Files and search
Files, entities, and relationships sit side by side. Wiki-links and references resolve across code, decisions, and issues.
The file browser scopes listings to the project workspace you opened, including when that path is a symlink (monorepo root or git worktree). Open the repo directory as the project root to search inside it; symlink names at a parent folder appear in the tree without scanning nested repos. Runtime data under .trellis/ is excluded from indexing and text search.
Go to file: ⌘P / Ctrl+P, or the session header search bar. Recently opened files first, then fuzzy path matching (spaces match path segments).
Command palette: ⌘⇧P / Ctrl+Shift+P for commands, session switching, and file search. Shortcuts: Settings → Keyboard.
Appearance: default Cursor palette (light/dark follow system). Change under Settings → General or command palette Theme entries.
Sessions and the icon rail
Agent sessions are separate chats (transcript, composer draft, model per tab). The editor pane is shared: open tabs, icon rail, scroll positions, and review state persist when you switch sessions.
Code view uses a conventional layout: Explorer tree on the left, editor on the right. Toggle the tree from the tab bar or fileTree.toggle in the palette.
Icon rail (top to bottom): Graph, Plan, Code, Database, Assets, Design, Review, Preview, Logs. Below that, the projection zone pins lenses (Notes, Calendar, Whiteboards, custom views). Pin or unpin with + (up to eight). Route: ?view=projection&lens=<id>. Configure defaults in opencode.jsonc under projections.pinned and projections.custom.
Specialized editors: spreadsheets (.xlsx), 3D models, .base vault views, .whiteboard: Excalidraw boards. See Projections and whiteboards.
Embedded agents {#embedded-agents}
Run agents inside the workspace. Every tool call is captured as a durable op. Agents read and write the same graph you do.
Models and providers: local Studio uses your configured providers (Settings → Providers). Hosted studio.trellis.computer includes free-tier models and optional ChatGPT Pro/Plus (Codex) via device code. See Cloud AI proxy and What's new for current defaults.
Composer: stays interactive after each turn, including provider errors. On cloud, assistant text streams in as the model generates.
Read aloud: volume beside Copy on completed assistant messages (and in the Code markdown toolbar). Synthesis via POST /tts/speak (Gemini TTS when GEMINI_API_KEY is set, otherwise Edge Read Aloud). Successful runs save under .trellis/media/ as speech assets in the graph for replay from Assets or Design.
Ambient focus: a focus chip shows what surface you are on (whiteboard, file, rail view, agent lane). Pin keeps it across navigation; Exclude drops it for the next send only. Studio injects a bounded [FOCUS v1] block on send. Explicit @ attachments outrank ambient focus.
Turn actions: after a completed turn, shortcut buttons under your prompt jump to files, whiteboards, CMS entries, calendar events, previews, or diffs from that turn's tool calls.
Agent memory and capture {#agent-memory-and-capture}
Agents keep durable facts in the same graph as everything else.
Injected project memory: each turn, Studio adds a <project-memory> block to system context (recent facts plus semantic matches to the prompt).
The memory tool: memory remember, memory recall, memory list. Facts are memory entities scoped to user or project.
Automatic capture in opencode.jsonc under capture (defaults on):
{
"capture": {
"links": true,
"explicitMemory": true,
"researchSources": true,
"personalEvents": true,
},
}
personalEvents watches the calendar tool for all-day birthdays/anniversaries and persists year-stripped facts to user memory.
Trellis enforcement: reminders after CMS and web research tools for ## Graph enrichment / ## Next steps in Trellis. The cms tool rejects empty create_entry calls and formula-only payloads.
Explicit CMS collections: a collection exists only after create_collection registers a TypeSchema with cms=true. Graph types like calendar_event are not CMS collections unless registered. The Database rail lists the same explicit schemas.
Live graph view {#live-graph-view}
Graph is the default session view. Bookmarks with ?view=home redirect to Graph.
Visualize the causal stream. Filter by entity type, time range, or branch. Click an op to see the change it produced.
Rendering: up to 800 nodes use full SVG (icons, labels, drag). Larger graphs use Canvas2D dots with an SVG overlay for hover/selection. Above 15,000 nodes, physics settles then freezes for responsiveness.
Pan and zoom: trackpad scroll pans; pinch or Ctrl/Cmd + scroll zooms. Labels appear when zoomed in past 0.65×. Off-screen panning shows a Return to graph nodes beacon; reopening Graph with a saved off-screen viewport flies back to the cluster. Minimap in the corner for navigation.
Entity sidebar: selecting a file or directory opens Preview, Details, and Activity. Markdown Preview renders the note; YAML frontmatter edits on Details.
Plan → Calendar shares the same CalendarView as the Calendar projection.
Data loads from GET /trellis/graph on the local OpenCode server (authenticated in the Tauri desktop build).
Decision traces, issues, and Idea Garden
- Decision traces first-class why records, searchable precedent. Guide.
- Issues and milestones tasks, criteria, and branches in-graph. Guide.
- Idea Garden abandoned work becomes revivable clusters. Guide.
Publish to the web (cloud)
Cloud workspaces ship static snapshots to https://<slug>.studio.trellis.computer via Publish in the preview or browser panel. Distinct from Share session (transcript link). Full publishing guide.
Desktop app
Trellis Studio ships as a native Tauri build with the same OpenCode sidecar as browser Studio. Use Settings → Server to point at a remote server instead of the bundled sidecar.
Graph, issues, and Trellis panels require a healthy sidecar connection. If the graph is empty, confirm the workspace exists on disk and the sidecar passed its startup health check.
Related
- What's new recent composer, model, and graph updates
- Cloud hosting sandboxes and provisioning
- Cloud AI proxy hosted model routing