Enterprise AI assistant — internal preview only
Project description
WorkPilot
An autonomous AI assistant that codes, communicates, and ships across your entire Microsoft stack — proactively and securely.
Website · Documentation · Changelog · Add to Teams
WorkPilot runs entirely on your machine. Your source code, credentials, and conversations never leave your infrastructure — yet your team can reach it directly from Microsoft Teams, a browser, or the terminal.
Why WorkPilot?
| Principle | Details |
|---|---|
| Your infra, your data | Runs on your machine or VM — nothing persisted outside your network |
| Your identity provider | Entra ID (Azure AD) SSO — no separate accounts or API keys to manage |
| Your compliance posture | Four security profiles (open → standard → controlled → restricted) |
| Your Microsoft stack | Native Teams bot, Outlook, Graph API, Azure DevOps integration |
Install
With uv (recommended), pip, or the bootstrap script below:
uv tool install workpilot@latest
workpilot init # guided setup
workpilot # smart start — init if needed, then launch
One-click bootstrap (auto-installs uv + Python if needed)
Windows (PowerShell):
irm https://aka.ms/workpilot/install.ps1 | iex
macOS / Linux:
curl -fsSL https://aka.ms/workpilot/install.sh | bash
The bootstrap scripts install uv and ensure a compatible Python runtime is available if needed, then install WorkPilot via uv tool. Existing pip installs are migrated automatically.
Alternative: pip install
pip install --upgrade workpilot
Note:
uv tool installis recommended over pip because it creates an isolated environment and avoids Windows file-lock issues during upgrades. To migrate an existing pip install to uv: re-run the bootstrap script or manually:pip uninstall workpilot -y uv tool install workpilot@latest
Platform notes
| Platform | Notes |
|---|---|
| Windows | If workpilot isn't found after install, ensure the install location is on your PATH: %USERPROFILE%\.local\bin for uv, or %APPDATA%\Python\Python3x\Scripts for pip. Or use the bootstrap script. |
| macOS | You may need python3 instead of python. Homebrew: brew install python@3.11 |
| Linux | sudo apt install python3.11 python3.11-venv if Python 3.11+ isn't available. |
Three ways to use it
Terminal
workpilot chat # interactive REPL
workpilot run "write tests" # one-shot
Self-hosted web server
workpilot serve # http://localhost:3003
Chat UI, REST API, WebSocket, and OpenAI-compatible /v1/chat/completions — all on your own server.
Microsoft Teams + Web Chat
workpilot cloud # authenticate with Entra ID
A stateless Cloud Gateway relays messages between Teams and your machine over outbound WSS. Nothing is stored in the cloud.
Teams user? Add WorkPilot to Teams (Preview) then run
workpilot sto bring it online.
What it does
| Capability | Details |
|---|---|
| Code | Read, write, edit, refactor, and debug across your entire codebase |
| Shell | Run commands, git, tests, build tools — sandboxed with deny-pattern controls |
| Browse | Web search, HTTP requests, Playwright browser automation (36 actions) |
| Microsoft 365 | Teams messages, Outlook email, calendar, Graph API, Azure DevOps |
| Delegate | Spawn sub-agents; delegate to GitHub Copilot or Claude Code in background |
| Skills | Markdown prompt overlays with auto-activation — 7 bundled, create your own |
| MCP | Connect external tool servers — namespaced tools, progressive loading, auto-reconnect |
| Schedule | Cron jobs, event triggers, heartbeat tasks, recurring automation |
Built-in agents
| Agent | Model | Purpose |
|---|---|---|
default |
auto | Full-capability orchestrator — user-facing, spawns sub-agents |
explorer |
fast | Read-only codebase search — 10× cheaper, spawned automatically |
security |
fast | Internal Security Classifier — evaluates tool calls (not user-facing) |
5 templates (coder, reviewer, tester, researcher, communicator) can be enabled per-project in workpilot.yaml.
Security
WorkPilot implements defense-in-depth at every layer:
| Layer | Mechanisms |
|---|---|
| Access control | Entra ID SSO · 4 security profiles · per-agent permissions · RBAC roles |
| Runtime protection | 3-phase tool hook pipeline · Security Classifier (fast LLM) · command sandbox · path sandbox · SSRF protection |
| Incident response | Append-only audit log · secret redaction · credential leak detection · E-stop (auto or manual) |
Architecture
Terminal / Web UI / Teams
│
Message Bus (bounded queues + typed events)
│
Agent Loop ──── Tool Registry ──── Skills (auto-inject)
│ │ │
│ │ MCP Servers
│ │
│ LLM Provider (OpenAI SDK + circuit breaker + cost tracking)
│
Security Pipeline (preflight → execute → postflight)
See design/core-infra.md for the full architecture spec.
Development
git clone https://github.com/gim-home/WorkPilot.git
cd WorkPilot
pip install -e ".[dev]" # editable install with dev dependencies
pip install -e ".[all]" # all optional deps (browser, scheduler, etc.)
pytest tests/ -v # 1500+ tests
python -m ruff check && python -m ruff format
All changes via pull request. Never push directly to main.
Links
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file workpilot-0.20.1.tar.gz.
File metadata
- Download URL: workpilot-0.20.1.tar.gz
- Upload date:
- Size: 1.6 MB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.13
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
8ba033c4d957ec87c1d63c415181cecff21ac65b11e8a3b2d8d9fcaf4b9ba665
|
|
| MD5 |
1ee42ffa8f2453e2f8f7691792e4f9f1
|
|
| BLAKE2b-256 |
c0f5833dbc7feebe03baa498c0711beb080d8819040af59bee0a906a902afa6b
|
File details
Details for the file workpilot-0.20.1-py3-none-any.whl.
File metadata
- Download URL: workpilot-0.20.1-py3-none-any.whl
- Upload date:
- Size: 1.7 MB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.13
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
4cec8e506f5bef9e3cd4fd4c24f837a1209a49d48044ab6b4329b1ca4d092e45
|
|
| MD5 |
de0cccefc3cff6c7e979092b4a0db7b3
|
|
| BLAKE2b-256 |
7ff27d2bd41d9e21209d0305723cdfd168227b4c71f2ff625e75211b019f653e
|