diff --git a/docs/ecosystem/computer/ai/_category_.json b/docs/ecosystem/computer/ai/_category_.json index cb879cd7..dc681cf8 100644 --- a/docs/ecosystem/computer/ai/_category_.json +++ b/docs/ecosystem/computer/ai/_category_.json @@ -1,4 +1,4 @@ { - "label": "AI & coding agents", - "position": 6 + "label": "AI & coding agents", + "position": 7 } diff --git a/docs/ecosystem/computer/automate/_category_.json b/docs/ecosystem/computer/automate/_category_.json index 44a90dfb..2f351d7a 100644 --- a/docs/ecosystem/computer/automate/_category_.json +++ b/docs/ecosystem/computer/automate/_category_.json @@ -1,4 +1,4 @@ { - "label": "Automate & integrate", - "position": 7 + "label": "Automate & integrate", + "position": 8 } diff --git a/docs/ecosystem/computer/choose.md b/docs/ecosystem/computer/choose.md index f57373c2..9460f45a 100644 --- a/docs/ecosystem/computer/choose.md +++ b/docs/ecosystem/computer/choose.md @@ -1,6 +1,6 @@ --- title: "Computer, Open WebUI, or Open Terminal?" -sidebar_position: 12 +sidebar_position: 13 --- # Computer, Open WebUI, or Open Terminal? diff --git a/docs/ecosystem/computer/faq.md b/docs/ecosystem/computer/faq.md index 73983dc2..4015979a 100644 --- a/docs/ecosystem/computer/faq.md +++ b/docs/ecosystem/computer/faq.md @@ -1,6 +1,6 @@ --- title: FAQ -sidebar_position: 11 +sidebar_position: 12 --- # FAQ diff --git a/docs/ecosystem/computer/index.md b/docs/ecosystem/computer/index.md index 2161a868..030c4285 100644 --- a/docs/ecosystem/computer/index.md +++ b/docs/ecosystem/computer/index.md @@ -33,6 +33,7 @@ That's the install. It prints a one-time setup link, you create your account, op | I want to… | Go to | | --- | --- | | See it working in two minutes | [Quickstart](/ecosystem/computer/quickstart) | +| See what people actually do with it | [Use cases](/ecosystem/computer/use-cases/) | | Use it from my phone, away from home | [Phone & remote access](/ecosystem/computer/phone-and-remote/) | | Keep terminals and agents running after I close the tab, or when the machine reboots | [Keep it running](/ecosystem/computer/phone-and-remote/keep-it-running) | | Use the Claude Code / Codex / Cursor subscription I already pay for | [Coding agents](/ecosystem/computer/ai/coding-agents) | diff --git a/docs/ecosystem/computer/install/_category_.json b/docs/ecosystem/computer/install/_category_.json index 874082cc..7beca9fb 100644 --- a/docs/ecosystem/computer/install/_category_.json +++ b/docs/ecosystem/computer/install/_category_.json @@ -1,4 +1,4 @@ { - "label": "Installation", - "position": 3 + "label": "Installation", + "position": 4 } diff --git a/docs/ecosystem/computer/operate/_category_.json b/docs/ecosystem/computer/operate/_category_.json index 9f5713c8..8585a6fd 100644 --- a/docs/ecosystem/computer/operate/_category_.json +++ b/docs/ecosystem/computer/operate/_category_.json @@ -1,6 +1,6 @@ { "label": "Operate", - "position": 8, + "position": 9, "collapsible": true, "collapsed": true, "link": { diff --git a/docs/ecosystem/computer/phone-and-remote/_category_.json b/docs/ecosystem/computer/phone-and-remote/_category_.json index 36cce7a0..84f88ad7 100644 --- a/docs/ecosystem/computer/phone-and-remote/_category_.json +++ b/docs/ecosystem/computer/phone-and-remote/_category_.json @@ -1,4 +1,4 @@ { - "label": "Phone & remote access", - "position": 4 + "label": "Phone & remote access", + "position": 5 } diff --git a/docs/ecosystem/computer/reference/_category_.json b/docs/ecosystem/computer/reference/_category_.json index a715193e..fe62c8c8 100644 --- a/docs/ecosystem/computer/reference/_category_.json +++ b/docs/ecosystem/computer/reference/_category_.json @@ -1,6 +1,6 @@ { "label": "Reference", - "position": 9, + "position": 10, "collapsible": true, "collapsed": true, "link": { diff --git a/docs/ecosystem/computer/troubleshooting.md b/docs/ecosystem/computer/troubleshooting.md index b849a69a..a7146226 100644 --- a/docs/ecosystem/computer/troubleshooting.md +++ b/docs/ecosystem/computer/troubleshooting.md @@ -1,6 +1,6 @@ --- title: Troubleshooting -sidebar_position: 10 +sidebar_position: 11 --- # Troubleshooting diff --git a/docs/ecosystem/computer/use-cases/_category_.json b/docs/ecosystem/computer/use-cases/_category_.json new file mode 100644 index 00000000..3630af7a --- /dev/null +++ b/docs/ecosystem/computer/use-cases/_category_.json @@ -0,0 +1,6 @@ +{ + "label": "Use cases", + "position": 3, + "collapsible": true, + "collapsed": true +} diff --git a/docs/ecosystem/computer/use-cases/a-folder-that-follows-you.md b/docs/ecosystem/computer/use-cases/a-folder-that-follows-you.md new file mode 100644 index 00000000..87363770 --- /dev/null +++ b/docs/ecosystem/computer/use-cases/a-folder-that-follows-you.md @@ -0,0 +1,32 @@ +--- +title: "A project folder that follows you" +sidebar_position: 8 +--- + +# A project folder that follows you + +A thesis chapter, a research project, a zine: twelve PDFs, a pile of notes, screenshots from your phone, and ideas that arrive on the bus. None of this needs a terminal or git. It needs one real folder that's the same folder no matter which device you're holding. + +**You need:** the quickstart done with the project folder as a workspace, remote access if you want it beyond the house ([Tailscale](/ecosystem/computer/phone-and-remote/tailscale)), and the [PWA installed](/ecosystem/computer/phone-and-remote/phone-app) on your phone. + +## The walkthrough + +1. **Give the project a shape.** In the file browser, make `sources/`, `notes/`, and `drafts/`. Drop the PDFs into `sources/`; drag-and-drop upload works, and PDFs, images, and Office files preview right in the editor. + +2. **Keep one live note.** Create `notes/next.md` with what you're doing and what's next. It opens in a tab beside the PDF you're reading, and it's the first thing you see when you come back tomorrow, on any device. + +3. **Capture from your phone.** Found a relevant article while out? Use the OS share sheet → Computer, and choose whether it lands as a note, a chat draft, or a file import into the folder you configured in **Settings → PWA**. A thought instead of a link? Record a voice memo; it's saved into the workspace, with a transcript if [speech-to-text is configured](/ecosystem/computer/ai/voice-and-audio). + +4. **Let AI read the pile, if you want.** With a model connected, ask in the workspace chat: + + > Read sources/kim2024.pdf and sources/tanaka2023.pdf. Where do their conclusions disagree? Don't edit any files. + + Mention files precisely with `@`. The answer sits in the chat history next to the sources it came from, and chats are just files in the workspace's `.cptr/` folder, so they travel with the project. + +5. **Find it all later.** **Cmd+K** searches file names, contents, and chat history in the workspace. "That thing the second paper said about sample size" is findable even when you can't remember which paper. + +## What makes this work + +Everything is plain files in one folder on your machine: the sources, the notes, the memos, even the AI conversations. No app silo, no sync service, no export lock-in. Back up the folder and you've backed up the project. If sensitive documents shouldn't leave the machine, don't connect a hosted model; the folder, previews, notes, and search all work with no AI at all. + +**Go deeper:** [Notes and sharing](/ecosystem/computer/workspace/notes-and-sharing) · [Files and editor](/ecosystem/computer/workspace/files-and-editor) · [Search and chats](/ecosystem/computer/workspace/search-and-chats) diff --git a/docs/ecosystem/computer/use-cases/fix-from-your-phone.md b/docs/ecosystem/computer/use-cases/fix-from-your-phone.md new file mode 100644 index 00000000..820fab53 --- /dev/null +++ b/docs/ecosystem/computer/use-cases/fix-from-your-phone.md @@ -0,0 +1,36 @@ +--- +title: "Ship a fix from your phone" +sidebar_position: 2 +--- + +# Ship a fix from your phone + +A user reports that the signup form rejects valid emails. You're on a train. The repo, the branch you were working on, and the dev database are all on the machine at your desk. Instead of waiting two hours or rebuilding the context in some cloud IDE, you open the machine itself. + +**You need:** the [quickstart](/ecosystem/computer/quickstart) done on the desk machine, [Tailscale](/ecosystem/computer/phone-and-remote/tailscale) (or another remote route) set up, and ideally the [PWA installed](/ecosystem/computer/phone-and-remote/phone-app) so this is one tap. About 15 minutes of setup, once. + +## The walkthrough + +1. **Open the workspace.** Tap the home-screen icon, sign in if your session expired, and pick the project workspace. Your tabs and layout are exactly as you left them, including the terminal from this morning. + +2. **Confirm where you are.** The git strip at the bottom shows the branch and any uncommitted changes. If the working tree has changes you left behind, look at the diff before touching anything; they're real files, not a sandbox. + +3. **Reproduce it.** Open a terminal tab and run the focused test or a quick check: + + ```bash + npm test -- --grep "email validation" + ``` + + Terminal output persists, so if the run is slow you can lock the phone and come back to it. + +4. **Make the edit.** Find the file with **Cmd+K** search (the on-screen search button on mobile), open it in the editor, and fix the regex. Syntax highlighting and tabs work the same as on desktop; the screen is just smaller. + +5. **Verify and commit.** Re-run the test, then open the git panel: review the diff (split or unified view), stage just that file, and commit. Computer can suggest a commit title and description from the staged change. Push if the branch is yours to push. + +6. **Or hand it to the AI.** If the fix is bigger than a one-liner, open the chat, mention the file with `@`, and describe the bug. Keep approval mode on **ask** and approve each edit from the tool cards. See [approvals](/ecosystem/computer/ai/approvals-and-plan-mode). + +## What makes this work + +The terminal, editor, and git panel are all talking to the same real checkout, so there is nothing to sync and no second environment to trust. The risky parts (an unfamiliar diff, a push) sit behind the same review you'd do at your desk, just on a smaller screen. For anything genuinely heavy, leave the branch ready and finish on the desktop later; the workspace will be waiting. + +**Go deeper:** [Git](/ecosystem/computer/workspace/git) · [Terminals](/ecosystem/computer/workspace/terminals) · [Phone & remote access](/ecosystem/computer/phone-and-remote/) diff --git a/docs/ecosystem/computer/use-cases/index.md b/docs/ecosystem/computer/use-cases/index.md new file mode 100644 index 00000000..5f544892 --- /dev/null +++ b/docs/ecosystem/computer/use-cases/index.md @@ -0,0 +1,20 @@ +--- +title: "Use cases" +sidebar_position: 1 +--- + +# What people actually do with it + +Seven real workflows, written as steps you can follow today. Each one tells you what to set up first and what you'll see when it works. + +| The moment | The walkthrough | +| --- | --- | +| A bug report lands while you're on the train. The branch is on your desk machine. | [Ship a fix from your phone](./fix-from-your-phone) | +| Claude Code is mid-refactor at home and hits a decision it shouldn't make alone. | [Supervise a coding agent from anywhere](./supervise-a-coding-agent) | +| You want to ask your computer "did the build pass?" from a chat app, not a browser. | [Message your computer from Telegram](./message-your-computer) | +| The test suite should run every morning and tell you only when it matters. | [A morning check that reports to you](./scheduled-morning-checks) | +| The layout looks fine in devtools' phone emulator. You've been burned by that before. | [Test your dev server on a real phone](./test-on-a-real-device) | +| You love Open WebUI as your chat home, but the answer lives in a real repo. | [Give Open WebUI real hands](./open-webui-hands) | +| A research project scattered across PDFs, notes, and voice memos on two devices. | [A project folder that follows you](./a-folder-that-follows-you) | + +All of them assume the two-minute [quickstart](/ecosystem/computer/quickstart) is done. Most of the remote ones also want [Tailscale](/ecosystem/computer/phone-and-remote/tailscale) and [keep it running](/ecosystem/computer/phone-and-remote/keep-it-running) in place; each page says exactly what it needs. diff --git a/docs/ecosystem/computer/use-cases/message-your-computer.md b/docs/ecosystem/computer/use-cases/message-your-computer.md new file mode 100644 index 00000000..f2840ce6 --- /dev/null +++ b/docs/ecosystem/computer/use-cases/message-your-computer.md @@ -0,0 +1,38 @@ +--- +title: "Message your computer from Telegram" +sidebar_position: 4 +--- + +# Message your computer from Telegram + +You're out, and you want to know whether the build you kicked off actually passed, without opening a laptop or even a browser tab. So you text your computer like it's a person: + +> did the build in ~/code/api finish? paste the last few lines if it failed + +and it answers, because "it" is the full agent running in that workspace. + +**You need:** the quickstart done, an [AI model connected](/ecosystem/computer/ai/), and five minutes for the bot. No tunnel or public URL; Telegram long-polls outward. (Discord, Slack, and Signal work the same way; WhatsApp needs a public webhook. See [messaging bots](/ecosystem/computer/automate/messaging-bots) for those.) + +## The walkthrough + +1. **Create the bot.** Message [@BotFather](https://t.me/BotFather) on Telegram, send `/newbot`, name it, and copy the token. + +2. **Add it to Computer.** In **Settings → Admin → Bots**, create a bot, choose Telegram, paste the token, and hit **Verify**. + +3. **Lock it to you.** Put your numeric Telegram user ID in **Allowed senders** (a bot like @userinfobot tells you your ID). This is the step people skip and shouldn't: an empty list answers anyone who finds the bot, and bot messages run with full tool approval. + +4. **Pick its home.** Select the workspace and model the bot starts in, then start it. + +5. **Talk to it.** Ask the build question. You'll see the reply stream in as the agent works: tool activity lines first, then the answer. Useful commands mid-conversation: + + - `/workspace api` to switch projects + - `/new` for a fresh chat, `/stop` to cancel a runaway task + - `/model` to switch models on the fly + +6. **Pick it up later in the browser.** Every bot conversation is a real chat in that workspace; it's in the sidebar when you're back at a screen, with the full history. + +## What makes this work + +The bot isn't a notification shim; it's the same agent loop the web chat uses, with file, terminal, and tool access in the workspace you chose. That's also why the allowed-senders list is non-negotiable, and why a bot pinned to one scoped workspace beats one pointed at your home directory. Ask it read-only questions from the street; save the destructive stuff for when you can see a diff. + +**Go deeper:** [Messaging bots](/ecosystem/computer/automate/messaging-bots) · [Notifications](/ecosystem/computer/automate/notifications) · [Security model](/ecosystem/computer/phone-and-remote/security) diff --git a/docs/ecosystem/computer/use-cases/open-webui-hands.md b/docs/ecosystem/computer/use-cases/open-webui-hands.md new file mode 100644 index 00000000..ef0fd524 --- /dev/null +++ b/docs/ecosystem/computer/use-cases/open-webui-hands.md @@ -0,0 +1,33 @@ +--- +title: "Give Open WebUI real hands" +sidebar_position: 7 +--- + +# Give Open WebUI real hands + +Open WebUI is where you already chat: your models, your prompts, your history. But when you ask it "what does our rate limiter actually do?", a plain model can only guess. Connect Computer's gateway and that same Open WebUI chat can read the real repo, run the real tests, and answer from the code, because the workspace itself becomes a model in the picker. + +**You need:** both apps running where Open WebUI can reach Computer's port, a workspace with a [model or agent configured](/ecosystem/computer/ai/) in Computer, and one gateway key. + +## The walkthrough + +1. **Mint the key.** In Computer, go to **Settings → Admin → Gateway** and create an API key. Copy it now; it's shown once and stored hashed. + +2. **Add the connection in Open WebUI.** Admin Settings → Connections → add an OpenAI API connection: + + - **Base URL:** `http://:8000/v1` + - **API Key:** the `sk-cptr-...` key + +3. **Add the continuity headers.** Copy the custom-headers block from Computer's Gateway settings into the Open WebUI connection. They carry chat identity (`X-OpenWebUI-Chat-Id` and friends), which is what makes follow-up turns continue the same Computer conversation and keeps edits and regenerations as proper branches. + +4. **Pick the workspace as a model.** Your workspaces now appear in Open WebUI's model picker as `cptr/`. Start a chat with one and ask something grounded: + + > Read the rate limiter implementation and explain what happens when Redis is down. Don't change anything. + +5. **Watch both sides.** The answer streams into Open WebUI with the tool activity summarized inline. Over in Computer, the same conversation appears in that workspace's sidebar, with the full file-by-file detail, and you can continue it from either app. + +## What makes this work + +Open WebUI stays your front door; Computer supplies the machine. Nothing is copied or synced: no cloned repo, no uploaded context, no knowledge-base import. Two honest caveats. Gateway tasks run with **full tool approval** (an OpenAI-compatible API has no way to pause for an Allow button), so connect trusted clients to deliberately chosen workspaces. And Open WebUI's own knowledge bases, tools, and prompts don't ride along; if the workspace task needs a capability, configure it in Computer. + +**Go deeper:** [Open WebUI setup in detail](/ecosystem/computer/automate/open-webui) · [Gateway API reference](/ecosystem/computer/reference/gateway-api) · [Which tool when?](/ecosystem/computer/choose) diff --git a/docs/ecosystem/computer/use-cases/scheduled-morning-checks.md b/docs/ecosystem/computer/use-cases/scheduled-morning-checks.md new file mode 100644 index 00000000..c77f0210 --- /dev/null +++ b/docs/ecosystem/computer/use-cases/scheduled-morning-checks.md @@ -0,0 +1,35 @@ +--- +title: "A morning check that reports to you" +sidebar_position: 5 +--- + +# A morning check that reports to you + +Every morning you run the test suite on the side project before work, skim the output, and forget about it. That's a job for a schedule: run the tests at 7:30, and only make noise when something's red. + +**You need:** the quickstart done, a [model connected](/ecosystem/computer/ai/), and the host machine [awake at 7:30](/ecosystem/computer/phone-and-remote/keep-it-running). + +## The walkthrough + +1. **Create the task.** Open the **Scheduled** page and create a task: + + - **Workspace:** the project repo + - **Model:** whatever you'd use in chat + - **Schedule:** the builder covers daily/weekly/hourly; under the hood it's an RRULE like `RRULE:FREQ=DAILY;BYHOUR=7;BYMINUTE=30` + - **Prompt:** be boring and specific: + + > Run the test suite in this workspace. Don't change any files. If everything passes, reply "all green" with the test count. If anything fails, name the failing tests and include the relevant error output. + +2. **Rehearse it.** Hit **Run now** and open the run it creates. Every run is a real chat in the workspace, so you can see exactly what it did: the command it ran, the output it read, the summary it wrote. If the summary isn't judgeable at a glance, tighten the prompt now, not after a week of noise. + +3. **Wire up the ping.** In **Settings → Notifications**, add a target: a webhook (Slack, Discord, Google Chat, and Teams URLs get formatted automatically) or one of your [messaging bots](/ecosystem/computer/automate/messaging-bots). Pick the **chat failed** and **chat finished** events, set delivery to **away** so it only pings you when you're not already looking at Computer, and use the test button once. + +4. **Let it run.** Run history keeps every morning's result with its linked chat, so "wait, when did that test start failing?" has an answer with receipts. + +Bonus: you don't have to visit the Scheduled page at all. Ask the agent in chat to "run the tests every weekday at 7:30 and tell me only about failures" and it creates the task itself; review it on the Scheduled page after. + +## What makes this work + +Scheduled runs execute with full tool approval and nobody watching, which is exactly why the prompt should be narrow, read-only, and verifiable, and why the run's linked chat matters: you're never trusting a green checkmark, you're reading what actually happened. Once the pattern feels safe, the same recipe covers dependency audits, backup checks, or a nightly "summarize what changed in this repo." + +**Go deeper:** [Scheduled tasks](/ecosystem/computer/automate/scheduled-tasks) · [Notifications](/ecosystem/computer/automate/notifications) diff --git a/docs/ecosystem/computer/use-cases/supervise-a-coding-agent.md b/docs/ecosystem/computer/use-cases/supervise-a-coding-agent.md new file mode 100644 index 00000000..e2f7e473 --- /dev/null +++ b/docs/ecosystem/computer/use-cases/supervise-a-coding-agent.md @@ -0,0 +1,36 @@ +--- +title: "Supervise a coding agent from anywhere" +sidebar_position: 3 +--- + +# Supervise a coding agent from anywhere + +Before leaving the house you asked Claude Code to migrate the settings module off a deprecated API. Somewhere around lunch it reaches the part you were worried about: the database schema. You want to see what it's proposing, answer its question, and let it continue, without being at the desk and without giving it a blank check. + +**You need:** a [coding agent connected](/ecosystem/computer/ai/coding-agents) (Claude Code, Codex, Cursor, Grok, OpenCode, Cline, or Pi), remote access via [Tailscale](/ecosystem/computer/phone-and-remote/tailscale), and the host set to [stay awake](/ecosystem/computer/phone-and-remote/keep-it-running). + +## The walkthrough + +1. **Start the task before you leave.** In the project workspace, pick the agent's model in the chat, state the goal and the boundary, and set approval mode from the **+** menu: + + > Migrate `settings/` off the v1 config API. Don't touch the schema or commit anything without asking. + + **auto** is the sweet spot for supervised work: reads proceed, writes and commands wait for you. For unfamiliar or high-impact work, start in [plan mode](/ecosystem/computer/ai/approvals-and-plan-mode) instead and approve the plan first. + +2. **Walk away.** The task runs server-side. Closing the laptop lid is the only thing that can stop it, which is why the keep-it-running setup matters. + +3. **Check in from your phone.** Open the same chat. You see the full history: every file it read, every edit it made, and the pending approval that's blocking it, rendered as tool cards with **Allow / Deny** buttons. + +4. **Review before you approve.** Tap into the diff on the tool card, or open the git panel for the whole picture of what's changed so far. If the proposed schema change isn't what you want, **Deny** and reply in the same chat: + + > Don't create the migration. Keep the old column and write an adapter instead. + + The agent keeps its context and adjusts course. Messages you send while it's working queue for the next turn. + +5. **Land it at your desk.** When it reports done, the git panel shows the complete diff. Run the tests from a terminal tab, then stage and commit. Sessions resume automatically, so the same conversation continues on any device if there's follow-up work. + +## What makes this work + +The agent, the diff, and your approval queue live in one place, so "check on the agent" is a ten-second glance instead of an SSH session and a `git status`. Native backends use your existing subscription and login; nothing new to pay for. And because approvals are per-action, being away doesn't mean giving up control; it just means the control moved to your pocket. + +**Go deeper:** [Coding agents](/ecosystem/computer/ai/coding-agents) · [Approvals and plan mode](/ecosystem/computer/ai/approvals-and-plan-mode) · [Chat features](/ecosystem/computer/ai/chat-features) diff --git a/docs/ecosystem/computer/use-cases/test-on-a-real-device.md b/docs/ecosystem/computer/use-cases/test-on-a-real-device.md new file mode 100644 index 00000000..c441c09f --- /dev/null +++ b/docs/ecosystem/computer/use-cases/test-on-a-real-device.md @@ -0,0 +1,32 @@ +--- +title: "Test your dev server on a real phone" +sidebar_position: 6 +--- + +# Test your dev server on a real phone + +The checkout flow looks perfect in Chrome's device emulator. It also looked perfect last time, right up until a real iPhone keyboard covered the submit button. Emulators don't have real keyboards, real safe areas, or real touch physics; your phone does, and your dev server is already running. + +**You need:** the quickstart done, and your phone able to reach Computer (same Wi-Fi is enough: [phone access](/ecosystem/computer/phone-and-remote/); Tailscale if you want it to work from anywhere). + +## The walkthrough + +1. **Start the app where it already lives.** In the project workspace, open a terminal and run the dev server as usual: + + ```bash + npm run dev + ``` + +2. **Find the port.** When a process in a workspace terminal starts listening, the port shows up in the **Ports** row above the file browser. Tap the `:5173` (or whatever it is) to open a preview tab. The preview proxies the real local process; there's nothing to deploy. + +3. **Open it on the phone.** Sign in to Computer from the phone and open the same preview tab. You're now driving the dev server on your desk from a real touchscreen. + +4. **Fix-and-check loop.** Keep the preview open on the phone while you edit on the desktop (or edit from the phone; it's the same workspace). Hot reload works normally because it's the same server; the terminal tab next to the preview shows the request log and errors as you tap through the flow. + +5. **Capture what you find.** When the keyboard covers the button again, write it down where it'll be seen: a note in the workspace, or a chat message with the file mentioned via `@` so the AI has the context when you ask it to fix the CSS. + +## What makes this work + +The preview reaches the live process through Computer's own authenticated session, so nothing gets exposed to your network and there's no tunnel, QR code, or deploy step. When the server dies or the host restarts, the preview does too; start the process again and re-open the port. It reflects reality, which is the entire point. + +**Go deeper:** [Previews and browser](/ecosystem/computer/workspace/previews-and-browser) · [Terminals](/ecosystem/computer/workspace/terminals) diff --git a/docs/ecosystem/computer/workspace/_category_.json b/docs/ecosystem/computer/workspace/_category_.json index 77522add..7eb570fc 100644 --- a/docs/ecosystem/computer/workspace/_category_.json +++ b/docs/ecosystem/computer/workspace/_category_.json @@ -1,4 +1,4 @@ { "label": "Your workspace", - "position": 5 + "position": 6 }