You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: README.md
+27-3Lines changed: 27 additions & 3 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -564,6 +564,28 @@ never terminated. Port binding and asset validation happen before
564
564
configuration-heavy session restoration, so conflicts and broken installations
565
565
fail quickly without unrelated restore warnings.
566
566
567
+
Open a workspace artifact or local development server from inside the TUI:
568
+
569
+
```text
570
+
/preview site/index.html
571
+
/preview docs/Product brief.pdf
572
+
/preview localhost:5173
573
+
/preview status
574
+
/preview stop
575
+
```
576
+
577
+
`/preview` reuses a compatible managed Web instance for the current workspace
578
+
or starts one on an ephemeral loopback port. It opens Work's persistent preview
579
+
panel in a native `a3s-webview` window when available and uses the system browser
580
+
as a fallback. Replacing a preview, `/preview stop`, and TUI exit close only the
581
+
exact native preview window; the shared Web service remains running. A browser
582
+
fallback is user-owned and cannot be closed safely by the TUI.
583
+
584
+
Inside `/ide`, press `p` on the selected workspace item. In an open editor, run
585
+
`:preview`; a dirty buffer is saved through the normal workspace path before
586
+
the preview opens. Static sites reload after debounced workspace changes, while
587
+
loopback URLs retain their development server's own navigation and HMR.
588
+
567
589
Web tasks, visible messages, titles, goals, effort, model selection, and
568
590
execution mode are saved under `~/.a3s/code-web` and restored before the API
569
591
starts accepting requests. Set `A3S_CODE_WEB_STATE_DIR` to isolate that store.
@@ -872,6 +894,7 @@ input prefixes:
872
894
/tasks
873
895
/permissions
874
896
/ide
897
+
/preview site/index.html
875
898
/login
876
899
/agent
877
900
/mcp
@@ -893,7 +916,7 @@ input prefixes:
893
916
| Coding loop | Chat with the coding agent, stream semantic tool cards, choose Default, Plan, or Auto execution, inspect and control pending follow-ups with `/queue`, and inspect or safely cancel delegated work with `/tasks` or `Ctrl+B`. Run direct shell turns with `!`, run a durable Ultracode `/goal`, and fork, rewind, or clear sessions when needed. `/relay` pins the current session, searches a bounded 64-row catalog per source, preserves semantic selection across refreshes, shows saved state, model, age, unfinished runs, and live background-agent counts, or hands the latest task from a workspace-scoped external transcript to the active session. |
894
917
| Permission review | Gated calls enter a FIFO approval queue backed by the authoritative tool name and arguments. The overlay can allow once, grant that exact capability for the current session, atomically add the reviewed capability to `.a3s/permissions.acl`, or collect denial feedback for the agent. `/permissions` searches session and project grants, opens their canonical arguments, and revokes only after a second matching action. Project rules are bounded, parsed and generated with `a3s-acl`, reject symbolic-link targets, and remain narrower than hard workspace guardrails. Revocation affects future checks, not tools already running. |
895
918
| Execution modes | Default runs bounded workspace file changes directly. A shared Rust guardrail silently admits a narrow, proven read-only host Bash subset; unproven commands, protected metadata, mutating Git operations, and annotated external side effects enter HITL, while critical commands fail closed. Plan exposes only read-only discovery tools and denies Bash. Auto never enters HITL: it admits only Rust-proven read-only Bash and denies other host commands, protected metadata, and mutating Git operations. A queued turn retains the mode captured when it was submitted. |
896
-
| Workspace UI |`/ide` opens a superfile-style tree and editor with terminal-stable file marks, `/config` edits the active config in the same editor, `Ctrl+T` opens the complete semantic transcript, and file edits render bounded diffs through the shared `DiffView` component. Diff headers use green `+N` and red `-N` counts; Markdown uses Codex-spaced section headings, responsive tables, syntax highlighting, and terminal hyperlinks. |
919
+
| Workspace UI |`/ide` opens a superfile-style tree and editor with terminal-stable file marks, `p` previews the selected item, and `:preview` saves and previews the open buffer. `/preview <path\|localhost-url>` opens the same persistent Work surface from the transcript. `/config` edits the active config in the shared editor, `Ctrl+T` opens the complete semantic transcript, and file edits render bounded diffs through the shared `DiffView` component. |
897
920
| Models and effort |`/model` switches configured providers, OS gateway models, and signed-in account tabs. Codex account discovery delegates refresh and entitlement checks to the installed Codex CLI, so an expired identity token does not hide models while reusable account access remains. WorkBuddy `hy3` tagged calls are converted into native tool events without exposing protocol markup in streamed messages. `/effort` scales thinking budget, tool-round budget, auto-continuation, and model-agnostic rigor guidance from `low` through `max` and `ultracode`. A3S Code 5.2.4 structured calls use native JSON Schema or forced-tool output only when the active client advertises that capability; unknown custom OpenAI-compatible endpoints retain the bounded prompt fallback instead of receiving an assumed `tool_choice`. |
898
921
| Dynamic workflows |`ultracode` and `?` DeepResearch can use `DynamicWorkflowRuntime`, a local A3S Flow-backed workflow runner. It records workflow/step history while PTC scripts perform ordinary tool work. This is separate from `/flow`, which is OS Workflow as a Service for persisted workflow assets. |
899
922
| Local and remote parallelism | Local subagent fan-out uses the host-side `parallel_task` tool. QuickJS/PTC scripts do not call `parallel_task` directly; dynamic workflows schedule a Flow step named `parallel_task`, and the host executes it natively. After `/login`, the signed-in `runtime` tool is available to workflow steps and model turns for OS Runtime batch execution. |
@@ -1038,6 +1061,7 @@ permissions, tools, panels, and follow-up evidence are needed.
1038
1061
| --- | --- | --- |
1039
1062
| Repository orientation | Start with `/init`, ask for a map of the codebase, attach files with `@`, and open `/ide` when you need to browse or edit directly. |`/init`, `/ide`, `@<path>`, `/ctx`, `/help`|
1040
1063
| Focused coding | Ask for a change, review streamed reads/searches/diffs, approve gated writes, and let the agent run focused checks before summarizing what changed. | Tool cards, approval overlay, `DiffView`, `Ctrl+T`, `! <command>`|
1064
+
| Artifact inspection | Keep a static site, local development server, document, image, PDF, or source file visible in Work while coding continues; use the IDE shortcuts when already browsing or editing. |`/preview <target>`, `/preview status`, `/preview stop`, IDE `p`, editor `:preview`|
1041
1065
| Debugging and verification | Let the model inspect logs, grep call sites, run shell or test commands, and keep the exact tool evidence visible in the semantic transcript. |`grep`, `read`, `bash`, `git`, `Ctrl+T`, `a3s top`|
1042
1066
| Context carry-over | Search previous sessions, attach relevant transcript windows, save durable facts, and compact when the context meter gets high. |`/ctx <query>`, `/ctx <n>`, `/ctx save <n>`, `/memory`, `/sleep`, `/compact`|
1043
1067
| Deep work | Raise `/effort`, use `ultracode` for complex turns, and let the host decide whether planning, goal tracking, dynamic workflow execution, or parallel fan-out is justified. |`/effort`, `/goal`, `dynamic_workflow`, `task`, `parallel_task`|
@@ -1127,7 +1151,7 @@ cells adding or doubling their own outer padding.
1127
1151
| System agent island | Enabled by default. `/island on`, `/island off`, and `/island status` persist or inspect the user preference, and the expanded island also offers `Turn off`. A fresh exact non-idle A3S lifecycle or recognized coding-agent process requests one native per-user window at the physical screen's top center; the shared lock prevents multiple `a3s code` TUIs from rendering duplicate islands. On notched Macs, native safe-area geometry makes the surface meet the physical top edge while its compact content occupies the two unobstructed side wings. A dedicated handle moves the window; periodic centering stops after a successful drag, and expand/collapse preserves the moved surface's top-center. Live `All`, `Needs you`, `Running`, and `Recent` filters preserve parent context and show direct-child progress. Every row shows state and elapsed time with an original vendor-colored robot; terminal durations freeze. Exact approval rows display a bounded reason, expose larger `Allow` / `Always` / `Deny` controls, and offer a direct reply composer; live parent rows can also accept replies or expose `Stop`, while running children may expose `Cancel`. Recognized Codex and other process-only rows are labeled `detected / process`, count as running evidence, trigger and keep the island visible, and never receive controls. Any exact planning/working row or recognized process enables the diffuse multicolor neon breathing border. The standalone Tao/Wry helper embeds offline HTML/CSS/JavaScript and does not use the GUI crate, React, or Next.js. Standard Wayland compositors may constrain exact global placement. |
1128
1152
| Tool calls | Live tool status appears inline while running. Inline `program` calls summarize structured intent, research scope, workflow phase, and completed nested-call results instead of repeating JavaScript wrapper source. |
1129
1153
| Semantic transcript |`Ctrl+T` opens the complete live session transcript in a dedicated full-width viewport, preserving user-surface, tool-state, and diff colors while showing reasoning, plans, every tool lifecycle and full output, subagent state, and the current live Markdown tail. |
1130
-
| Workspace editor |`/ide` opens a full-screen file browser/editor. `/config` reuses the editor for the active ACL config. Both surfaces use terminal-safe, type-aware file and folder sigils, semantic icon colors, aligned disclosure rows, icon-bearing breadcrumbs, and a ruled line-number gutter while keeping edits inside the workspace backend and normal permission path. |
1154
+
| Workspace editor |`/ide` opens a full-screen file browser/editor. Press `p` on a workspace-tree item to open Live Preview, or use `:preview` in the editor to save a dirty buffer and preview it. `/config` reuses the editor for the active ACL config. These surfaces keep edits and preview targets inside the workspace backend and normal permission path. |
1131
1155
| Memory and knowledge |`/memory` opens the durable memory graph. `/ctx` searches past sessions and can attach or save hits. `/kb` opens the local personal knowledge vault. `/okf` manages shareable knowledge packages. |
1132
1156
| Asset panels |`/agent`, `/mcp`, `/skill`, and `/okf` keep an active local asset visible while you iterate. `/flow` selects or drafts workflow DAG assets for OS Workflow as a Service rather than entering a persistent local dev mode. |
1133
1157
| Operations panels |`/model`, `/effort`, `/history`, `/tasks`, `/permissions`, `/loop`, `/plugin`, `/theme`, `/help`, `/terminal`, and asset `activity` commands open focused panels or diagnostics without losing the current conversation. |
@@ -1143,7 +1167,6 @@ Key interactions:
1143
1167
|`Up` / `Down`| Recall input history or move through menus/panels. |
1144
1168
|`PgUp` / `PgDn`| Scroll the transcript or the active full-screen panel. |
1145
1169
|`Shift+End`| Jump to the latest transcript output. |
1146
-
|`Ctrl+R`| Fuzzy-search prompts from the current session without replacing the current draft until a result is accepted. Press it again to cycle matches. |
1147
1170
|`Ctrl+T`| Open the complete live semantic session transcript, including full tool output and the current streaming tail. |
|`Ctrl+B`| Open or close delegated-task control without interrupting the parent turn. |
@@ -1650,6 +1673,7 @@ These commands are available outside the asset-specific flows:
1650
1673
|`/theme`| Cycle syntax highlighting themes. |
1651
1674
|`/login` / `/logout`| Sign in or out of the configured OS account; login registers OS capabilities and the `runtime` tool. |
1652
1675
|`/ide`| Open the workspace file browser and editor. |
1676
+
|`/preview <path\|localhost-url>`| Open the target in Work's persistent Live Preview. `/preview status` reports the tracked window and `/preview stop` closes only the owned native window, leaving the shared Web service running. |
1653
1677
|`/memory`| Browse durable memory as an event/entity graph with tiers, aliases, relations, conflicts, and forget candidates. |
1654
1678
|`/evolution`| Review LLM-authored reusable preferences, Skills, and OKF candidates; inspect evidence, activation state, audit history, and immutable versions; save, reject, reconsider, restore a version, or return to the unmaterialized baseline. Mature conflict-free candidates may save locally automatically, but are never published. |
1655
1679
|`/ctx <query>`| Search past ctx-indexed sessions. |
0 commit comments