Open-source project
OpenBMB/StaffDeck avatar
OpenBMB/StaffDeck

OpenBMB/StaffDeck: an enterprise platform for building digital employees

Enterprise Digital Employee Platform

1,928 stars336 forksPythonAGPL-3.0

At a glance

What is it?
StaffDeck turns written procedures and decision criteria into state-machine-driven digital employees with document-aware retrieval and API execution. This review covers what it installs, how the pieces fit, and where it stops being the right tool.
Who is it for?
Adopt StaffDeck if you are an enterprise or institution that already has written procedures and wants them executed by a traceable digital employee rather than a chat session; the state-machine SOP model and document-structure-aware retrieval are the parts worth evaluating. Do not adopt it if you need a small single-purpose agent you can read end to end in an afternoon, or if AGPL-3.0 is incompatible with how you distribute your own product.
Can I use it commercially?
Yes, with strict conditions. AGPL-3.0 is a network copyleft licence: if people use a modified version over a network, for example as a hosted service, you must offer them its source code under the same licence.
Is it still maintained?
Yes. The repository last received commits 1 day 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 18, 2026, and from our analysis. They are not legal advice.

DEEP OPEN-SOURCE ANALYSIS

The problem StaffDeck addresses: procedures that live in people, not systems

Most automation tools start from a task. StaffDeck starts from a role. The README describes digital employees with positions, employee IDs, capability profiles, and work records, which is a different unit of design than a prompt or a workflow file. The stated audience is enterprises and institutions that want AI to move from a personal productivity tool to an organizational capability, and the project is jointly developed by ModelBest, the NEU-ModelBest Data Intelligence Joint Lab, THUNLP, OpenBMB, and AI9Stars.

The framing matters because it changes what the platform has to store. If a digital employee has a position and a work record, the system needs identity, permission isolation, publishing, and reuse, and the README lists exactly those. The claim that expertise becomes a reusable, evolvable, and traceable organizational asset is the design goal; whether your organization's procedures are written down well enough to be encoded that way is a separate question you have to answer before installing anything.

How the mechanism works: SOPs as state machines over a document index

Two mechanisms carry most of the architecture. The first is procedural skills generated as structured SOPs from natural language, then executed by a state machine. The README states this supports real-time switching across multiple flows, context preservation, visual editing, version management, and branch evolution. A state machine is a stricter execution model than a free-running agent loop: the flow has defined states and transitions, which is what makes branch evolution and version management meaningful. It also means an SOP that models the process badly will fail predictably rather than creatively.

The second is retrieval. StaffDeck builds navigable indexes across documents, chapters, pages, and summaries, so a digital employee estimates where information may reside and then locates the original text step by step. That is a hierarchical descent rather than a flat vector search, and the README pairs it with knowledge buckets, targeted retrieval, source citations, and retrieval debugging. Execution then happens through HTTP APIs, MCP, and scheduled tasks, with long-term memory, complete traces, human takeover, user feedback, and feedback analysis closing the loop. The repository layout reflects the split: backend/ and frontend-enterprise/ for the application, skills/ and skills.zip for packaged capabilities, and design documents such as design-model-api-protocols.md and design-multi-agent-team-decisions.md at the top level.

Installing StaffDeck and running a first real check

There are two paths. The desktop route needs no toolchain: the README links .dmg builds for macOS arm64 and x86_64, a Windows x64 .exe installer, and a Linux x86_64 .deb. Linux packages listen on 127.0.0.1 by default, and the staffdeck setup command changes the listening mode and port, including on a headless host. The flags shown are --mode with local, lan, or public, plus --port and, for public deployments, --public-url. Note the documented behavior: local listens only on the machine, while lan and public listen on 0.0.0.0, and the setup is saved per user and applied on the next launch.

bash
staffdeck setup
staffdeck setup --mode local --port 5173
staffdeck setup --mode public --port 5173 --public-url https://staff.example.com

For a code-based deployment the requirements are Python 3.11+ and Node.js 20+, on macOS, Linux, WSL, or Windows PowerShell. The README's agent-friendly prompt spells out the sequence: clone the repository, create backend/.venv, install backend and frontend dependencies, copy backend/.env.example to backend/.env, and supply an OpenAI-compatible model endpoint and API key. Launch is a script, not a package install.

bash
# macOS, Linux, WSL
scripts/dev_up.sh --detach
text
# Windows PowerShell
.\scripts\dev_up.ps1 --detach

Verification is explicit in the README: check /api/health and /workspace/gallery before reporting success. For code-based deployments the runtime can be overridden with ULTRARAG_HOST, ULTRARAG_PORT, and STAFFDECK_PUBLIC_URL. If SSO is enabled, the README says to use an HTTPS reverse proxy for public deployments and set the same public URL as OIDC_REDIRECT_URI.

Where StaffDeck is the wrong tool

The state-machine model is a constraint as much as a feature. Work that does not decompose into a flow with defined states and transitions does not fit the procedural-skill path, and you are left with the general execution and retrieval layers. If your process changes shape every week, the version management and branch evolution machinery becomes overhead rather than an asset.

The retrieval design has a comparable boundary. Document-structure-aware indexing assumes your knowledge has structure worth navigating: chapters, pages, summaries. A corpus of short unstructured notes gives the hierarchy little to descend through, and the step-by-step location strategy loses its advantage over a flat search.

Deployment is the third boundary. This is not a single binary you run and forget. The code path expects a Python virtual environment, a Node.js frontend, an .env file copied from an example, and an external OpenAI-compatible model endpoint. The README does not document rollback for a failed setup, and it does not describe what happens to in-flight digital employee runs during an upgrade. For a small team wanting one narrow assistant, that surface area is disproportionate. The licence is the fourth boundary and is covered below.

How StaffDeck differs from a general agent framework

The natural comparison is a general-purpose agent framework where you write tools and a loop, and the model decides the sequence. StaffDeck inverts that: the SOP is authored first, generated into a structured flow, and the state machine decides the sequence, with the model operating inside the states. The README's phrase for the goal is executing complex processes accurately, which is a statement about determinism, not about open-ended capability.

The retrieval layer is the second difference. A framework typically gives you a vector store and leaves chunking to you. StaffDeck ships a document-structure-aware index with knowledge buckets and retrieval debugging, so the unit of retrieval is a location in a document hierarchy rather than a similarity score. The third difference is organizational rather than technical: positions, employee IDs, permission isolation, publishing, and reuse are first-class, and a general framework leaves all of that to whatever you build on top. If you only need a tool-calling loop, the framework is less machinery for the same result. If you need an auditable actor with a work record, the framework makes you build that yourself.

Maintenance, release cadence, and the AGPL-3.0 question

The repository is not archived, and the last push was on 2026-09-16. Releases are frequent and recent: v0.5.6 on 2026-09-11, v0.5.5 on 2026-09-10, and v0.5.4 on 2026-09-09. The news section records v0.5.0 on 2026-09-01 for faster and more stable execution, v0.4.0 on 2026-08-18 for multi-staff cooperation, v0.3.0 on 2026-08-06 for SOP editing and sandbox, and v0.2.0 on 2026-08-03 for harnessv2 and the IM system. That cadence cuts both ways: fixes arrive quickly, and the 0.x version numbers mean interfaces can still move between releases. Budget upgrade time accordingly, and read the release notes before moving a production deployment.

The licence is AGPL-3.0. The practical consequence is the network clause: if you modify StaffDeck and let users interact with it over a network, the AGPL's source-availability obligation is generally understood to reach your modified version. That is a real consideration for anyone embedding it in a hosted product. This is not legal advice; if your distribution model depends on keeping modifications closed, get counsel to review the AGPL text in the LICENSE file rather than assuming the answer.

Editorial conclusion

Adopt StaffDeck if you are an enterprise or institution that already has written procedures and wants them executed by a traceable digital employee rather than a chat session; the state-machine SOP model and document-structure-aware retrieval are the parts worth evaluating. Do not adopt it if you need a small single-purpose agent you can read end to end in an afternoon, or if AGPL-3.0 is incompatible with how you distribute your own product. Verify first that your deployment target matches the documented requirements (Python 3.11+, Node.js 20+) and that you can reach an OpenAI-compatible model endpoint, since the quick-start prompt asks for that endpoint and key before anything runs.

Frequently asked questions

Is StaffDeck the same as hiring employees?

No. StaffDeck builds digital employees: software constructs with positions, employee IDs, capability profiles, and work records that execute procedures through a state machine. The README frames them as organizational assets that take over repetitive tasks, not as replacements for a hiring process.

What are employee experience platforms, and is StaffDeck one?

The README does not describe StaffDeck as an employee experience platform. It describes an enterprise platform for building and managing digital employees from work experience, business processes, and decision criteria, aimed at enterprises and institutions moving AI from personal productivity to organizational capability.

Who is a staff employee in StaffDeck's model?

StaffDeck's model is about digital employees rather than human staff roles. Each digital employee has a position, an employee ID, a capability profile, and a work record, and the platform supports capability growth, permission isolation, publishing, and reuse.

Official sources

  1. License: AGPL-3.0
  2. OpenBMB/StaffDeck on GitHub
  3. Project website
  4. README
  5. Releases
Community notes

Community notes