This release is a pre-release and may not be stable for production use.
ShinBot
ShinBot is a self-hosted personal assistant. Ask it to research a question, use a website, work with files, or run a scheduled task. Watch its browser, take control to sign in, and give different bots their own roles and browser profiles.
Website · Documentation · Releases
ShinBot supports one owner with multiple bot profiles. Use a capable tool-calling model and review consequential actions. Handle email and calendar workflows through the browser or installed plugins.
Get started
Use Linux or macOS, Python 3.13 or newer, uv and a running Docker-compatible engine with Docker Compose.
uvx --prerelease allow shinbot start
ShinBot downloads its service images and opens http://localhost:8765 with a one-time setup link. Choose a password, connect a model, and try a small task. Home includes starter templates and prompts.
For a persistent CLI installation:
uv tool install --prerelease allow shinbot
shinbot start
You can also use python -m pip install --pre shinbot in a virtual environment. The Python package is the launcher and CLI; Docker still runs the application services. On a headless host, use shinbot start --no-open-browser and retrieve the token with shinbot setup-token.
See the installation guide, model setup and remote access guide.
What you can do
| Capability | Learn more |
|---|---|
| Chat in a desktop-style web app or the CLI, with automatic context compaction and action approvals | Conversations |
| Use a persistent browser, watch it work, take control and hand it back | Computer |
| Create bot profiles and groups, share templates, and choose private, group or shared browser logins | Bots and templates |
| Keep editable notes and explicitly saved memories, with search and Markdown exports | Notebook |
| Run one-time tasks and recurring routines | Scheduled jobs |
| Connect MCP, install plugins and skills, and review procedures learned from tested work | Plugins |
| Choose model providers, supported subscription sign-ins or compatible local endpoints | Models |
The app supports light, dark and system appearance. System is the default; your choice is saved in the browser.
Your installation and data
The launcher saves configuration in ~/.shinbot. Docker volumes hold conversations, notes, credentials, browser profiles, scheduled jobs and workspace files. Removing or reinstalling the Python package leaves that data in place. Keep the same OS account, launcher home and Docker engine when reinstalling.
shinbot status
shinbot doctor
shinbot stop
shinbot backup /safe/location/shinbot.tar.gz
Stopping preserves data. Backups contain credentials as well as your work; keep them private. Read backup and recovery before moving an installation or deleting volumes.
The gateway binds to loopback by default. Remote access can use an SSH tunnel or an HTTPS reverse proxy. Internal services stay private. Model providers receive the context needed for model calls. Executable plugins have workspace and outbound network access, so install code from sources you trust.
Built from six parts
| Part | Built with |
|---|---|
| Agent | Pi Durable, Pi AI and Chord in a small TypeScript service |
| Gateway | Python, FastAPI and plain HTML/CSS/JavaScript |
| Computer | Python worker, MCP, Playwright, Chromium, Xvfb, TigerVNC and noVNC |
| Notebook | SQLite FTS5 and Markdown exports |
| Jobs | Python coordinator, croniter and SQLite |
| Plugins | Versioned manifests, content hashes and separate processes |
Four services start by default. ShinBot uses published upstream packages through their public interfaces.
Extend ShinBot
Add sidebar apps, themes, chat and tool hooks, MCP servers, skills or bot templates through plugins. The extension guide explains the options and how to build your own.
The optional Projects plugin adds a GitHub attention inbox, issue-linked bot conversations and reminders, repository browsing, parallel worktrees and bot delegation. The optional Calendar plugin connects Google Calendar with read-only access and shows events alongside scheduled bot work. Manage encrypted integration and plugin credentials through Settings → Secrets. The Kanban plugin adds a board for work that needs several runs.
The official Telegram plugin adds a private chat connection. Follow its setup guide when you want to use it.
Contribute
The official repositories are shinbot-official-plugins and shinbot-official-templates. Users can add public personal repositories in the same format. Starter catalogs are included under marketplaces/.
From a source checkout:
uv sync --frozen --extra computer
npm --prefix runtime ci --ignore-scripts
npm --prefix runtime run build
uv run --frozen shinbot start --build
Read the architecture, development and tests, plugin guide, and template format.
GitHub Actions checks Python, the runtime, browser journeys, container integration, packaging and documentation. Publishing runs only for published GitHub Releases, which publish versioned Docker images, the Python package, the landing page and documentation from the release tag. The release guide covers trusted publishing, Docker credentials and GitHub Pages.
Licenses
ShinBot is MIT-licensed. Application dependencies primarily use permissive licenses. Reviewed exceptions include noVNC and certifi under MPL-2.0, and the optional Telegram library under LGPL-3.0. Dependencies are distributed unchanged with their notices. Platform components, including Linux, Chromium and TigerVNC, have separate licenses. See the license guide for the application, documentation and platform inventories.
Metadata
Release files for shinbot 0.1.0a2
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | Actions |
|---|---|---|---|---|
| shinbot-0.1.0a2.tar.gz | 7.3 MB | With provenance | Details for shinbot-0.1.0a2.tar.gz |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| shinbot-0.1.0a2-py3-none-any.whl | Python 3 | none | any | Details for shinbot-0.1.0a2-py3-none-any.whl |
Total release size: 11.6 MB
Release files / shinbot-0.1.0a2.tar.gz
| Download URL | shinbot-0.1.0a2.tar.gz |
|---|---|
| Size | 7.3 MB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
a8d546b0ca487084a9e3d6d5170e06fca981f489e9a07d69fc582b6d04ce93a9
|
|
BLAKE2b-256 checksum How to use checksums |
c40fc570d47029ed1416d86ef28542b9753dab52708a463e80894120b07f251c
|
| 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 Nov 13, 2026.
Transparency logRelease files / shinbot-0.1.0a2-py3-none-any.whl
| Download URL | shinbot-0.1.0a2-py3-none-any.whl |
|---|---|
| Size | 4.3 MB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
1859762d27a388afded127df85ef0a1121fff3136a35ed79d8330a7c493e139f
|
|
BLAKE2b-256 checksum How to use checksums |
99edde7e43c335716c2826114a6046bbc3297f10214b0280bfee233fbda2dfc6
|
| 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 Nov 13, 2026.
Transparency logSecurity for shinbot 0.1.0a2
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.
Full provenance
Both files in this release have been uploaded with provenance metadata.
Attestation for shinbot-0.1.0a2.tar.gz
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 Nov 13, 2026.
Transparency logA note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.