Carole.ai is a local AI agent workspace with chat, project tools, memory, MCP
integrations, browser automation, and a Kanban board. The PyPI package includes
the built web interface: one caroleai command runs the FastAPI backend and
serves the frontend from the same address.
The public landing page is caroleai.com.
It does not
host accounts or the backend: Sign in and Sign up open http://127.0.0.1:8000
on the visitor's own computer after they install and start Carole.ai.
Click the preview to watch the full video with sound.
Install and run
Use Python 3.11 or 3.12. A virtual environment is recommended:
python -m venv .venv
# macOS/Linux: source .venv/bin/activate
# Windows PowerShell: .venv\Scripts\Activate.ps1
python -m pip install carole.ai
caroleai
Open http://127.0.0.1:8000. The first account created
becomes the local instance owner. Application data is stored in ~/.carole by
default. Node.js and Docker are not required for the PyPI installation.
You can also install the command with pipx install carole.ai. To use browser
automation, install the Chromium browser once with playwright install chromium.
Connect an AI model provider in the app's settings or supply its API key through
your environment.
To use Google Workspace tools, open Settings → Google Workspace Integration and choose Connect Google Account. Carole opens Google's consent page for the user's own account; no shared Google login is used. Refresh and access tokens remain on that computer in Windows Credential Manager, macOS Keychain, or Linux Secret Service. Read operations can run directly, while sending email or creating, editing, trashing, or deleting Google data requires human approval.
Run caroleai --help for options including --port, --data-dir, and
--no-browser. The command binds to 127.0.0.1 by default. Keep it local unless
you have deliberately secured access: the instance owner can use host-level
capabilities such as shell, Git, plugins, and browser automation.
For persistent login sessions, set a stable, random JWT_SECRET in your
environment or .env file before starting Carole.ai. Without one, a new secret
is generated on each restart and existing sessions are invalidated. Never commit
API keys or secrets to this repository.
Features
- Hybrid GraphRAG memory with LanceDB and a
networkxcode graph. - MCP integrations and a dynamic tool registry.
- Gmail, Calendar, Meet, and Google Tasks integration through local OAuth.
- Browser and meeting workflows, including Google Meet integration.
- Real-time Kanban and project-management tools.
Develop from source
The public GitHub repository contains both the FastAPI backend and the Next.js frontend. The following is for contributors working on the source; it is not needed to run the PyPI package.
Prerequisites: Python 3.11 or 3.12 and Node.js 22. From the repository root, create a Python environment and install the backend requirements:
python -m venv .venv
# Activate .venv for your shell, then:
python -m pip install -r backend/requirements.txt
cd backend
uvicorn main:app --reload
In another terminal, start the frontend:
cd frontend
npm ci
npm run dev
The development frontend is at http://localhost:3000, the API at http://localhost:8000, and API documentation at http://localhost:8000/docs. Set provider API keys in your own local environment if you want to use model-backed features.
Source, bug reports, and contributions are available through GitHub and its issue tracker.
Instance owner and upgrade notes
The first account created is automatically the local instance owner. An operator
can optionally set CAROLE_OWNER_ID to an account UUID as a recovery override.
The instance owner controls host capabilities: terminal/shell access, Git,
browser automation, plugins, MCP servers, external workspace paths, and
instance settings/model/prompt administration. These operations are unavailable
until an owner is configured. Project ownership alone does not grant access to
the host machine. Host tools run with the backend OS account's privileges; this
is not an OS sandbox for untrusted tenants.
File, search, Git, and history APIs require an owned project UUID. Clients must use the backend Git API; the former Next.js Git endpoint returns HTTP 410. Attachments require authenticated downloads. Google accounts must reconnect through Settings after upgrading: credentials are stored separately per account in the operating-system credential vault, and any legacy private token file is migrated and removed. The bundled Desktop OAuth client identifies Carole.ai but does not grant access to any Google account; access begins only after the user consents locally. The OAuth start request must include browser credentials so its callback can verify the initiating browser.
Docker stores application data in the carole_data volume at /data/carole.
Back up and copy any existing .carole data into that volume before switching
an existing deployment; creating the volume does not migrate old data. An
explicit DATABASE_URL or CAROLE_HOME_DIR override must point to persistent
storage. Playwright browsers are installed at a path available to the non-root
app user.
Metadata
Release files for carole.ai 0.1.2
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| carole_ai-0.1.2.tar.gz | 12.0 MB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| carole_ai-0.1.2-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 24.0 MB
Release files / carole_ai-0.1.2.tar.gz
| Download URL | carole_ai-0.1.2.tar.gz |
|---|---|
| Size | 12.0 MB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
5ef599c36d359bd02953be33853ff0698f1eeb46272a951edb4d575330b85370
|
|
BLAKE2b-256 checksum How to use checksums |
7908fe5bd366a307dc90e0c5160e1b49e4b93f9410b64f19bcd5006bc4f85ffd
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Sep 29, 2026.
Transparency logRelease files / carole_ai-0.1.2-py3-none-any.whl
| Download URL | carole_ai-0.1.2-py3-none-any.whl |
|---|---|
| Size | 12.1 MB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
e7d4cdde44a3700573af65fd719a8478708f534fa2ecc572966c2a2b59c45271
|
|
BLAKE2b-256 checksum How to use checksums |
915441e61bf589bbdc9a336d2e863e1c2b86ebc7622d698b466605e86fc0f2f7
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Sep 29, 2026.
Transparency log