docs: restructure the docs entrypoint around user intent (#1465)
* docs: rewrite intro with privacy-first positioning Lead with "privacy-first, open-source alternative to Claude Cowork" and cut the coding-agent framing. Reorganize the page into three scannable sections (Start / For teams / For developers), keep the existing self-host/orchestrator steps under a dedicated section below. * docs: regroup sidebar into outcome-based clusters Rename tabs "Cloud docs" → "Cloud" and "Cloud API" → "API" for shorter, clearer labels. Replace the generic "Desktop App" and "Tutorials" groups in Start here with two outcome-based clusters: "Connect your stack" (providers, MCPs, search) and "Do work with it" (browser, automations, skills, sharing). Reorganize the flat Cloud list into three clusters that map to real admin questions: "Share with your team" (templates, skill hubs, providers), "Run in the cloud" (shared workspaces, Slack), and "Manage access" (members & RBAC). Enterprise stays at the tail as a standalone contact-sales page. Slack moves from Start here to Cloud "Run in the cloud" since the Slack setup doc itself recommends pairing Slack with a remote workspace. * docs: surface changelog and roadmap on the intro Add a one-liner in the developers section pointing to the changelog and roadmap, and include both in the footer links. Developers evaluating the project want to see shipping velocity and direction. * docs(self-host): add dedicated self-host page with cloud/enterprise upsells Extract the openwork-orchestrator install steps out of the intro into a dedicated Self-host page. Keeps the intro short and gives self-hosters a direct, linkable entry point. The page includes two upsell paths: - Cloud, for readers who realize mid-read they don't want to run infra. Links into the team primitives (skill hubs, providers, RBAC, shared workspaces) that are hardest to replicate on your own box. - Enterprise, framed around concrete scale pressures (SSO, audit, allowlists, VPC, support) rather than a generic 'talk to sales' pitch. Links to the existing cloud-enterprise contact page. Add the page to the Start here tab as a top-level sibling of the intro so self-hosters find it immediately. * docs: move self-host below the outcome clusters Self-hosting is what people reach for after they've installed the desktop app and tried the basic flow, not before. Move it below "Connect your stack" and "Do work with it" so the sidebar reflects that progression. * docs: rename intro page title to "Introduction" "OpenWork" as a sidebar label is tautological — every page is about OpenWork. "Introduction" tells the reader what the page is, which is what a sidebar label is for. The in-page hero copy still carries the positioning. * docs: rewrite page titles as actions Sidebar labels should describe what the reader wants to do, not what the page is. Rename every page title to start with (or imply) a verb: - Introduction → Get started - How to connect ChatGPT to Openwork → Connect ChatGPT - How to get an Anthropic API key → Connect Anthropic - Adding a custom LLM provider/model → Connect a custom LLM - Adding a custom MCP → Add an MCP server - Enable Advanced Search with Exa → Enable Exa search - Controlling your browser with OpenWork → Control the browser - Automating Tasks → Automate tasks - Importing a skill → Import a skill - How to share your agents with others → Share your setup - Self-host OpenWork → Self-host - Missing Documentation? → Report missing docs Makes the sidebar scannable by intent: each label is a thing the reader is trying to accomplish. * docs: restore precision in provider titles "Connect X" flattened two different setup flows into one label. Readers scanning the sidebar need to know what they'll do before clicking: - Sign in with ChatGPT (OAuth, no key needed) - Add Anthropic API key (paste a secret from Anthropic) - Add a custom LLM (config, not auth) MCP and Exa labels already carry their own distinct verbs and are left unchanged. * docs: turn missing-docs into a question with two paths "Missing docs?" as a question invites the click. Inside, offer both the low-effort path (email us) and the contributor path (open a PR against the docs folder). Drops the "A message from the Openwork Developers" preamble, which was noise. * docs: reorganize into tab folders, rename files to match titles Mirrors the tab/group structure in docs.json so files are easier to locate. Filenames now track page titles (prefixes like how-to- and cloud- dropped since folders provide that context). Single-page groups stay flat at the tab root; roadmap and changelog remain at repo root as their own tabs. Cross-links in mdx files and docs.json redirects updated for the new paths. * docs: add roadmap/changelog folders, rename images, deprecate unused assets Moves roadmap.mdx and changelog.mdx into their own tab folders for consistency with the rest of the reorg, and removes the orphaned introduction.mdx. Renames CleanShot/Screenshot/image-* files to descriptive names based on content and updates the corresponding alt text. Unused images and a stray .mov land in images/deprecated/ rather than being deleted. docs.json gains /roadmap and /changelog redirects so old inbound URLs still resolve. * more clear get starter docs * docs: render get-started paths as Mintlify cards * no need to have the same title twice * edits * more concise
@@ -183,7 +183,7 @@ title: "Changelog"
|
||||
- Shared skills can now be imported into existing workers.
|
||||
- ChatGPT Oath added to "New chat Session"
|
||||
|
||||
<img src="/images/chatgptOauth.png" alt="ChatGPT Oauth" />
|
||||
<img src="/images/chatgpt-new-session-cta.png" alt="New session with Connect ChatGPT for free CTA" />
|
||||
|
||||
</Update>
|
||||
|
||||
@@ -33,7 +33,7 @@ The selected org controls which `Cloud workers`, `Team templates`, `Org skills`,
|
||||
|
||||
## What to do next
|
||||
|
||||
- Use [Skill hubs](/cloud-skill-hubs) to publish grouped skills for teams, or save a single skill directly from the desktop app and install it from `Skills -> Cloud`.
|
||||
- Use [Shared workspaces](/cloud-shared-workspaces) to deploy hosted OpenWork runtimes that teammates can open from the desktop app.
|
||||
- Use [LLM providers](/cloud-llm-providers) or [custom LLM providers](/cloud-custom-llm-providers) to manage shared model access.
|
||||
- Use [Members and RBAC](/cloud-members-and-rbac) to invite people, create teams, and control access.
|
||||
- Use [Skill hubs](/cloud/share-with-your-team/skill-hubs) to publish grouped skills for teams, or save a single skill directly from the desktop app and install it from `Skills -> Cloud`.
|
||||
- Use [Shared workspaces](/cloud/run-in-the-cloud/shared-workspace) to deploy hosted OpenWork runtimes that teammates can open from the desktop app.
|
||||
- Use [LLM providers](/cloud/share-with-your-team/managed-llm-provider) or [custom LLM providers](/cloud/share-with-your-team/custom-llm-provider) to manage shared model access.
|
||||
- Use [Members and RBAC](/cloud/members-and-rbac) to invite people, create teams, and control access.
|
||||
@@ -13,7 +13,7 @@ This is one of the most relevant and meaningful applications of Openwork, and we
|
||||
|
||||
> **Disclaimer:** We recommend setting the slackbot with a remote workspace instead of in your local machine to ensure there's `hardware isolation` between the remote workspace the ai can access and your local machine.
|
||||
|
||||
For team-owned Slack or other long-running connectors, you can host the runtime in an OpenWork Cloud [shared workspace](/cloud-shared-workspaces) instead of keeping it on a laptop or self-managed server.
|
||||
For team-owned Slack or other long-running connectors, you can host the runtime in an OpenWork Cloud [shared workspace](/cloud/run-in-the-cloud/shared-workspace) instead of keeping it on a laptop or self-managed server.
|
||||
|
||||
## Having the right slack permissions
|
||||
|
||||
@@ -42,7 +42,7 @@ Go to [Create new app](https://api.slack.com/apps?new_app=1) in Slack. What you
|
||||
Now, once you have both of these tokens, you can directly paste them into the app.
|
||||
|
||||
<Frame>
|
||||

|
||||

|
||||
|
||||
Paste you `xorb-` and `xapp-` tokens into `Settings` \> `messaging`
|
||||
</Frame>
|
||||
@@ -52,7 +52,7 @@ Now, once you have both of these tokens, you can directly paste them into the ap
|
||||
Test the bot by sending a message. It should respond instantly indicating that a new session has been initiatied and then send the actual response afterwards. For now, you will have to use `@slack-bot-name` every time you want to talk to it.
|
||||
|
||||
<Frame>
|
||||

|
||||

|
||||
</Frame>
|
||||
|
||||
## Template Manifest Example
|
||||
@@ -32,4 +32,4 @@ Use a shared workspace when your team needs a hosted OpenWork runtime, a stable
|
||||
- This area is currently marked `Alpha` in the Cloud dashboard.
|
||||
- A workspace must be `Ready` before the desktop app can open it.
|
||||
- OpenWork Cloud plan limits apply to hosted workspaces.
|
||||
- If you prefer to self-host, the desktop [Get Started](/get-started) guide still works with `openwork-orchestrator`.
|
||||
- If you prefer to self-host, the desktop [Get Started](/start-here/get-started) guide still works with `openwork-orchestrator`.
|
||||
@@ -37,4 +37,4 @@ OpenWork writes the imported provider into the workspace `opencode.jsonc` and st
|
||||
- If the provider was deleted in Cloud, the desktop app shows `Removed from cloud` and lets you `Uninstall` the local config.
|
||||
- The provider must have a stored org credential before the desktop app can import it.
|
||||
|
||||
If you only need a one-off local setup, use the desktop guide at [Adding a custom LLM provider/model](/how-to-connect-a-custom-provider).
|
||||
If you only need a one-off local setup, use the desktop guide at [Adding a custom LLM provider/model](/start-here/connect-your-stack/add-a-custom-llm).
|
||||
@@ -17,62 +17,68 @@
|
||||
{
|
||||
"tab": "Start here",
|
||||
"pages": [
|
||||
"get-started",
|
||||
"start-here/get-started",
|
||||
{
|
||||
"group": "Desktop App",
|
||||
"group": "Connect your stack",
|
||||
"pages": [
|
||||
"enable-advanced-search-with-exa",
|
||||
"how-to-connect-chat-gpt",
|
||||
"how-to-connect-mcps",
|
||||
"computer-use",
|
||||
"sharing-ow-setup",
|
||||
"accessing-ow-from-slack",
|
||||
"automating-tasks"
|
||||
"start-here/connect-your-stack/sign-in-with-chatgpt",
|
||||
"start-here/connect-your-stack/add-anthropic-api-key",
|
||||
"start-here/connect-your-stack/add-a-custom-llm",
|
||||
"start-here/connect-your-stack/add-an-mcp-server",
|
||||
"start-here/connect-your-stack/enable-exa-search"
|
||||
]
|
||||
},
|
||||
{
|
||||
"group": "Tutorials",
|
||||
"group": "Do work with it",
|
||||
"pages": [
|
||||
"how-to-get-an-anthropic-api-key",
|
||||
"how-to-connect-a-custom-provider",
|
||||
"importing-a-skill"
|
||||
"start-here/do-work-with-it/control-the-browser",
|
||||
"start-here/do-work-with-it/automate-tasks",
|
||||
"start-here/do-work-with-it/import-a-skill",
|
||||
"start-here/do-work-with-it/share-your-setup"
|
||||
]
|
||||
},
|
||||
{
|
||||
"group": "Improve this doc",
|
||||
"pages": [
|
||||
"missing-docs"
|
||||
]
|
||||
}
|
||||
"start-here/self-host",
|
||||
"start-here/missing-docs"
|
||||
]
|
||||
},
|
||||
{
|
||||
"tab": "Cloud docs",
|
||||
"tab": "Cloud",
|
||||
"pages": [
|
||||
"get-started-cloud",
|
||||
"team-provisioning",
|
||||
"cloud-skill-hubs",
|
||||
"cloud-shared-workspaces",
|
||||
"cloud-llm-providers",
|
||||
"cloud-custom-llm-providers",
|
||||
"cloud-members-and-rbac",
|
||||
"cloud-enterprise"
|
||||
"cloud/get-started",
|
||||
{
|
||||
"group": "Share with your team",
|
||||
"pages": [
|
||||
"cloud/share-with-your-team/team-templates",
|
||||
"cloud/share-with-your-team/skill-hubs",
|
||||
"cloud/share-with-your-team/managed-llm-provider",
|
||||
"cloud/share-with-your-team/custom-llm-provider"
|
||||
]
|
||||
},
|
||||
{
|
||||
"group": "Run in the cloud",
|
||||
"pages": [
|
||||
"cloud/run-in-the-cloud/shared-workspace",
|
||||
"cloud/run-in-the-cloud/connect-slack"
|
||||
]
|
||||
},
|
||||
"cloud/members-and-rbac",
|
||||
"cloud/enterprise"
|
||||
]
|
||||
},
|
||||
{
|
||||
"tab": "Cloud API",
|
||||
"tab": "API",
|
||||
"openapi": "https://api.openworklabs.com/openapi.json"
|
||||
},
|
||||
{
|
||||
"tab": "Roadmap",
|
||||
"pages": [
|
||||
"roadmap"
|
||||
"roadmap/roadmap"
|
||||
]
|
||||
},
|
||||
{
|
||||
"tab": "Changelog",
|
||||
"pages": [
|
||||
"changelog"
|
||||
"changelog/changelog"
|
||||
]
|
||||
}
|
||||
]
|
||||
@@ -80,15 +86,23 @@
|
||||
"redirects": [
|
||||
{
|
||||
"source": "/",
|
||||
"destination": "/get-started"
|
||||
"destination": "/start-here/get-started"
|
||||
},
|
||||
{
|
||||
"source": "/quickstart",
|
||||
"destination": "/get-started"
|
||||
"destination": "/start-here/get-started"
|
||||
},
|
||||
{
|
||||
"source": "/introduction",
|
||||
"destination": "/get-started-cloud"
|
||||
"destination": "/cloud/get-started"
|
||||
},
|
||||
{
|
||||
"source": "/roadmap",
|
||||
"destination": "/roadmap/roadmap"
|
||||
},
|
||||
{
|
||||
"source": "/changelog",
|
||||
"destination": "/changelog/changelog"
|
||||
}
|
||||
],
|
||||
"errors": {
|
||||
|
||||
@@ -1,51 +0,0 @@
|
||||
---
|
||||
title: "Get Started"
|
||||
description: "OpenWork is the open source alternative to Claude Cowork. "
|
||||
---
|
||||
|
||||
Most users use our [desktop app](https://openworklabs.com). This guide helps you setup OpenWork via the CLI so that you can run OpenWork tasks in the background on your infra.
|
||||
|
||||
If you want OpenWork-hosted shared workspaces, org-managed skill hubs, or shared providers for a team, use the [Cloud docs](/get-started-cloud) instead of self-hosting this flow. If you're an enterprise looking to self-host, please [book a call here](https://cal.com/team/openwork/enterprise)
|
||||
|
||||
## Step 1: Install on your remote server
|
||||
|
||||
Install the npm package:
|
||||
|
||||
```bash
|
||||
npm install -g openwork-orchestrator
|
||||
```
|
||||
|
||||
## Step 2: Start OpenWork in your workspace
|
||||
|
||||
Run OpenWork where your code lives:
|
||||
|
||||
```bash
|
||||
openwork start --workspace /path/to/your/workspace --approval auto
|
||||
```
|
||||
|
||||
<Frame>
|
||||

|
||||
</Frame>
|
||||
|
||||
Copy:
|
||||
|
||||
- `OpenWork URL`
|
||||
- `OpenWork Owner Token`
|
||||
|
||||
## Step 3: Connect the OpenWork desktop app
|
||||
|
||||
On your local machine, open the OpenWork desktop app and connect into a remote workspace with:
|
||||
|
||||
- On the bottom left click `+ Add workspace`
|
||||
- Then click `+ Connect Remote workspace`
|
||||
- Type in the `OpenWork URL and OpenWork Owner Token` from earlier
|
||||
|
||||
<Frame>
|
||||

|
||||
</Frame>
|
||||
|
||||
## What this gives you right away
|
||||
|
||||
- Your code and services stay on the remote machine.
|
||||
- Your local machine stays light.
|
||||
- You get a fast path from install to a connected remote OpenWork workspace.
|
||||
|
Before Width: | Height: | Size: 105 KiB After Width: | Height: | Size: 105 KiB |
|
Before Width: | Height: | Size: 532 KiB After Width: | Height: | Size: 532 KiB |
|
Before Width: | Height: | Size: 513 KiB After Width: | Height: | Size: 513 KiB |
|
Before Width: | Height: | Size: 275 KiB After Width: | Height: | Size: 275 KiB |
|
Before Width: | Height: | Size: 1.2 MiB After Width: | Height: | Size: 1.2 MiB |
|
Before Width: | Height: | Size: 1.3 MiB After Width: | Height: | Size: 1.3 MiB |
|
Before Width: | Height: | Size: 572 KiB After Width: | Height: | Size: 572 KiB |
|
Before Width: | Height: | Size: 487 KiB After Width: | Height: | Size: 487 KiB |
|
Before Width: | Height: | Size: 236 KiB After Width: | Height: | Size: 236 KiB |
|
Before Width: | Height: | Size: 698 KiB After Width: | Height: | Size: 698 KiB |
|
Before Width: | Height: | Size: 289 KiB After Width: | Height: | Size: 289 KiB |
|
Before Width: | Height: | Size: 1.3 MiB After Width: | Height: | Size: 1.3 MiB |
|
Before Width: | Height: | Size: 1018 KiB After Width: | Height: | Size: 1018 KiB |
|
Before Width: | Height: | Size: 1.1 MiB After Width: | Height: | Size: 1.1 MiB |
|
Before Width: | Height: | Size: 109 KiB After Width: | Height: | Size: 109 KiB |
|
Before Width: | Height: | Size: 132 KiB After Width: | Height: | Size: 132 KiB |
@@ -1,16 +0,0 @@
|
||||
---
|
||||
title: "Introduction"
|
||||
---
|
||||
|
||||
OpenWork Cloud enables team to move faster by making it easy to share your setup across your org.
|
||||
|
||||
[https://app.openworklabs.com/](https://app.openworklabs.com/)
|
||||
|
||||
- \*\*Team Templates: \*\*make it easy to share your setup across your team so they spend less time copy and pasting configs.
|
||||
- \*\*Members: \*\*Makes it easy to invite members to your org.
|
||||
- \*\*Shared Workspace: \*\*Are cloud instances you can use to perform long-running tasks or connect permanent connection to messaging channels like Slack or Telegram.
|
||||
- \*\*Custom LLMs: \*\*(coming soon)
|
||||
|
||||
<Frame>
|
||||

|
||||
</Frame>
|
||||
@@ -1,8 +0,0 @@
|
||||
---
|
||||
title: "Missing Documentation?"
|
||||
description: "Let us know if you're missing Openwork documentation"
|
||||
---
|
||||
|
||||
# A message from the Openwork Developers
|
||||
|
||||
If you're technical and want to use a specific part of the app that is not documented well yet, [send us a quick email](mailto:team@openworklabs.com?subject=missing%20documentation&body=hey%20my%20github%20is%20%7Busername%7D%2C%20I%27m%20interested%20in%20%7Bfeature%7D%20from%20openwork%20but%20I%27m%20missing%20documentation%20on%20it%2C%20could%20you%20create%20it%3F%0A%0AThanks) and tell us what you're missing.
|
||||
@@ -1,5 +1,5 @@
|
||||
---
|
||||
title: "Adding a custom LLM provider/model"
|
||||
title: "Add a custom LLM"
|
||||
description: "How to connect a custom provider with OpenWork"
|
||||
---
|
||||
|
||||
@@ -25,7 +25,7 @@ Inside `/path-to-your-workspace/.config/opencode/opencode.json`:
|
||||
}
|
||||
```
|
||||
|
||||
We've also built a [custom skill](https://share.openworklabs.com/b/01KNBQDQAK41VZSZDF5G9MW4MW) that you can import in OpenWork following [this guide](/importing-a-skill).
|
||||
We've also built a [custom skill](https://share.openworklabs.com/b/01KNBQDQAK41VZSZDF5G9MW4MW) that you can import in OpenWork following [this guide](/start-here/do-work-with-it/import-a-skill).
|
||||
|
||||
The following tutorial covers how to [import a custom provider using the skill](https://x.com/getopenwork/status/2034129039317995908?s=20).
|
||||
|
||||
@@ -56,4 +56,4 @@ Pull the model first with `ollama pull qwen3:8b`, then make sure the Ollama serv
|
||||
|
||||
Open your desktop, change the provider name and voila! You have an fully local LLM running in your machine.
|
||||
|
||||
For teams, you can manage the provider in OpenWork Cloud under [LLM Providers](/cloud-llm-providers), then import it into each workspace from `Settings -> Cloud`.
|
||||
For teams, you can manage the provider in OpenWork Cloud under [LLM Providers](/cloud/share-with-your-team/managed-llm-provider), then import it into each workspace from `Settings -> Cloud`.
|
||||
@@ -1,5 +1,5 @@
|
||||
---
|
||||
title: "Adding a custom MCP"
|
||||
title: "Add an MCP server"
|
||||
description: "How to connect a custom MCP server with openwork"
|
||||
---
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
---
|
||||
title: "How to get an Anthropic API key"
|
||||
title: "Add Anthropic API key"
|
||||
description: "Create an Anthropic API key and use it in OpenWork"
|
||||
---
|
||||
|
||||
@@ -12,7 +12,7 @@ That means you create the key in Anthropic first, then paste it into OpenWork.
|
||||
- Your Claude subscription and your Anthropic API billing are not always the same thing, so make sure API access is enabled on your Anthropic account.
|
||||
- Treat the key like a password. Anthropic will only show the full value when you create it.
|
||||
|
||||
If this key should be shared across a team, add Anthropic once in OpenWork Cloud `LLM Providers` and import it from [Settings -> Cloud](/cloud-llm-providers) instead of pasting it into each workspace separately.
|
||||
If this key should be shared across a team, add Anthropic once in OpenWork Cloud `LLM Providers` and import it from [Settings -> Cloud](/cloud/share-with-your-team/managed-llm-provider) instead of pasting it into each workspace separately.
|
||||
|
||||
## Create the key in Anthropic
|
||||
|
||||
@@ -1,10 +1,10 @@
|
||||
---
|
||||
title: "Enable Advanced Search with Exa"
|
||||
title: "Enable Exa search"
|
||||
---
|
||||
|
||||
[Exa](https://exa.ai) is a very fast search engine for AI. We support it as part of a global setting that is currently in `Settings` -> `Advanced`.
|
||||
|
||||
<Frame>
|
||||

|
||||

|
||||
</Frame>
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
---
|
||||
title: "How to connect ChatGPT to Openwork"
|
||||
title: "Sign in with ChatGPT"
|
||||
description: "How to use ChatGPT OAuth with Openwork"
|
||||
---
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
---
|
||||
title: "Automating Tasks"
|
||||
title: "Automate tasks"
|
||||
---
|
||||
|
||||
Automations allow you to run prompts on a schedule
|
||||
@@ -9,7 +9,7 @@ You can find them in `Settings → Automations`
|
||||
Automations are just prompts!
|
||||
|
||||
<Frame>
|
||||

|
||||

|
||||
</Frame>
|
||||
|
||||
To create an automation you can simply say something like:
|
||||
@@ -17,17 +17,17 @@ To create an automation you can simply say something like:
|
||||
`Create a schedule job that is going to go to facebook.com every day take a screenshot and report back to me`
|
||||
|
||||
<Frame>
|
||||

|
||||

|
||||
</Frame>
|
||||
|
||||
If it works you'll see the chat response positively:
|
||||
|
||||
<Frame>
|
||||

|
||||

|
||||
</Frame>
|
||||
|
||||
And you'll then see it listed here:
|
||||
|
||||
<Frame>
|
||||

|
||||

|
||||
</Frame>
|
||||
@@ -1,5 +1,5 @@
|
||||
---
|
||||
title: "Controlling your browser with OpenWork"
|
||||
title: "Control the browser"
|
||||
description: "How to use OpenWork to automate your Chrome Browser"
|
||||
---
|
||||
|
||||
@@ -15,11 +15,11 @@ Today, the supported path is `Control Chrome`, which uses Chrome DevTools MCP.
|
||||
- In `Settings > Extensions > Control Chrome`
|
||||
|
||||
<Frame>
|
||||

|
||||

|
||||
|
||||
- Enable it and follow the instructions in the configuration screen _Note_: _do note use "Use my existing Chrome profile". It's currently not well supported._
|
||||
<Frame>
|
||||

|
||||

|
||||
</Frame>
|
||||
Go back to the session view and ask it to open a website
|
||||
</Frame>
|
||||
@@ -1,5 +1,5 @@
|
||||
---
|
||||
title: "Importing a skill"
|
||||
title: "Import a skill"
|
||||
description: "How to import an external skill into your workspace in OpenWork"
|
||||
---
|
||||
|
||||
@@ -14,7 +14,7 @@ There is another option if you're technical: place it directly in `.opencode/ski
|
||||
|
||||
We recommend (1) and (3) because they match the built-in OpenWork flows most closely.
|
||||
|
||||
For teams, OpenWork Cloud can publish shared skills either as standalone org skills or inside a skill hub. Each desktop workspace can install them from the `Cloud` tab on the Skills page or from [Settings -> Cloud](/cloud-skill-hubs).
|
||||
For teams, OpenWork Cloud can publish shared skills either as standalone org skills or inside a skill hub. Each desktop workspace can install them from the `Cloud` tab on the Skills page or from [Settings -> Cloud](/cloud/share-with-your-team/skill-hubs).
|
||||
|
||||
## Installing a skill from OpenWork Cloud
|
||||
|
||||
@@ -1,11 +1,11 @@
|
||||
---
|
||||
title: "How to share your agents with others"
|
||||
title: "Share your setup"
|
||||
description: "Learn how to share your MCP, agents, skills with others"
|
||||
---
|
||||
|
||||
There are two main primitives for a template that you can share: `Workspace` and a `Skill`.
|
||||
|
||||
For team-wide reuse inside an org, you can also save templates or skills to OpenWork Cloud and let teammates open them from the `Cloud` tab on the Skills page or from [Settings -> Cloud](/get-started-cloud).
|
||||
For team-wide reuse inside an org, you can also save templates or skills to OpenWork Cloud and let teammates open them from the `Cloud` tab on the Skills page or from [Settings -> Cloud](/cloud/get-started).
|
||||
|
||||
## Sharing your entire configuration
|
||||
|
||||
35
packages/docs/start-here/get-started.mdx
Normal file
@@ -0,0 +1,35 @@
|
||||
---
|
||||
title: "Get started"
|
||||
description: "Privacy-first, open-source alternative to Claude Cowork."
|
||||
---
|
||||
|
||||
Our [app](https://openworklabs.com/download) lets you use any LLM, Skill and Plugin and share the setup with your team.
|
||||
|
||||
## Start
|
||||
|
||||
Get started by connecting your LLM provider of choice and send your first message:
|
||||
|
||||
<CardGroup cols={3}>
|
||||
<Card title="Connect a provider" icon="plug" href="/start-here/connect-your-stack/sign-in-with-chatgpt">
|
||||
Sign in with ChatGPT or bring your own LLM key in a few clicks.
|
||||
</Card>
|
||||
<Card title="Add an MCP" icon="puzzle-piece" href="/start-here/connect-your-stack/add-an-mcp-server">
|
||||
Plug custom MCP servers into your workspace in minutes.
|
||||
</Card>
|
||||
<Card title="Control the browser" icon="globe" href="/start-here/do-work-with-it/control-the-browser">
|
||||
Let OpenWork run and screenshot tasks in Chrome for you.
|
||||
</Card>
|
||||
</CardGroup>
|
||||
|
||||
## For teams
|
||||
|
||||
[OpenWork Cloud →](/cloud/get-started) shared workspaces, org skill hubs, managed providers, RBAC.
|
||||
|
||||
## Self-hosting
|
||||
|
||||
The first step for self-hosting is to [Start the CLI](/start-here/self-host).
|
||||
If you're an enterprise looking for support in a private deployment, check out [Enterprise](/cloud/enterprise) or [book a call directly](https://cal.com/team/openwork/enterprise).
|
||||
|
||||
---
|
||||
|
||||
[GitHub](https://github.com/different-ai/openwork) · [Changelog](/changelog/changelog) · [Product Roadmap](/roadmap/roadmap) · [Missing docs](/start-here/missing-docs)
|
||||
14
packages/docs/start-here/missing-docs.mdx
Normal file
@@ -0,0 +1,14 @@
|
||||
---
|
||||
title: "Missing docs?"
|
||||
description: "Request a page or contribute one yourself."
|
||||
---
|
||||
|
||||
Two ways to fix it.
|
||||
|
||||
## Ask us to write it
|
||||
|
||||
[Email the team](mailto:team@openworklabs.com?subject=missing%20documentation&body=hey%20my%20github%20is%20%7Busername%7D%2C%20I%27m%20interested%20in%20%7Bfeature%7D%20from%20openwork%20but%20I%27m%20missing%20documentation%20on%20it%2C%20could%20you%20create%20it%3F%0A%0AThanks) with the feature you're trying to use and we'll write the page.
|
||||
|
||||
## Write it yourself
|
||||
|
||||
OpenWork docs live in the [openwork repo](https://github.com/different-ai/openwork/tree/dev/packages/docs). Open a PR with a new `.mdx` page and we'll review it.
|
||||
70
packages/docs/start-here/self-host.mdx
Normal file
@@ -0,0 +1,70 @@
|
||||
---
|
||||
title: "Self-host"
|
||||
description: "Run OpenWork on your own server with openwork-orchestrator."
|
||||
---
|
||||
|
||||
Most users just use the [desktop app](https://openworklabs.com/download). This guide covers self-hosting OpenWork via the CLI so you can run tasks on your own server and connect the desktop app to it remotely.
|
||||
|
||||
Want hosted workspaces, team skill hubs, or shared providers without running infra? Use [OpenWork Cloud](/cloud/get-started) instead. Rolling this out across a company? [Book a call](https://cal.com/team/openwork/enterprise) about [Enterprise](/cloud/enterprise).
|
||||
|
||||
## Step 1: Install on your server
|
||||
|
||||
```bash
|
||||
npm install -g openwork-orchestrator
|
||||
```
|
||||
|
||||
## Step 2: Start OpenWork in your workspace
|
||||
|
||||
Run it where your code lives:
|
||||
|
||||
```bash
|
||||
openwork start --workspace /path/to/your/workspace --approval auto
|
||||
```
|
||||
|
||||
<Frame>
|
||||

|
||||
</Frame>
|
||||
|
||||
Copy:
|
||||
|
||||
- `OpenWork URL`
|
||||
- `OpenWork Owner Token`
|
||||
|
||||
## Step 3: Connect the desktop app
|
||||
|
||||
On your local machine, open the OpenWork desktop app and connect to the remote workspace:
|
||||
|
||||
- Click `+ Add workspace` (bottom left)
|
||||
- Click `+ Connect Remote workspace`
|
||||
- Paste the `OpenWork URL` and `OpenWork Owner Token` from Step 2
|
||||
|
||||
<Frame>
|
||||

|
||||
</Frame>
|
||||
|
||||
## What this gives you
|
||||
|
||||
- Your code, data, models, and credentials stay on your machine.
|
||||
- Your local machine stays light — work runs on the server.
|
||||
- A fast path from install to a connected remote OpenWork workspace.
|
||||
|
||||
## Don't want to run infra?
|
||||
|
||||
Skip the server. [**OpenWork Cloud**](/cloud/get-started) runs hosted workers for your team.
|
||||
|
||||
Cloud also gives you org-wide primitives you'd otherwise have to build: [team skill hubs](/cloud/share-with-your-team/skill-hubs), [shared LLM providers](/cloud/share-with-your-team/managed-llm-provider), [RBAC](/cloud/members-and-rbac), and [shared workspaces](/cloud/run-in-the-cloud/shared-workspace).
|
||||
|
||||
## Looking for support for a larger rollout?
|
||||
|
||||
If you're rolling OpenWork out across a company of 150+ employees, the orchestrator on a single VM might be harder to manage.
|
||||
|
||||
At that scale our customers typically want:
|
||||
|
||||
- **SSO (SAML/OIDC)** so people sign in with the identity your company already uses
|
||||
- **Audit logs** across sessions, tool calls, and model usage
|
||||
- **Model and tool allowlists** enforced centrally, not per-workspace
|
||||
- **VPC / on-prem deployment** with your own networking and compliance constraints
|
||||
- **Support and rollout help** from our team and custom deployment, not just in GitHub.
|
||||
|
||||
You can check the [**Enterprise**](/cloud/enterprise) page or [book a 30-minute call](https://cal.com/team/openwork/enterprise).
|
||||
|
||||