24/7 AI agent powered by Claude, running entirely on your desktop
No server setup. No cloud required. Just install the app and start working.
π User Guide - Complete setup and usage guide
KIRA = KRAFTON INTELLIGENCE ROOKIE AGENT
KIRA is an open-source project that repackages KRIS (KRAFTON Intelligence System)βan AI agent system successfully used internally at KRAFTONβinto a "virtual coworker" concept that anyone can install and use as a standalone desktop application.
| Search + PPTX | GitRepo + PDF | Web + Wiki |
|---|---|---|
Search+PPTX_cut.mp4 |
GitRepo+PDF_cut.mp4 |
WebInterface+Wiki_cut.mp4 |
| Proactive + Thread | Email + Schedule | Proactive + Translate |
|---|---|---|
Proactive+BotInThread_cut.mp4 |
Outlook+Schedule_cut.mp4 |
Proactive+TranslateFile_cut.mp4 |
KIRA is an AI virtual coworker that runs as a desktop application. Once installed:
- π€ Chat in Slack: Natural conversations in DMs, channels, and threads
- π§ Email Monitoring: Auto-extract tasks from Outlook emails
- π Document Tracking: Monitor Confluence and Jira updates
- π§ Memory System: Automatically remembers conversations and project context
- π Privacy First: All data and memory stored locally β no third-party services involved
- Your conversation history, memory files, and settings are stored only on your machine
- KIRA communicates directly with Anthropic's Claude API using your own API key
- Unlike third-party AI services, no intermediary stores or accesses your data
- We do not collect, store, or process any user data β see Data Privacy Disclaimer
- π Bring Your Own API Key: Transparent, pay-as-you-go costs with your own Claude API key β no subscriptions or hidden fees
π€ Bot Mode
- Install on your computer
- Use your own Slack account or bot app
- Personal AI assistant that you manage
- Stops when your computer is off
π€ Virtual Coworker Mode
- Install on a dedicated computer (or VM/server)
- Create a dedicated Slack account for the AI (e.g., "KIRA Kim")
- Runs 24/7 independently as a real team member
- Shared by the entire team
π‘ KRAFTON Use Case: KRAFTON provides a dedicated company account and computer to run KIRA as a virtual coworker, just like onboarding a new hire.
- macOS 10.15 or later / Windows 11 or later
- Slack workspace (admin access required)
- Claude API key (Google Cloud Vertex AI)
Download the latest release:
https://kira.krafton-ai.com
Or build from source:
# Clone repository
git clone https://github.com/krafton-ai/kira.git
cd kira
# Install Python dependencies
uv sync
# Build Electron app
cd electron-app
npm install
npm run build
# Install the generated .dmg file
open dist/KIRA-*.dmgFollow the detailed guide: Slack App Setup
- Launch KIRA app
- Enter Slack tokens in Settings
- Configure bot information
- Click "Save Settings" and "Start"
@KIRA Hello!
π Done! You can now chat with KIRA.
kira/
βββ app/ # Python AI server
β βββ main.py # Server entry point
β βββ cc_agents/ # AI agent modules
β βββ cc_checkers/ # Proactive monitors (email, docs)
β βββ cc_tools/ # MCP tool implementations
β βββ cc_web_interface/ # Web interface (voice input)
β βββ config/ # Configuration files
β
βββ electron-app/ # Electron desktop app
β βββ main.js # Electron main process
β βββ renderer/ # UI (settings, logs)
β βββ dist/ # Build output (.dmg)
β
βββ vitepress-app/ # Documentation site
β βββ index.md # Homepage
β βββ getting-started.md
β βββ setup/ # Setup guides
β βββ features/ # Features guide
β
βββ README.md # This file
KIRA uses a multi-agent pipeline where each agent has a specific role. This design enables cost optimization (simple tasks use lighter models) and clear separation of concerns.
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β SLACK MESSAGE RECEIVED β
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β DEBOUNCING (2 sec) β
β - Merge consecutive messages from same user β
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β BOT CALL DETECTOR (Haiku) β
β - Determine if message requires bot response β
β - DM: Always respond β
β - Channel: Only when mentioned β
β - Thread: Additional context analysis β
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β β
ββββββββββββββββββββββ ββββββββββββββββββββββββββ
β SIMPLE CHAT β β OPERATOR β
β (Haiku, no MCP) β β (Opus, full MCP) β
β - Quick responses β β - Complex tasks β
β - Casual chat β β - Tool execution β
ββββββββββββββββββββββ ββββββββββββββββββββββββββ
β β
ββββββββββββββββ¬ββββββββββββββββ
β
ββββββββββββββββββββββββββββββββββ
β MEMORY MANAGER (Sonnet) β
β - Save conversation context β
β - Organize into categories β
ββββββββββββββββββββββββββββββββββ
| Agent | Model | MCP | Purpose |
|---|---|---|---|
| Bot Call Detector | Haiku | β | Determine if bot should respond |
| Thread Context Detector | Haiku | β | Analyze thread context for relevance |
| Simple Chat | Haiku | β | Handle casual conversations quickly |
| Memory Retriever | Haiku | β | Search relevant memories before responding |
| Operator | Opus | β | Execute complex tasks with MCP tools |
| Memory Manager | Sonnet | β | Save and organize conversation memories |
| Answer Aggregator | Sonnet | β | Collect and process pending answers |
| Proactive Suggester | Sonnet | β | Generate proactive task suggestions |
| Proactive Confirm | Haiku | β | Request user approval for suggestions |
KIRA uses a hierarchical queue system to handle concurrent messages efficiently:
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β CHANNEL QUEUES (per-channel) β
β - 8 workers per channel β
β - Fast response for simple messages β
β - Independent processing per channel β
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β ORCHESTRATOR QUEUE (global) β
β - 3 workers β
β - Heavy tasks requiring MCP tools β
β - Prevents API rate limiting β
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β MEMORY QUEUE (global) β
β - 1 worker (sequential) β
β - Ensures consistent file system writes β
β - Prevents race conditions in memory storage β
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
Why this design?
- Channel Queues: Users in different channels get fast responses without blocking each other
- Orchestrator Queue: Limits concurrent heavy tasks to prevent excessive CPU/memory usage
- Memory Queue: Single worker ensures no conflicts when writing to local memory files
- Chat: Natural conversations in Slack DMs, channels, and threads
- Task Execution: Search, document writing, email management, Jira/GitLab integration
- Memory System: Auto-remembers team info and project context
- Task Scheduling: Execute tasks at specific times
- Email Monitoring: Auto-check Outlook emails (5min interval)
- Confluence Tracking: Document update notifications (1hr interval)
- Jira Tracking: Monitor assigned issues (30min interval)
- Analyzes memory and proactively suggests needed tasks
- 7 intervention patterns (research, scheduling, documentation, drafting, connecting, predicting, routine)
- Perplexity (web search)
- DeepL (translation)
- Outlook (email)
- Confluence & Jira (Rovo MCP)
- GitLab (code repository)
- X (Twitter)
- Clova Speech (transcription, meeting notes)
- Playwright (browser automation)
# Python server (hot reload)
uv run python dev.py
# Electron app (separate terminal)
cd electron-app
npm start# Build macOS installer
cd electron-app
npm run build
# Output: electron-app/dist/KIRA-*.dmg# Run docs dev server
cd vitepress-app
npm install
npm run docs:dev
# Deploy to S3
npm run deploy~/.kira/
βββ config.env # Environment variables
βββ server.log # Server logs
~/Documents/KIRA/ # FILESYSTEM_BASE_DIR
βββ db/ # SQLite databases
β βββ waiting_answer.db
β βββ confirm.db
β βββ email_tasks.db
β βββ jira_tasks.db
βββ memories/ # Memory (Markdown files)
βββ channels/
βββ projects/
βββ users/
βββ decisions/
βββ index.md
- β All memory, logs, and settings stored locally on your machine
- β Direct communication with Claude API β no intermediary services
- β External connections only to Claude API and MCP servers you enable
For complete setup and usage guides, visit KIRA Documentation
Contributions are welcome!
- Fork the repository
- Create your feature branch
- Commit your changes
- Push to the branch
- Open a Pull Request
Apache License 2.0 - See LICENSE for details.
KIRA is a privacy-first AI agent. All memory, logs, and settings are stored on your device. Prompts are sent to Anthropic's Claude API using your own API key β no intermediary services are involved.
| Data Type | Where It Goes |
|---|---|
| Conversation memory, settings, logs | Your machine only |
| Prompts and queries | Anthropic Claude API (via your API key) |
| Usage history, analytics | Nowhere β we don't collect anything |
Unlike third-party AI tools built on LLM providers, KIRA doesn't add another layer that stores your data. Your information goes to one place (Anthropic), not two.
KRAFTON does NOT collect, store, or process any user data. All data and memory are stored locally on your computer and under your sole control.
You are responsible for managing your own Claude API key and usage, including any usage fees and security.
KRAFTON is not responsible or liable for any data processed through, or any actions taken by, third-party services (e.g., Slack, Outlook, Confluence, Jira, GitLab, Anthropic Claude API) that you choose to integrate with KIRA. By using KIRA, you agree to comply with all applicable third-party terms, including Anthropic's Claude API Terms of Service.
This software is provided "AS IS", without warranty of any kind, express or implied, including but not limited to the warranties of merchantability, fitness for a particular purpose, and non-infringement. In no event shall KRAFTON or any contributor be liable for any claim, damages, or other liability, whether in an action of contract, tort, or otherwise, arising from, out of, or in connection with the software or the use or other dealings in the software.
The names KRAFTON, KIRA, and associated logos are trademarks of KRAFTON, Inc. Permission to use these trademarks is not granted by the open-source license and requires separate written permission.
KIRA incorporates open-source libraries under MIT, Apache-2.0, BSD, ISC, MPL-2.0, and other compatible licenses. For a complete list of dependencies and their licenses, please refer to the THIRD-PARTY-NOTICES.md file.
Made with β€οΈ by KRAFTON AI