Catalog PyPI
Back to packageRELEASE DETAILS

0.6.4

PyPI

agentkai

Open-source personal AI agent — model-agnostic, with tools, memory, scheduler and a local dashboard

Published19 Oct 2026
Direct dependencies14
Transitive dependenciesNot calculated

README

Version 0.6.4 documentation

agentkai logo — animated fluffy yeti mascot

agentkai

PyPI Python License Docs Website

An open-source personal AI agent that runs on your own computer.

agentkai is model-agnostic by design: bring your own model — Claude, Gemini, GPT, a local Ollama model, GLM, or anything LiteLLM speaks — and the agent keeps the same tools, memory, scheduler, and dashboard. Everything runs locally first; your data stays on your machine.

agentkai dashboard — chat with the agent

60-second quickstart

pip install agentkai

export ANTHROPIC_API_KEY=...   # or GEMINI_API_KEY / OPENAI_API_KEY / ZHIPUAI_API_KEY
agentkai run "summarize what's in ~/Documents" --model claude
agentkai dashboard             # local UI at http://127.0.0.1:8931/

No key? Install Ollama, ollama pull qwen3:32b, then agentkai run "hello" --model local — fully offline.

⭐ If agentkai helped you, a star means a lot — it helps other developers find the project.

Why agentkai

Cloud assistants rent you a brain. agentkai gives you the whole animal: one agent loop with real tools, a memory that persists in plain markdown, a scheduler that works while you sleep, and a local dashboard — all wired to whichever model you choose, on your own machine.

  • Model-agnostic, BYOK. Aliases (claude, gemini, gpt, glm, local) with fallbacks and capability probing. Keys are yours, never logged, never leave your machine except to the provider you chose.
  • Real tools, permission-gated. Shell/filesystem (root-scoped, blocklisted), a real Chromium browser, an MCP client (stdio + SSE), and 12 bundled skills: Gmail, Calendar, GitHub, Spotify, places, images, voice, media, payments, shopping, travel, health. Every tool call passes a risk-based allow/ask/deny gate, audited — unattended jobs can never run high-risk tools.
  • Markdown memory. SOUL.md / USER.md / MEMORY.md, daily logs, people & groups, keyword search. Plain files you can read, edit, and git — no black-box vector store.
  • Scheduler. Cron, one-shot, heartbeat check-ins, and nightly dreaming (memory consolidation), all in SQLite. Manage jobs from the CLI or the dashboard — create, delete, run now.
  • Messaging gateway. Telegram, Discord, built-in WebChat, and an experimental WhatsApp bridge. Per-session isolation; owner approvals via APPROVE / DENY.
  • Voice & media. Speech-to-text/TTS via faster-whisper or OpenAI; image generation via OpenAI or a local Stable Diffusion server. Honest errors when nothing is configured — nothing faked.
  • Devices & goals. Pair your phone via the companion-app contract; durable goals and tracked items with a daily briefing prompt.

CLI reference

CommandWhat it does
agentkai run PROMPTrun one agent task with live streaming output
agentkai chat PROMPTsend one prompt, print the final answer
agentkai modelsshow model aliases and what they resolve to
agentkai doctorcheck the setup: config, provider keys, scheduler DB, memory, tools, media providers, dashboard assets (exits 1 on any [FAIL])
agentkai runs list/show RUN_IDinspect past runs from the event log: status, model, tools, full replay
agentkai dashboardlaunch the local web dashboard (127.0.0.1 only, token-secured)
agentkai gatewayrun the messaging gateway daemon (Telegram/Discord/WebChat/WhatsApp)
agentkai scheduler add/list/remove/run-once/run-duemanage scheduled agent jobs
agentkai devicespair phones/laptops and reach them from the agent
agentkai goalsdurable user goals: create, track, close
agentkai tracktracked items: reservations, deliveries, reminders
agentkai skills list/show/installmanage SKILL.md playbooks

Run agentkai <command> --help for flags on any command.

Web dashboard

Prefer a UI? agentkai dashboard launches a local web app: chat with the agent, watch runs stream in with tool calls inline, browse and edit memory, inspect the tool registry, and manage scheduled jobs — create, delete, or trigger a run now.

agentkai dashboard
# → http://127.0.0.1:8931/?token=<fresh-token-every-launch>

It binds only to 127.0.0.1 (never exposed to the network), generates a fresh login token on every launch, and loads zero third-party resources — the entire UI is packaged with agentkai and works fully offline. Same agent, same tools underneath.

agentkai dashboard — chat agentkai dashboard — scheduler job management

Docs

📚 Documentation: docs/

Quickstart · Models · Tools · Browser · Memory · Scheduler · Channels · Skills · Voice · Media · Devices · Goals · Dashboard · Privacy · Troubleshooting

Honest scope note: this is early-stage software (v0.3.0). Core flows — agent runs, tools, memory, scheduler, dashboard, channels — are implemented and tested. Areas marked experimental in the docs are real code with real limits; they are labeled, not hidden.

Development

git clone https://github.com/Bilal-Junaid-Jiwani/agentkai
cd agentkai
python -m venv .venv && .venv/bin/pip install -e ".[test,voice]"
.venv/bin/python -m pytest tests/   # full suite

License

Apache-2.0. See LICENSE.

Downloads & popularity

Awaiting observations

No metric observations yet

Download counts and popularity will appear here as the collector receives them.

Declared dependencies 14

Native requirements
14 direct targetsNot calculated transitive count
Package / targetRequirementRelationship
litellm
Environment
{
  "extras": "",
  "marker": null,
  "requires_python": ">=3.10",
  "evaluation": "NOT_EVALUATED"
}
litellm>=1.60runtime
typer
Environment
{
  "extras": "",
  "marker": null,
  "requires_python": ">=3.10",
  "evaluation": "NOT_EVALUATED"
}
typer>=0.9runtime
rich
Environment
{
  "extras": "",
  "marker": null,
  "requires_python": ">=3.10",
  "evaluation": "NOT_EVALUATED"
}
rich>=13runtime
fastapi
Environment
{
  "extras": "",
  "marker": null,
  "requires_python": ">=3.10",
  "evaluation": "NOT_EVALUATED"
}
fastapi>=0.110runtime
uvicorn
Environment
{
  "extras": "",
  "marker": null,
  "requires_python": ">=3.10",
  "evaluation": "NOT_EVALUATED"
}
uvicorn>=0.29runtime
pydantic
Environment
{
  "extras": "",
  "marker": null,
  "requires_python": ">=3.10",
  "evaluation": "NOT_EVALUATED"
}
pydantic>=2runtime
pyyaml
Environment
{
  "extras": "",
  "marker": null,
  "requires_python": ">=3.10",
  "evaluation": "NOT_EVALUATED"
}
pyyaml>=6runtime
playwright
Environment
{
  "extras": "",
  "marker": null,
  "requires_python": ">=3.10",
  "evaluation": "NOT_EVALUATED"
}
playwright>=1.40runtime
httpx
Environment
{
  "extras": "",
  "marker": null,
  "requires_python": ">=3.10",
  "evaluation": "NOT_EVALUATED"
}
httpx>=0.27runtime
discord.py
Environment
{
  "extras": "",
  "marker": null,
  "requires_python": ">=3.10",
  "evaluation": "NOT_EVALUATED"
}
discord.py>=2.4runtime
websockets
Environment
{
  "extras": "",
  "marker": null,
  "requires_python": ">=3.10",
  "evaluation": "NOT_EVALUATED"
}
websockets>=12runtime
faster-whisper
Environment
{
  "extras": "",
  "marker": "extra == \"voice\"",
  "requires_python": ">=3.10",
  "evaluation": "NOT_EVALUATED"
}
faster-whisper>=1.0; extra == "voice"runtime
pytest
Environment
{
  "extras": "",
  "marker": "extra == \"test\"",
  "requires_python": ">=3.10",
  "evaluation": "NOT_EVALUATED"
}
pytest>=8; extra == "test"runtime
pytest-asyncio
Environment
{
  "extras": "",
  "marker": "extra == \"test\"",
  "requires_python": ">=3.10",
  "evaluation": "NOT_EVALUATED"
}
pytest-asyncio>=0.23; extra == "test"runtime

Distribution files

2 collected
agentkai-0.6.4-py3-none-any.whl

bdist_wheel · 5,302 KB · Python py3

Source file
agentkai-0.6.4.tar.gz

sdist · 5,336.37 KB · Python source

Source file

Metadata history

Meaningful changes
Current collected state Current

Observed since 20 Oct, 22:30 UTC

No superseded metadata states collected. Unchanged observations do not create new revisions.

Record identity

package_version:eb14ac045172da1c3d1e2e0beae41f33b6bf749b37a45e9a19183cde92a1d37e

Other collected versions

View all collected versions →