Skip to content

Feature Reference

This handbook walks through every feature of PiDeck by UI area: where each button, menu, context menu, and shortcut lives, how to use it, and what it does. New here? Start with the Usage Guide. For settings details see Settings & Skills. Stuck on something? See Troubleshooting.

Interface Map

┌───────────────┬─────────────────────────────────────┬──────────────┐
│  Left sidebar │  Session tab bar / session header    │  Drawer rail │
│  (projects/    │  Message timeline                    │  (Files /    │
│   sessions/    ├─────────────────────────────────────┤   Source     │
│   search/      │  Composer input                      │   control /  │
│   settings)    ├─────────────────────────────────────┤   Trace /    │
│                │  Terminal Dock (optional)            │   Rewind /   │
│                │                                      │   Browser)   │
└───────────────┴─────────────────────────────────────┴──────────────┘
  • Left sidebar: projects, sessions, global search, settings entry.
  • Center: session tabs (multi-tab and split view) + chat timeline + composer + optional terminal.
  • Right drawer: file tree, Git, run trace, checkpoints (rewind), built-in browser.

1. Left Sidebar

Top row

FeatureLocationHow to useNotes
Collapse/expand sidebarPanel icon next to the logoClickToggles the sidebar to a narrow rail; when collapsed, an expand button appears at the left of the session tab bar
New sessionFirst + at the topClick, or Ctrl/Cmd+NOpens the new-session start page (skipped while an input/editor is focused)
Global searchSearch iconClick, or Ctrl/Cmd+FOpens a centered command palette searching sessions and projects; typing also filters the list below

Three pills switch the sidebar view; the selection is remembered:

  • Activity: currently running Agent sessions across projects. Click to preview, double-click to pin, right-click for the menu.
  • Chat: the chat session tree. All sessions (drafts / agents / history / archived) grouped by project.
  • Projects: the project workspace tree — projects, Git worktree workspaces, and their sessions.

Chat view

  • Section title: click to collapse/expand the whole section.
  • + on the right of the title: create a new regular session.
  • Collapse/expand all (chevron icon next to the title): one-click collapse or expand all projects.
  • Section menu: anonymous session, session manager (bulk archive/delete), chat record directory.
  • Session row:
    • Click → preview in the center; double-click → pin as a permanent tab.
    • Status dot: running (yellow) / idle (blue) / error (red).
    • Row badges: backend (pi / DSH / Codex / Claude / OpenCode / imagegen), anonymous, pinned, sub-agent count (click to expand the sub-agent list).
    • / right-click → session menu (below).
    • Drag a session row to the chat area edge → split view.
  • Show more: each project shows the latest 5 sessions by default; click the bottom button to page.
  • Source filter (Filter icon on the project row on hover): filter that project's history by source (pi / codex / claude / opencode / dsh / imagegen…), remembered locally.

Projects view

  • Add project (+ next to the title): pick or type a local directory. The empty state card also has an "Add project" button.
  • Project row: click to expand and select; drag to reorder (persisted); a yellow badge means the directory is missing.
  • Hover actions on a project row:
    • + → new session;
    • → project menu;
    • Filter → source filter.
  • Project menu (right-click or ):
ItemNotes
New: Regular session / Anonymous sessionAnonymous sessions are temporary — not saved, reclaimed on close
Reveal in file managerOpens the system file explorer
Open withOpen the project with a configured external editor / browser
Copy project pathCopies the absolute path
Rename projectOnly top-level regular projects can be renamed
Session managerBulk archive / delete
Skills & Extensions & PromptsProject-level resource management dialog
Filter historySource filter
Refresh projectRescan the directory
Enable/Disable workspaceRegister the project as a Git worktree workspace (non-Git repos will be rejected)
Import sessionImport Codex / Claude / OpenCode local sessions
Delete directory recordDanger zone. Blocked while an Agent is running; worktree children use "Delete workspace"
  • Main workspace row: appears when workspaces are enabled (branch chip + project name).
  • New workspace (+ on "Other workspaces"): creates a Git worktree directory for a branch, letting you work on different branches of the same repo in parallel.
  • Worktree child rows: branch name + directory hint; hover + / behaves like a normal project.

Session menu (right-click / )

ItemNotes
RenameIn-place title edit
Pin / UnpinPin to the top of the tree (persisted)
Duplicate sessionCopy as a new session
Export HTMLExport the session as a web page (not for DSH)
Copy session file path / Open session JSONLDebug helpers; shown when the file exists
Restart sessionRestart the Agent process (running sessions)
Reload sessionOnly for sessions without a live process
Session proxyConfigure a forwarding proxy for this session
RPC logRunning sessions only: record Agent RPC traffic; view in a separate window
Close agent / Delete sessionStop the process / delete the session (with confirmation)
Archive sessionMove to archive; restore or delete in Session Manager

Bottom dock

  • Settings (gear): opens settings; shows a red dot when an update is available.
  • Feedback (bubble icon): opens the feedback page.
  • Website: opens pideck.caoayu.top.
  • Theme toggle: cycles light / dark / follow system / scheduled.

The terminal dock lives at the bottom of the center area, not the sidebar.


2. Center Session Area

Session tab bar

  • New (trailing +): dropdown to create in "Chat area" or any open project.
  • Close: click the tab ×, or middle-click the tab.
  • Tab context menu: pin/unpin, close, close others, close all.
  • Reorder: drag a tab to a target position; drag to the chat area edge to create a split pane.
  • Auto grouping: tabs are grouped by project (separators between groups); newly opened sessions join their project group.
  • Split group pill: click to collapse/expand; right-click to rename (≤24 chars), pick a group color, or un-split.
  • Preview tabs (italic): double-click to promote to a permanent tab.
  • More : stop, restart, reload the current session; below are tool entries (terminal, scratch pad, open-with, etc. — active ones checked).
  • Drawer toggle (panel icon at the right end): opens/closes the right drawer.

Session header

  • Breadcrumb: project / session title; hover for the full name.
  • Anonymous badge: shown for the project-less "Chat area".
  • DSH tools button (DSH sessions with a running Agent): goal (progress/pause/resume/complete/clear/new), sub-agents, skills.
  • Permission preset pill (DSH draft phase): pick a permission preset; locked after activation.
  • Exit split (maximize button on a split pane): leaves split view.

Composer

Sending

  • Round main button at the bottom-right: send arrow when idle; becomes stop while the Agent is busy and the input is empty; spinner in imagegen mode.
  • Shortcut per settings: bare Enter, Ctrl/Cmd+Enter, or Shift+Enter to send; otherwise Enter inserts a newline. In plan mode a bare Enter always sends.

Typing triggers

InputEffect
@File reference: project file tree completion, /dir/ drill-down; picked files become chips (click to inspect/remove)
&Session reference: pick messages from same-project history and inject them into the current conversation

Other input features

  • Paste / drop images: thumbnail shown, click to enlarge, × to remove; large pasted text becomes a "pasted file" chip.
  • Arrow-key history: on the first line and on the last line browse send history; past the last entry restores the current draft.
  • Select message text → floating Quote & ask: appends the selection as a reference chip.

Bottom bar of the composer

  • + menu: attachment (hidden in imagegen), skills, prompt templates, mode switch (normal / goal / plan / imagegen; a × appears when a special mode is active).
  • Model / thinking chip (center): shows model · thinking level. Click for the model picker (search, grouped by provider, favorites, usage badges, refresh) or the thinking picker (off → max). Switching models mid-run applies after the current round ("old → new"); switches that need a restart prompt for confirmation.
  • Backend switcher (bottom-left logo): pi / DSH / imagegen. Locked once the session is active.
  • Safety level (bottom-left): security gate levels (off/standard/strict) for pi; permission presets for DSH.
  • Context ring (next to send): context usage; click to expand: two-segment usage, cache hits, token details, reply performance, usage query, compaction entry.
  • Git branch chip (bottom-right): current branch; switching asks for confirmation.

Queued message card

While the Agent is busy you can keep typing; messages queue. Row buttons:

  • insert into the current round; queue for the next round; send in parallel (opens a separate anonymous session — see Parallel Ask); pull back into the input; × discard.

Stats line

Below the input card: rounds/steps, duration, first-token latency, tps, total tokens, cache hits.

Messages & timeline

  • Hover action bar: copy (main button copies plain text; arrow menu: plain text / Markdown / image), share, edit, delete; user messages also get re-send, fork from here, and rollback-to-here.
  • Exec-process collapsible bar: N tool calls · N thoughts; auto-expanded while streaming, collapsed by default in history; the final answer is always visible.
  • Tool call card: icon + tool name + status (running/succeeded/failed/stopped) + duration + a semantic phrase. Click to expand:
    • File tools: inline diff, "Open file" jumps to the editor;
    • Command output: copy button; "View full output" for long output;
    • Ask cards (ask_question): answer question by question.
  • Security confirmation card: high-privilege tools (file/command) pop "Allow / Deny".
  • Code blocks: copy button; file paths are clickable.
  • Back-to-bottom button: appears at the bottom-right when scrolled away.
  • Outline preview rail (left edge of the session area): vertical strips, hover to preview the title/time, click to jump; updates while streaming. Entries can be dragged to reorder; "Show all" at the bottom.

Info strips (above the composer)

  • Goal strip: current goal + phase (active / paused / blocked), with pause/resume/clear (clear asks confirmation). DSH goal mode.
  • Todo strip: synced from the Agent's todo card, with completed/in-progress counts.
  • Files strip: files modified this round; expand to see diffs, "Save all"; per-row open-file and diff-viewer actions.
  • Sub-agents strip: running sub-agents; "Open sub-session" jumps there, "View full result" opens a dialog.

Parallel ask panel

Triggered by on a queued message. It:

  • creates an anonymous session (separate process, parallel to the current one, no interruption);
  • can carry the current context (visible to the model only);
  • shows the answer in a floating capsule with copy, insert-into-main-composer, follow-up ask, and close (closing reclaims the anonymous process).

Other panels & entries

  • Scratch pad: Ctrl/Cmd+Shift+S (also a tool-rail button). Create/delete notes, Markdown mode, task checkboxes, export to file. Notes follow the session.
  • Trace panel: drawer "Trace" tab — per-round lanes of input/model/tool events.
  • Checkpoints (Rewind): drawer "Checkpoints" tab — see below.
  • Session start page: no messages yet — a large centered composer plus a project switcher.
  • First-trust confirmation: opening a project directory asks "Deny / Trust once / Trust and remember" (adjustable in security settings).

3. Right Drawer

Toggle: button at the right end of the session tab bar; the open/closed state is remembered per project.

Rail (panel switcher): top pills — Files, Source control (when Git management is enabled and a project exists), Trace, Checkpoints (pi-backend only), Built-in browser. Click to open/switch; clicking the open one again closes it.

  • Resize: drag the drawer's left edge (240–560 px, remembered across restarts).
  • Collapse panel (to a thin rail) → to expand.
  • Pin panel (pin icon): remembers the current panel per project; a pinned panel cannot be closed or switched.
  • Close (× or on the panel header).

Files panel

  • File tree: single-click = preview tab (italic, non-editing) in the center; double-click = permanent editing tab; directories collapse/expand on click.
  • Context menu (file/directory/blank): quote into conversation (@ relative path), open with default app, reveal in folder, copy path, paste file here, rename, delete (to recycle bin + confirm).
  • Toolbar: sort (name/mtime/ctime/size + asc/desc), collapse middle packages (deep chains into one row), open folder, refresh, collapse all.
  • Drag & drop: OS files dragged in are copied to the target directory; intra-tree drags move; Ctrl/Cmd+V in the panel pastes clipboard files.

Center file editing

  • Display mode: split (side-by-side) / maximize (fill), via the viewer header; drag the divider to adjust width.
  • Edit tabs: up to 5; double-click a preview tab to promote; × to close.
  • Text editing (CodeMirror): line numbers, code folding, wrap, bracket matching, find (Ctrl+F), JSON validation, comment (Ctrl+/); autosaves 500 ms after edits; Ctrl/Cmd+S saves immediately; unsaved shows .
  • Preview: Markdown (GitHub style + KaTeX), HTML (sandboxed iframe, switchable to the built-in browser), SVG/images/PDF; binaries are rejected; files over 5 MB (configurable) warn.
  • Diff viewer (read-only): split/single pane; open from modified-file lists, commits, or workspace changes.
  • path:line links: open a file at a specific line; right-click selected text → "Quote selection" inserts @path:line into the composer.

Git panel (Source control)

  • Branch switcher (top current-branch button): dropdown to switch; "Create branch" at the bottom to branch and switch; non-Git repos show + (git init).
  • Repo switcher: when multiple repos are found (VS Code SCM style).
  • Changes in three groups: merge conflicts / staged / workspace changes; headers collapse with counts and stage/unstage-all; hovering a directory header offers directory-level stage or discard (with confirmation).
  • Per-file buttons: + stage, unstage, discard (confirmation), 📄 open in center editor; clicking the filename opens the diff; right-click deletes the file (recycle bin + confirm).
  • Toolbar: collapse/expand all, refresh, Push (ahead-count badge; offers a copied git push --set-upstream command when no upstream exists), Pull (behind-count badge).
  • Commit: message box (Ctrl/Cmd+Enter commits) + "Commit" button (stages everything and commits if nothing is staged; remember Yes/Always/Never).
  • AI commit message (✨): generate from staged files (needs staged changes; prompts to configure a model if missing).
  • Commit history graph (lanes): up to 8 lanes and 6 colors. Rows show author/message/branch tag badges; click a row to expand its file list (click a file for diff); hover 500 ms for a detail card (author/email/time/full message/±lines); "Load more" adds 30.
  • Commit row context menu: Cherry-pick, Revert, Soft/Mixed/Hard Reset (confirmation), Drop (danger confirmation).
  • Branch compare: base → target + "Compare" → ahead/behind, file counts, file list (A/D/R/M colored).

Browser panel

  • Address bar: Enter navigates; missing protocol gets https:// prepended.
  • Tabs: + new (defaults to the PiDeck home page), click to switch, × to close; tab state survives drawer/fullscreen toggles.
  • Navigation: back / forward / refresh / home.
  • Device presets: PC / iPhone (mobile UA) / iPad (tablet UA) — switches UA and constrains the viewport.
  • Fullscreen: maximize in the header; click blank space to leave; while fullscreen you can minimize back or close.
  • New windows: http(s) links open a new in-app tab; non-http protocols (mailto etc.) go to the system browser.

Trace panel

Shows the current session's run trace (message/tool events in per-round lanes). Empty state when no session; "Load more" at the bottom.

Checkpoints (Rewind) panel

  • Checkpoint list: automatic (round/tool-triggered) + manual snapshots, newest first: trigger-type badge, tool name/round, relative time, change summary (file count + ±lines).
  • View changes: per-row diff button, expands the diff between that checkpoint and the current workspace.
  • Restore (undo dropdown, three scopes):
    • Files only: workspace files return to the checkpoint (overwrites current changes — irreversible; untracked new files are cleaned; ignored directories unaffected);
    • Conversation only: rolls back conversation content;
    • All: files + conversation; a conversation scope forks into a new session (the original is kept).
    • All restores confirm first.
  • Refresh / Load more: manual refresh and paging.
  • Boundary: pi-backend sessions only; DSH / imagegen say unsupported.

4. Terminal Dock

  • Open/close: the "Terminal" button in the session tab bar's tool area. Ownership: with an Agent = Agent terminal; without = project terminal; switching sessions never leaks across. Not available in LAN web-preview mode.
  • Tabs: + new (current shell); click to switch; × to close (exited shells show "· exited"); "Close all" confirms.
  • Shell picker (header dropdown): PowerShell / CMD / Zsh / Bash / Fish / Sh / Git Bash / WSL; unavailable shells are grayed.
  • Themes (header ): pi-soft (light/dark), Solarized (light/dark), One Dark, Monokai.
  • Collapse/expand: header button; drag to resize (120 px minimum, remembered).
  • Right-click: with a selection = copy (toast).
  • Misc: URLs open in the system browser; 5000 scrollback lines; shell exit codes are shown.

5. Keyboard Shortcuts

ShortcutActionScope
Ctrl/Cmd+NNew sessionGlobal (skipped while an input is focused)
Ctrl/Cmd+FGlobal searchGlobal (in-editor find while an editor is focused)
Ctrl/Cmd+Shift+SToggle scratch padGlobal
Ctrl/Cmd+SSave current fileFile/config editors
Ctrl/Cmd+EnterCommit Git message / send message (per settings)Git panel / composer
EnterSend or newline (per send-shortcut setting)Composer
/ History navigation (cursor on first/last line)Composer
Ctrl+/CommentFile editor
Middle-click a tabClose session tabSession tab bar
Double-click session row / tabPromote preview to permanentSidebar / tab bar
Drag to the chat-area edgeCreate a split viewSession rows / tabs / files

Every button has a tooltip — hover 1–2 seconds to see it. Shortcuts use Ctrl on Windows/Linux and Cmd on macOS.


6. Input Syntax Cheat Sheet

InputEffect
@pathReference a file (@/src/... drill-down)
&keywordReference messages from a past session
Paste/drop an imageAsk with the image (model must support vision)

7. Settings Entry Points

  • System settings (bottom-left gear): appearance, proxy, web service, editors, Git commit, dev/updates, Feishu, desktop pet, storage & logs, usage stats, process monitor, vision bridge, imagegen — see Settings & Skills.
  • Config management (switchable inside the settings dialog): pi / DSH backend models, auth, settings.json, trust, MCP, raw JSON files, security (tool confirmation), extensions, skills, prompts.

For problems, see the Troubleshooting guide.

Released under the MIT License.