* feat(app): gate desktop updates by org config
Return allowed desktop versions through the signed-in desktop config endpoint and only surface Tauri updates when both the server and active org explicitly allow them, logging failures silently for debugging.
* fix(app): trace den-gated update checks
Wait for Den auth hydration before the startup update check and add debug logging around auth restoration and update gating so local-vs-cloud version decisions are visible while testing.
---------
Co-authored-by: src-opn <src-opn@users.noreply.github.com>
* docs: make start-here app-first
Clarify the primary OpenWork CTA for new users, group self-hosting in one place, and add a missing languages page so localization contributions have a clear home.
* docs: refine get started setup cards
Add an enterprise card beside the cloud entrypoint and remove the self-hosting CTA from the get started page so the setup choices stay focused.
* more clear initial cta
* docs: clarify missing languages contribution path
Reframe the page around the languages OpenWork already ships, then explain where to improve existing locale files and which files need updates to add a new language.
* docs: swap Ollama functional example for Infron LLM gateway
Introduces the LLM gateway concept (single OpenAI-compatible endpoint,
unified billing, fallbacks), replaces the Ollama walkthrough with an
Infron config, and links out to Infron's signup + quickstart per their
reciprocal doc in their OpenWork page.
* docs: frame Infron as hosted gateway vs LiteLLM starting point
Link to Infron's LiteLLM integration page as the canonical open-source
gateway reference, and position Infron as the OpenRouter-style hosted
gateway that sits on top: one key, unified billing, provider fallbacks.
* docs: drop OpenRouter comparison, pitch Infron directly for dev ergonomics
* docs: drop em dashes, loosen Infron pitch to devrel voice
* docs: add Infron model picker + active session screenshots
* 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
* docs: enhance cloud documentation with new guides and updates
- Updated the Slack integration documentation for clarity and consistency.
- Added new guides for managing members and RBAC, deploying shared workspaces, and creating skill hubs in OpenWork Cloud.
- Introduced instructions for adding custom and managed LLM providers.
- Updated the get-started guide to reflect changes in the Cloud integration process.
- Removed outdated references and improved overall documentation structure.
* get started cloud
* docs: add anthropic api key setup tutorial
Guide users through manual Anthropic API key creation now that Anthropic uses direct key entry in OpenWork. Include screenshot placeholders for the Anthropic console flow so support docs can be illustrated later.
* screenshots re-anthropic
* correct image render
* minor improvement changelog
* test to see if mintlify renders gifs
* test to see if mintlify renders gifs2
* gifs side by side
* minimal
* march 13th
* march 15th
* simpler changelog
* simplified changelog
* mintlify fix
* changelog fix
* correct filename
* mp4 to gif
* simplifying
* weird bug tracking
* feat(den): add org API key auth and management
Let org owners and admins manage named API keys while keeping keys scoped to the issuing member and org. Reuse existing org middleware so API-key-backed requests behave like normal user actions across Den routes.
* fix(den): polish API key creation flow
Avoid duplicating the visible key prefix in the table preview and make key creation an explicit one-time reveal flow. Show the create form only after the user asks for a new key, then replace it with the copyable secret after issuance.
* fix(den): simplify API key table UI
Remove rate-limit details from the Den web API keys screen and keep the page focused on naming, reveal, and deletion. Leave the generated next-env types file out of the commit.
---------
Co-authored-by: src-opn <src-opn@users.noreply.github.com>
* docs(changelog): build fuller tracker drafts through v0.11.202
* docs(changelog): drop publication flags from tracker files
* docs(changelog): generate titles from tracker sections
* docs(changelog): format titles after version links
Swaps the teal Mintlify defaults for OpenWork's actual brand palette:
light mode accent #011627 (dark navy), dark mode accent #3b82f6 (blue),
and buttons #011627 (navy) to match openworklabs.com CTAs.
* feat(docs): add changelog page generated from release tracker
Add a script (scripts/generate-changelog.mjs) that parses
changelog/release-tracker.md and generates a minimalistic
changelog.mdx for the Mintlify docs. Each entry shows the date,
a tag (New/Improved/Adjusted/Misc), and either a one-liner (minor)
or bullet points (major). Version headings link to GitHub compare
URLs derived from consecutive versions.
* fix(docs): use Mintlify Update components and href tab for changelog
Switch changelog.mdx to use Mintlify's built-in <Update> component
with label, description, and tags props. Fix the tab config to use
href instead of pages.
* fix(docs): move changelog from tab to sidebar group
Place changelog as a grouped section in the sidebar navigation
instead of a separate tab that was causing redirect issues.
* fix(docs): plain version in description, link in body
The description prop renders as plain text in Mintlify, so markdown
links showed raw. Move version to plain description and put the
compare link as a "View changes" link inside the Update body.
* fix(docs): version as heading, multiple tags, Mintlify conventions
Use version as ## heading inside each Update body, support multiple
tags (New releases, Improvements, Deprecations), indent content
2 spaces per Mintlify convention, remove description prop.
* fix(docs): update changelog tags with emojis and new names
Tags are now: 🚀 New Features, 🐛 Bug Fixes, 🏗️ Refactoring
* feat(docs): group changelog entries by date
Merge same-day releases into a single Update block. Tags are
unioned across versions, Misc is dropped when real tags exist.
Each version remains as an ## heading within the grouped day.
* fix(docs): restore migrated share skill links
Republish the example skill bundles on share.openworklabs.com so the docs point at live imports again, and align share bundle examples with the current publisher host.
* fix(server): use canonical shared bundle data urls
Rebuild trusted share fetch URLs to the share service's canonical /b/:id/data endpoint and cover the path with the live provider-config-helper bundle URL.
- Revised the "Importing a skill" documentation for clarity and consistency, including updated descriptions and instructions.
- Enhanced the AUR README to specify the removal of the bundled `/usr/bin/opencode` file to prevent conflicts with `opencode-bin`, ensuring compatibility with existing installations.
* feat(ui): add shared seeded paper gradients
Centralize the Paper mesh and grain wrappers so React and Solid apps can reuse the same deterministic seed-based visuals without repeating shader config. Add a standalone demo surface and update existing consumers so the shared package is easier to validate and evolve.
* fix(ui): resolve shared package from source
Point the shared UI package exports at source files so Next builds do not depend on a prebuilt dist directory. Add Next transpilation for @openwork/ui in Landing and Den Web so monorepo and Vercel builds resolve the package consistently.
---------
Co-authored-by: src-opn <src-opn@users.noreply.github.com>