|
Local-first analytics, automation, and dashboards for Todoist with optional AI summaries and read-only chat.
Quick links |
Todoist Assistant is a local-first Todoist toolkit. It syncs your Todoist data into a local cache, gives you a dashboard to explore it, and lets you run automations on top of that data.
The main product is the dashboard and automation workflow. Optional AI features can summarize your local activity and power a read-only chat view, but the core value of the project is local analytics and automation. After the first sync, most day-to-day usage runs against your local cached data.

- A local dashboard for Todoist activity, trends, and task analysis
- A Python package and API for working with cached Todoist data
- A set of automations such as environment updates, task multiplication, and Gmail task import
- An optional local AI layer for summaries and chat over your cached history
- Todoist users who want a local dashboard instead of only Todoist's built-in views
- People who want to automate recurring Todoist workflows
- Developers who want a Python codebase they can extend
v0.3.1
Release assets live on GitHub Releases:
- Windows:
TodoistAssistantSetup.exeor the.msi - macOS:
.dmgfor the app,.pkgfor CLI-only installs - Linux: source checkout or Docker
Releases: https://github.com/mtyrolski/todoist-assistant/releases
- Download
TodoistAssistantSetup.exefrom GitHub Releases. - Run the installer.
- Paste your Todoist API token during first-run setup.
- Open the dashboard and let the first sync complete.
More Windows details: docs/windows_installer.md
- App + dashboard: install the
.dmgrelease asset - CLI-only: install the
.pkgrelease asset or use Homebrew
Full instructions: docs/INSTALLATION.md
- Run from source
- Or use Docker Compose
Setup details: docs/INSTALLATION.md
docker compose up --buildOpen:
- Dashboard: http://127.0.0.1:3000
- API: http://127.0.0.1:8000
Container workflow: docs/DOCKER.md
Prerequisites:
- Python 3.11
uv- Node.js 20+
- A Todoist API token
git clone https://github.com/mtyrolski/todoist-assistant.git
cd todoist-assistant
cp .env.example .env
# set API_KEY in .env
make init_local_env
make run_dashboardOpen:
- Dashboard: http://127.0.0.1:3000
- API: http://127.0.0.1:8000
make run_dashboard # start the local dashboard stack (in most cases only this one needed)
make update_env # refresh local cache and run short automations
make run_observer # keep syncing in the background
make run_demo # run the dashboard with demo/anonymized data
make chat_agent # start the local read-only chat flowCommand details: docs/USAGE.md
- Paste your Todoist API token.
- Confirm or adjust project mapping for archived or moved projects.
- Let the first sync build the local cache.
- Use the dashboard, automations, or chat against local data.
- Runs locally against cached Todoist data
- Shows trends, counts, priorities, and activity summaries
- Works well for repeated analysis after the initial sync
init_envandupdate_envkeep local data current- Multiplication automation expands tasks based on labels
- Gmail automation can turn emails into Todoist tasks
- Observer mode keeps refresh and short automations running continuously
Automation setup lives in configs/automations.yaml.
- Local summaries over cached Todoist history
- Read-only dashboard chat
- Triton-backed local model support for the AI stack
Usage details: docs/USAGE.md
todoist/contains the main Python packagefrontend/contains the Next.js dashboardconfigs/contains automation and dashboard configurationdocs/contains longer-form documentationtests/contains the test suite and coverage notescore/contains the core-only package variant
Code layout details: docs/CODE_LAYOUT.md
- docs/README.md: docs index
- docs/INSTALLATION.md: installation by platform
- docs/USAGE.md: commands, dashboard, and automations
- docs/DOCKER.md: container workflow
- docs/BUILDING.md: packaging and CI
- docs/gmail_setup.md: Gmail automation setup
- core/README.md: core-only package
- tests/README.md: test layout and coverage notes
Run these before opening or closing documentation-adjacent code changes:
make typecheck
make lint
make test
make coverageIssues and pull requests are welcome. Read AGENTS.md and SKILLS.md for repository rules and workflow expectations.
MIT. See LICENSE.


