Metadata-Version: 2.4
Name: workpilot
Version: 0.32.1
Summary: Enterprise AI assistant — internal preview only
Project-URL: Homepage, https://aka.ms/workpilot
Project-URL: Documentation, https://gim-home.github.io/WorkPilot/
Author: WorkPilot Team
License-Expression: MIT
Keywords: agent,ai,assistant,enterprise,mcp
Requires-Python: >=3.11
Requires-Dist: apscheduler>=3.11
Requires-Dist: beautifulsoup4>=4.14
Requires-Dist: fastapi>=0.135
Requires-Dist: filelock>=3.13
Requires-Dist: github-copilot-sdk>=1.0
Requires-Dist: httpx>=0.28
Requires-Dist: keyring>=25.0
Requires-Dist: loguru>=0.7
Requires-Dist: markdownify>=1.2
Requires-Dist: mcp<2,>=1.23
Requires-Dist: msal[broker]>=1.35.1
Requires-Dist: openai<3,>=2.24
Requires-Dist: playwright>=1.58
Requires-Dist: prompt-toolkit>=3.0
Requires-Dist: pydantic<3,>=2.12
Requires-Dist: pyjwt[crypto]>=2.8
Requires-Dist: python-multipart>=0.0.9
Requires-Dist: pyyaml>=6.0
Requires-Dist: rich>=14.3
Requires-Dist: tiktoken>=0.9
Requires-Dist: typer>=0.24
Requires-Dist: uvicorn[standard]>=0.41
Requires-Dist: websockets>=16.0
Provides-Extra: all
Requires-Dist: claude-agent-sdk>=0.2.82; extra == 'all'
Provides-Extra: dev
Requires-Dist: jsonschema>=4.20; extra == 'dev'
Requires-Dist: mypy>=1.19; extra == 'dev'
Requires-Dist: pytest-asyncio>=1.3; extra == 'dev'
Requires-Dist: pytest-cov>=7.0; extra == 'dev'
Requires-Dist: pytest-playwright>=0.7; extra == 'dev'
Requires-Dist: pytest-xdist>=3.8; extra == 'dev'
Requires-Dist: pytest>=9.0; extra == 'dev'
Requires-Dist: ruff>=0.15; extra == 'dev'
Requires-Dist: types-pyyaml>=6.0; extra == 'dev'
Description-Content-Type: text/markdown

<p align="center">
  <img src="docs/images/logo.svg" alt="WorkPilot" width="80" />
</p>

<h1 align="center">WorkPilot</h1>

<p align="center">
  <strong>An enterprise AI assistant for coding and office work, built for the Microsoft ecosystem.</strong>
</p>

<p align="center">
  <a href="https://github.com/gim-home/WorkPilot/actions/workflows/workpilot-ci.yml"><img src="https://github.com/gim-home/WorkPilot/actions/workflows/workpilot-ci.yml/badge.svg" alt="CI" /></a>
  <a href="https://www.python.org/"><img src="https://img.shields.io/badge/python-3.11%2B-blue.svg" alt="Python 3.11+" /></a>
  <a href="https://gim-home.github.io/WorkPilot/"><img src="https://img.shields.io/badge/docs-GitHub%20Pages-087f9c" alt="Documentation" /></a>
</p>

<p align="center">
  <a href="https://gim-home.github.io/WorkPilot/">Documentation</a> ·
  <a href="https://gim-home.github.io/WorkPilot/zh-cn/">简体中文</a> ·
  <a href="docs/CHANGELOG.md">Changelog</a> ·
  <a href="https://teams.microsoft.com/l/chat/0/0?users=28:80a9478e-6cc7-4e7a-84bc-37abbd81f5f6">Add to Teams</a>
</p>

---

WorkPilot runs its agent, credentials, memory, and sessions on your machine. Prompts and
tool content are sent only to the model providers and external channels you configure. It
combines development tools, Microsoft 365 integration, browser automation, MCP servers,
scheduled work, and multi-agent delegation behind one security and approval pipeline. The
optional Cloud Gateway is a stateless relay for Teams and Web Chat.

## Install

**Windows PowerShell**

```powershell
irm https://aka.ms/workpilot/install.ps1 | iex
wp
```

**macOS / Linux**

```bash
curl -fsSL https://aka.ms/workpilot/install.sh | bash
wp
```

Complete the guided enterprise GitHub Copilot sign-in and setup, then run
`workpilot doctor` to verify the configuration and effective Python package source.
WorkPilot-managed installs and updates default to
`https://packagefeedproxy.microsoft.io/pypi/simple/`; normal `pip`/`uv` use against
that feed does not require sign-in, a PAT, or `artifacts-keyring`. See the
[installation guide](https://gim-home.github.io/WorkPilot/getting-started/install) for
manual `PIP_INDEX_URL` / `UV_DEFAULT_INDEX` setup, firewall requirements, and
alternative install and update paths.

## Choose how to work

| Surface | Start command | Use it for |
|---|---|---|
| **Terminal (TUI)** | `workpilot chat` | Local terminal conversations |
| **Self-hosted Web** | `workpilot serve` | Browser chat, attachments, approvals, settings, and status |
| **Teams + M365 Copilot** | `workpilot cloud` | Microsoft 365 conversations through the Cloud Gateway |

## What it can do

| Area | Capabilities |
|---|---|
| **Development** | Read and edit code, run shell commands and tests, use Git, browse repositories, and delegate focused work |
| **Microsoft 365** | Work with mail, calendars, files, people, Teams, and other Graph surfaces through configured credentials |
| **Automation** | Run browser workflows, scheduled jobs, heartbeat tasks, skills, and MCP tools |
| **Knowledge** | Preserve append-only sessions, maintain long-term memory, search prior conversations, and use attachments |
| **Operations** | Serve a local gateway, connect cloud channels, inspect status, manage secrets, and audit actions |

## Security model

- Four profiles: `open`, `standard`, `controlled`, and `restricted`
- Per-call risk scoring and approval decisions
- Command and workspace sandboxing
- Secret storage, credential redaction, SSRF protection, and audit logs
- Manual emergency stop across tools and channels
- MCP tools treated as untrusted by default

Start with the [security architecture](https://gim-home.github.io/WorkPilot/security/overview)
and [approval guide](https://gim-home.github.io/WorkPilot/security/approvals).

## Documentation

- [Get started](https://gim-home.github.io/WorkPilot/getting-started/install)
- [Channels](https://gim-home.github.io/WorkPilot/channels/web)
- [CLI](https://gim-home.github.io/WorkPilot/cli/overview)
- [Agents and tools](https://gim-home.github.io/WorkPilot/agents/overview)
- [Extensions and automation](https://gim-home.github.io/WorkPilot/extend/skills)
- [Configuration](https://gim-home.github.io/WorkPilot/configuration/overview)
- [Gateways and security](https://gim-home.github.io/WorkPilot/gateways/local)
- [CLI reference](https://gim-home.github.io/WorkPilot/cli/reference)
- [Configuration schema](https://gim-home.github.io/WorkPilot/configuration/schema)
- [Troubleshooting](https://gim-home.github.io/WorkPilot/troubleshooting)
- [Contributor guide](https://gim-home.github.io/WorkPilot/contributing/development)

## Development

WorkPilot contains three separately validated components:

| Component | Location | Primary checks |
|---|---|---|
| Python runtime and CLI | `workpilot/` | `pytest`, Ruff, mypy |
| React Web app | `web/` | TypeScript, ESLint, Vitest, Vite |
| .NET Cloud Gateway | `cloud_gateway/` | `dotnet build`, `dotnet test` |

```bash
mkdir -p web/dist
python -m pip --isolated install --index-url https://packagefeedproxy.microsoft.io/pypi/simple/ -e ".[dev]"
pytest tests/ -v
python -m ruff check workpilot/ tests/
python -m mypy workpilot/
```

For multi-command manual shell sessions, set `PIP_INDEX_URL` / `UV_DEFAULT_INDEX` and
clear alternate index variables as shown in the development guide. Frontend installs
use `web/.npmrc` and the Microsoft-protected npm feed. Read the
[development guide](https://gim-home.github.io/WorkPilot/contributing/development) before
changing a component.

All changes go through a feature branch and pull request; never push directly to `main`.

## Architecture

WorkPilot is organized as **Transport → Message Bus → Processing**, with provider, session,
memory, configuration, and security services underneath. See the
[architecture overview](https://gim-home.github.io/WorkPilot/contributing/architecture)
and the internal [core specification](design/core-infra.md).
