Model or dataset
TesslateAI/OpenSail avatar
TesslateAI/OpenSail

OpenSail: A Self-Hosted Control Plane for Agentic Workflows

OpenSail is the open-source alternative to Codex App, Claude Desktop, Cursor, and Cowork for agentic software work.

644 stars105 forksPythonApache-2.0

At a glance

What is it?
OpenSail is an Apache-2.0 Python platform for building and running AI agents, apps and automations on your own infrastructure, with approvals, budgets and audit trails attached. The README promises a lot of control-plane surface area; the release history suggests the project is still early, so the question is whether the current pieces line up with the pitch.
Who is it for?
OpenSail is aimed at teams that already run Kubernetes or Docker and want agents, approvals and budgets inside their own perimeter rather than in a vendor's cloud. It is a poor fit for anyone who wants a single-binary desktop tool or who cannot operate container infrastructure.
Can I use it commercially?
Yes. Apache-2.0 is a permissive licence: you can use, modify and sell software built on it, as long as you keep its copyright and licence notices.
Is it still maintained?
Yes. The repository last received commits 7 days ago.
What is it written in?
Mainly Python, according to GitHub's language statistics.

Answers come from the project's GitHub data, last synced on September 15, 2026, and from our analysis. They are not legal advice.

DEEP OPEN-SOURCE ANALYSIS

The Recurring Process Problem OpenSail Targets

The README frames the problem in terms of work that keeps coming back: a founder chasing follow-ups, an operator buried in handoffs, a support team routing issues. The pitch is that these processes currently live in Slack threads, email, spreadsheets and tickets, and that OpenSail turns them into runnable software with a trigger, an action, delivery targets, approval gates and run history. That is a specific claim about scope. OpenSail is not trying to be an autocomplete layer inside your editor, and it is not a chat client with plugins. It is a runtime plus a control plane: something has to execute the workflow, schedule it, hold its state and record what happened.

The intended audience is split in two. Builders get a way to package an experiment as an installable app with typed actions, views and data resources. Operators and team leads get a view of what ran, what it cost, which systems it touched and who approved it. The README also names legal intake, billing review and third-party risk as example domains, which is a signal that the project expects non-developer authors to describe work in plain English and have the platform assemble the rest. Whether that works in practice depends on the builder agents, which the README describes as able to create agents, wire connectors and attach schedules from chat.

Snapshot-Backed Workspaces and the Connector Proxy

Two mechanisms carry most of the architecture as described. The first is portable, snapshot-backed workspaces. According to the README, agents and apps can sleep when idle, wake when needed, keep state across runs, and move from a local desktop to your own cloud with the same project state intact. That is a meaningful design decision: state lives in a snapshot rather than in a long-running process, which is what makes the sleep and wake behaviour possible and what makes the local-to-cloud move plausible. It also implies that anything holding state outside the snapshot (an open socket, an in-memory queue) does not survive the transition.

The second is the Connector Proxy. Credentials are kept behind it, and apps use tools through scoped runtime calls rather than holding keys directly. The README does not specify the proxy's protocol, how scopes are defined, or where the proxy itself runs, so the security properties of that boundary cannot be confirmed from the supplied material. The topics list includes mcp, connectors and kubernetes, which suggests MCP servers are one of the connector types, but the README only names Slack, Linear, GitHub, Salesforce, Gmail, internal APIs and MCP servers as connectable systems without describing the integration mechanics.

Workflows themselves are composed of a trigger, an agent or app action, selected tools and connectors, delivery targets, approval gates and budget limits. Runs can pause at approval boundaries while the system keeps processing other work. That pause-and-resume behaviour is the part that distinguishes this from a simple cron job with an LLM call, and it is also the part most likely to expose rough edges in an early release.

What Getting It Running Actually Requires

The README does not contain install commands. It links to docs.tesslate.com and a quickstart page, and that is where setup instructions live. What the repository does tell you is the shape of the deployment: the badges list Linux, macOS and Windows as platforms, and Kubernetes Native as the runtime, with Docker and btrfs among the topics. The multi-container internal app example describes shipping a frontend, backend, database, agent and dashboard as one installable app, which matches the container-oriented runtime. The Tauri topic indicates the desktop client is built on Tauri, so the desktop experience is a shell around the same underlying platform rather than a separate product.

Because the README shows no commands and no config keys, I cannot give you a verified invocation or a settings file to edit. Anyone evaluating OpenSail should treat the quickstart documentation as the source of truth and check it against the release they intend to install, since the repository has three releases with different scopes: v0.1.0 as the initial public release, v0.1.1 covering agents, apps and automations, and next-v0.2.0. The naming of the newest release is itself worth noting. A tag prefixed with next suggests a pre-release or staging line rather than a settled version, and the gap between v0.1.1 in April 2026 and next-v0.2.0 in September 2026 is roughly four months. That is not a criticism, but it does mean the documentation and the code may be describing different states of the project.

Where OpenSail Is the Wrong Tool

The clearest limitation is operational weight. A Kubernetes-native runtime with multi-container workspaces and a connector proxy is infrastructure. If your recurring task is a single API call and a Slack message, running a cluster to host it is disproportionate, and the README's own distinction between lightweight connector-only automations and heavier jobs with files, code, terminals, databases and running services acknowledges that two tiers exist. The question is whether the lightweight tier can run without the heavy tier's dependencies. The material does not say.

A second limitation is the plain-English authoring claim. The README says you can start with a workflow described in plain English and that builder agents create agents, wire connectors and attach schedules from chat. There is no description of how a generated workflow is validated before it runs, what happens when the builder agent misreads the intent, or how a non-technical author debugs a workflow that produced the wrong output. Approval gates and run history help here, but they are after-the-fact controls. For a legal intake or billing review process, the difference between a draft and a filed action matters, and the README's answer (require approval before risky actions) puts the burden on the workflow author to define what counts as risky.

A third issue is maturity. Three releases, the most recent of which is a pre-release tag, is an early project. The README's promises about moving workspaces between local and cloud, forking shared apps and letting agents call apps are all forward-looking capabilities rather than demonstrated ones in the supplied material. None of that makes the project wrong, but it means the control-plane story is partly aspirational at this point.

How This Differs From Hosted Agent Platforms

The obvious comparison is a hosted agent product such as Claude Desktop or a cloud workflow service, and the README positions OpenSail directly against Codex App, Claude Desktop, Cursor and Cowork. The difference is not the model. OpenSail is model-agnostic by design (the topics list includes model-agnostic), so the model is a configuration choice rather than the product. The difference is where execution and state live. In a hosted product, the vendor runs the runtime, holds the credentials and produces the audit log. In OpenSail, the README states you run it on your infrastructure and that the platform keeps data, infrastructure, cost, permissions and auditability under your control.

That trade is real in both directions. Self-hosting means your data does not leave your perimeter and your spend is bounded by your own budgets rather than a vendor's pricing page. It also means you own upgrades, backups, cluster capacity and the connector proxy's availability. A team without container operations experience will spend more time on the platform than on the workflows it was meant to run. The snapshot-backed workspace design is the part that could reduce that burden over time, because moving a project between a laptop and a cluster without rebuilding it is exactly the friction that makes self-hosted agent platforms painful. Whether the snapshots are portable across Kubernetes distributions and storage backends is not stated in the material.

Licence, Maintenance and Upgrade Considerations

OpenSail is Apache-2.0. That is a permissive licence, which matters for a platform meant to be embedded in internal tooling: it permits commercial use and modification, and it includes an explicit patent grant. It does not impose copyleft obligations on your own workflow definitions or app code. I am not a lawyer and this is not legal advice; if you plan to redistribute OpenSail as part of a product, read the licence text and the NOTICE requirements yourself.

The maintenance cost is harder to assess. The repository is not archived and the last push is 2026-09-09, which is current relative to the release dates. The version history shows a public release in March 2026, a feature release in April 2026, and a next-tagged release in September 2026. That cadence suggests active development but also that interfaces may still be moving. For an operator, the practical risk is upgrading a Kubernetes-native platform whose workspace snapshots carry state: if the snapshot format changes between releases, the upgrade path matters more than the changelog. The README does not describe a migration process, a compatibility policy or a support window, so those are questions to put to the maintainers before committing a production workflow to it.

Who Should Adopt OpenSail, and What to Verify First

Adopt OpenSail if you already operate Kubernetes or Docker, you have recurring processes that touch several systems, and the reason you have not automated them is governance rather than capability. The approval gates, per-run and daily budgets, run history and scoped connector credentials are the features that address that gap, and they are the reason a self-hosted platform can be more useful than a hosted one for regulated or internal-facing work. The multi-container internal app example is also a genuine differentiator for teams that want to ship a frontend, backend, database and agent as one installable unit rather than stitching four tools together.

Do not adopt it if you want a desktop application you install and forget, if your workflows are single-step and low-stakes, or if nobody on the team can debug a container that will not schedule. The platform's value is proportional to the number and sensitivity of the processes you put on it, and its cost is proportional to your infrastructure competence.

Before committing, verify three things. First, read the quickstart at docs.tesslate.com and confirm it matches the release you are installing, because the README contains no commands and the newest tag is a next-prefixed pre-release. Second, get a concrete answer on how the Connector Proxy scopes credentials and where it stores them, since the README describes the boundary but not its implementation. Third, ask what happens to existing workspace snapshots when you upgrade, because that is the failure mode that would hurt most after you have moved real processes onto the platform.

Editorial conclusion

OpenSail is aimed at teams that already run Kubernetes or Docker and want agents, approvals and budgets inside their own perimeter rather than in a vendor's cloud. It is a poor fit for anyone who wants a single-binary desktop tool or who cannot operate container infrastructure. Before adopting, verify which release you are installing (the README's next-v0.2.0 is dated 2026-09-07 and the last push is 2026-09-09), confirm the Connector Proxy's scoped credential model against your own identity provider, and check the docs at docs.tesslate.com for the current quickstart because the README does not contain install commands.

Official sources

  1. License: Apache-2.0
  2. Project website
  3. README
  4. Releases
  5. TesslateAI/OpenSail on GitHub
Community notes

Community notes