Skip to content

Commit ffc9c62

Browse files
authored
docs(readme): redesign README with real Web workbench media (#918)
* docs(readme): redesign README with real Web workbench media - New hero (light/dark via <picture>), demo recording, feature grid, v1.2.0 highlights, screenshot tour and architecture diagram - Screenshots and recording are captured from the real OpenPI Web workbench against a demo repository (scripted local provider) - Same structure for README.zh-CN.md; reference sections unchanged, Defaults table folded into <details> - Media lives in docs/assets/readme/ so it is not shipped in the npm package * chore(assets): remove README images no longer referenced
1 parent 0afae3a commit ffc9c62

18 files changed

Lines changed: 376 additions & 252 deletions

‎README.md‎

Lines changed: 127 additions & 32 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,18 @@
11
<p align="center">
2-
<img src="assets/openpi-product-hero-v2.webp" alt="OpenPI — Build. Delegate. Keep moving. A local Web workbench, isolated subagents, and workflows for Pi." width="100%" />
2+
<a href="https://github.com/openpi-dev/openpi">
3+
<picture>
4+
<source media="(prefers-color-scheme: dark)" srcset="docs/assets/readme/hero-dark.webp">
5+
<source media="(prefers-color-scheme: light)" srcset="docs/assets/readme/hero-light.webp">
6+
<img src="docs/assets/readme/hero-dark.webp" alt="OpenPI — the Pi-native multi-agent workbench. The OpenPI Web workbench showing a parent session that delegated two isolated subagents, next to one subagent's read-only transcript." width="100%">
7+
</picture>
8+
</a>
39
</p>
410

11+
<h3 align="center">Stay on your problem. Let independent work run in parallel.</h3>
12+
513
<p align="center">
6-
<strong>Stay on your problem. Let independent work run in parallel.</strong><br />
7-
OpenPI adds a local Web workbench, isolated-context subagents, and Workflows to <a href="https://pi.dev">Pi</a>.<br />
8-
It keeps your models, tools, and Skills — everyday coding stays light, advanced capabilities unfold when needed.
14+
OpenPI adds isolated subagents, replay-safe Workflows and a local Web workbench to <a href="https://pi.dev">Pi</a> —<br />
15+
inside Pi's own sessions, providers, tools, Skills and Trust. Everyday coding stays light; power unfolds when you ask for it.
916
</p>
1017

1118
<p align="center">
@@ -16,45 +23,34 @@
1623
<a href="LICENSE"><img alt="License: MIT" src="https://img.shields.io/badge/license-MIT-3fb950?style=flat-square"></a>
1724
</p>
1825

19-
```bash
20-
pi install npm:@tt-a1i/openpi
21-
```
22-
2326
<p align="center">
24-
<a href="https://openpi-dev.github.io/openpi/"><strong>Website</strong></a> ·
2527
<a href="#quick-start"><strong>Quick start</strong></a> ·
26-
<a href="USAGE.md"><strong>Detailed reference</strong></a> ·
28+
<a href="#see-it-work"><strong>Tour</strong></a> ·
29+
<a href="https://openpi-dev.github.io/openpi/"><strong>Website</strong></a> ·
30+
<a href="USAGE.md"><strong>Reference</strong></a> ·
31+
<a href="https://github.com/openpi-dev/openpi/releases"><strong>Releases</strong></a> ·
2732
<a href="README.zh-CN.md"><strong>中文</strong></a>
2833
</p>
2934

3035
<p align="center">
3136
<sub>OpenPI is an independent community project, unaffiliated with Physical Intelligence's openpi robotics project and with the Pi team.</sub>
3237
</p>
3338

34-
---
35-
36-
## What OpenPI is
39+
<br />
3740

38-
Pi is deliberately small: an agent loop, tools, sessions, and an extension API. OpenPI is a capability layer that stays inside Pi's lifecycle, sessions, providers, and trust boundaries — not a second agent operating system.
39-
40-
- **Local Web workbench** — manage workspaces and sessions in the browser, and inspect saved prompts, tool arguments, and results. Independent of terminal sessions.
41-
- **Subagents** — delegate self-contained work to in-process Pi sessions with isolated context; results are delivered automatically.
42-
- **Workflows** — multi-phase, multi-agent orchestration with structured results, safe replay, and auditable artifacts.
43-
- **Terminal experience** — a status footer, compact tool results, Plan mode, and session-scoped helpers.
44-
- **Pi-native** — your provider, models, tools, Skills, sessions, and Trust stay in charge; OpenPI only adds capabilities at Pi's extension seams.
41+
<p align="center">
42+
<img src="docs/assets/readme/demo-subagents.webp" alt="Recording of the OpenPI Web workbench: a prompt asks for two parallel audits, two subagents run and complete in the session overview, the parent merges their file:line findings into a prioritized table, and one subagent's transcript opens read-only." width="100%">
43+
<br />
44+
<sub>Real OpenPI Web workbench and real tool calls against a small demo repository. Model replies come from a scripted local provider so the recording is reproducible.</sub>
45+
</p>
4546

4647
## Quick start
4748

4849
```bash
4950
pi install npm:@tt-a1i/openpi
5051
```
5152

52-
Restart Pi, or run `/reload` in the current session. Then describe real work:
53-
54-
```text
55-
Start the dev server in the background with `nohup npm run dev &`, then keep
56-
editing the page; check on it with ordinary process commands when needed.
57-
```
53+
Restart Pi, or run `/reload` in the current session. Then describe real work — the model decides how to split it:
5854

5955
```text
6056
Spawn subagents to check the login flow and its tests in parallel, each with
@@ -66,15 +62,109 @@ Use a workflow to review these modules: collect issues in parallel, verify the
6662
findings, then synthesize what to fix first.
6763
```
6864

69-
The model decides how to split the work; OpenPI provides execution, status, results, and stop controls. Only genuinely independent tasks benefit from parallelism — the gain depends on the task, model, and configuration.
65+
```text
66+
Start the dev server in the background with `nohup npm run dev &`, then keep
67+
editing the page; check on it with ordinary process commands when needed.
68+
```
7069

71-
Prefer a browser? Type `/web` in Pi, open the local address printed in the terminal, pick a model and workspace, and start chatting. Web sessions are independent and never take over a terminal conversation. See [Web workbench](#web-workbench).
70+
Prefer a browser? Type `/web` in Pi and open the local address printed in the terminal. Web sessions are independent and never take over a terminal conversation. Configure OpenPI itself in plain language with `/openpi-setup`.
71+
72+
OpenPI provides execution, status, results and stop controls. Only genuinely independent tasks benefit from parallelism — the gain depends on the task, model and configuration.
73+
74+
## Why OpenPI
75+
76+
Pi is deliberately small: an agent loop, tools, sessions and an extension API. OpenPI is a capability layer that stays inside Pi's lifecycle, sessions, providers and trust boundaries — not a second agent operating system.
77+
78+
<table>
79+
<tr>
80+
<td width="33%" valign="top">
81+
<h4>Isolated subagents</h4>
82+
Delegate self-contained work to in-process Pi sessions with their own context. They run concurrently and report back automatically — optionally in their own Git worktree.
83+
</td>
84+
<td width="33%" valign="top">
85+
<h4>Replay-safe workflows</h4>
86+
Script multi-phase, multi-agent runs with <code>phase</code>, <code>agent</code>, <code>parallel</code> and <code>pipeline</code>. Structured results, a journal, safe replay and auditable artifacts.
87+
</td>
88+
<td width="33%" valign="top">
89+
<h4>Local Web workbench</h4>
90+
Workspaces, sessions, changes, files and a trajectory inspector for every model and tool call — in a browser, authenticated, on your machine.
91+
</td>
92+
</tr>
93+
<tr>
94+
<td width="33%" valign="top">
95+
<h4>Plan mode &amp; human input</h4>
96+
<code>/plan</code> researches read-only, then turns an explicit Plan Ready into implementation. <code>ask_user</code> and <code>human_handoff</code> collect decisions only you can make.
97+
</td>
98+
<td width="33%" valign="top">
99+
<h4>Semantic navigation</h4>
100+
A bundled Skill asks an existing local language server for definitions, references and diagnostics — on demand, never started on launch.
101+
</td>
102+
<td width="33%" valign="top">
103+
<h4>Pi-native and quiet</h4>
104+
Your provider, models, tools, Skills and Trust stay in charge. A fixed resident tool set, no theme or model changes on install, no extra model calls by default.
105+
</td>
106+
</tr>
107+
</table>
108+
109+
### New in v1.2.0
110+
111+
- **Semantic navigation Skill** for definitions, references and single-file diagnostics through a local language server. ([#916](https://github.com/openpi-dev/openpi/pull/916))
112+
- **Context composition** in the Web usage popover: system text, tool declarations and conversation of the latest call. ([#914](https://github.com/openpi-dev/openpi/pull/914))
113+
- **Trajectory overview** with context/model/tool tracks, search and a per-call inspector, plus a refreshed workbench, themes and model picker. ([#868](https://github.com/openpi-dev/openpi/pull/868), [#894](https://github.com/openpi-dev/openpi/pull/894), [#904](https://github.com/openpi-dev/openpi/pull/904), [#865](https://github.com/openpi-dev/openpi/pull/865))
114+
- **Quoted review and plan snippets keep their source** (repository, comparison, revision or session). ([#915](https://github.com/openpi-dev/openpi/pull/915))
115+
- **↑/↓ prompt history** in the Web composer, and **custom thinking levels** for custom models. ([#912](https://github.com/openpi-dev/openpi/pull/912), [#864](https://github.com/openpi-dev/openpi/pull/864))
116+
- CI now covers the **minimum and latest supported Pi hosts**. ([#719](https://github.com/openpi-dev/openpi/pull/719)) — [Full release notes](https://github.com/openpi-dev/openpi/releases/tag/v1.2.0)
117+
118+
## See it work
72119

73-
Configure OpenPI's own preferences through natural language:
120+
<p align="center">
121+
<picture>
122+
<source media="(prefers-color-scheme: dark)" srcset="docs/assets/readme/shot-subagents-dark.webp">
123+
<source media="(prefers-color-scheme: light)" srcset="docs/assets/readme/shot-subagents-light.webp">
124+
<img src="docs/assets/readme/shot-subagents-dark.webp" alt="OpenPI Web workbench: the parent conversation lists two subagents and a prioritized table of findings; the right pane shows the audit-login-flow subagent's completed transcript, read-only." width="100%">
125+
</picture>
126+
<br />
127+
<sub><b>Delegate, keep working, inspect.</b> The parent stays free while two isolated subagents audit code; open any child's transcript read-only.</sub>
128+
</p>
74129

75-
```text
76-
/openpi-setup
77-
```
130+
<table>
131+
<tr>
132+
<td width="33%" valign="top">
133+
<picture>
134+
<source media="(prefers-color-scheme: dark)" srcset="docs/assets/readme/shot-changes-dark.webp">
135+
<source media="(prefers-color-scheme: light)" srcset="docs/assets/readme/shot-changes-light.webp">
136+
<img src="docs/assets/readme/shot-changes-dark.webp" alt="Changes pane with a unified diff of src/auth/session.ts next to the conversation that made the edit." width="100%">
137+
</picture>
138+
<p align="center"><sub><b>Review every change</b><br />Working-tree diffs beside the turn that made them.</sub></p>
139+
</td>
140+
<td width="33%" valign="top">
141+
<picture>
142+
<source media="(prefers-color-scheme: dark)" srcset="docs/assets/readme/shot-trajectory-dark.webp">
143+
<source media="(prefers-color-scheme: light)" srcset="docs/assets/readme/shot-trajectory-light.webp">
144+
<img src="docs/assets/readme/shot-trajectory-dark.webp" alt="Trajectory view with context, model and tool tracks and an inspector showing the arguments and result of a subagent_spawn call." width="100%">
145+
</picture>
146+
<p align="center"><sub><b>Trace every call</b><br />Context, model and tool tracks with a per-call inspector.</sub></p>
147+
</td>
148+
<td width="33%" valign="top">
149+
<picture>
150+
<source media="(prefers-color-scheme: dark)" srcset="docs/assets/readme/shot-context-dark.webp">
151+
<source media="(prefers-color-scheme: light)" srcset="docs/assets/readme/shot-context-light.webp">
152+
<img src="docs/assets/readme/shot-context-dark.webp" alt="Session overview popover with context usage, observed system prompt, tool and conversation sizes, and session token totals." width="100%">
153+
</picture>
154+
<p align="center"><sub><b>Know your context</b><br />What the latest call actually sent, and session totals.</sub></p>
155+
</td>
156+
</tr>
157+
</table>
158+
159+
## How it fits together
160+
161+
<p align="center">
162+
<picture>
163+
<source media="(prefers-color-scheme: dark)" srcset="docs/assets/readme/architecture-dark.svg">
164+
<source media="(prefers-color-scheme: light)" srcset="docs/assets/readme/architecture-light.svg">
165+
<img src="docs/assets/readme/architecture-light.svg" alt="Diagram: the Pi terminal and the OpenPI Web workbench each drive a parent Pi session that keeps your provider, models, tools, Skills and Trust, with a fixed resident set of five subagent and three workflow tools. The parent delegates to Pi Bash for long-running processes, to subagents, or to workflows; results flow back to the parent automatically." width="100%">
166+
</picture>
167+
</p>
78168

79169
## Light by default
80170

@@ -227,6 +317,9 @@ Safety here is a runtime constraint, not a prompt.
227317
228318
### Defaults
229319
320+
<details>
321+
<summary><strong>All defaults</strong> — every setting starts here; staying at defaults creates no file.</summary>
322+
230323
| Setting | Default |
231324
| --- | --- |
232325
| Code Mode (`code_mode_enabled`) | Off; opt in via `/openpi-setup` |
@@ -254,6 +347,8 @@ Safety here is a runtime constraint, not a prompt.
254347
| Post-edit command | Off; a single command of at most 500 characters |
255348
| Built-in role models | All inherit the parent model |
256349
350+
</details>
351+
257352
<!-- config-contract: codeMode.enabled webSearch.enabled webSearch.modelSupport response.verbosity response.reasoningSummary suggestions.enabled suggestions.model workflows.concurrency workflows.maxAgentCalls childExecutions childExecutions.maxActive browser.control browser.embedded browser.defaultBrowser browser.externalBrowsers ui.webTheme ui.webAppearance ui.webChatWidth ui.webSidebarWidth ui.webAuxiliaryWidth ui.webChatFontSize ui.webExpandThinking ui.webFollowUpBehavior ui.webHiddenThinkingLevels ui.webPinnedSort ui.webSidebarGrouping ui.webChatsSort ui.webProjectsInRecents ui.showHeader ui.customFooter ui.footerStyle ui.footerLines ui.subagentResultDisplay ui.bashToolDisplay ui.fileMutationDisplay postEdit.command subagents.roleModels -->
258353
259354
Settings → General saves the follow-up default in `ui.webFollowUpBehavior`. The composer override and Command/Ctrl+Enter change only one message. After the active turn ends, the next explicit submit starts a normal turn; the draft is never sent automatically. `/openpi-setup` edits the same preference.

0 commit comments

Comments
 (0)