🥈 Second Prize, Kimi Track @AdventureX 2025 (China's Largest Hackathon)
🎬 Demo Video (Chinese Ver.) · 📊 Pitch Deck (Chinese Ver.)
Miko is an AI-native desktop pet that acts as your personal productivity assistant. Just tell it what you need in natural language — send emails, organize files, run Python code, check the weather, and more.
- 💬 Natural Language Chat — AI-powered conversational interface
- 📁 File Management — Organize, search, and clean up files
- 📧 Gmail Integration — Read, draft, and send emails
- 🐍 Code Execution — Run Python scripts in a sandboxed environment
- 🖥️ System Control — Launch apps, take screenshots, adjust settings
- 🌤️ Weather Queries — Real-time weather info
- 🔄 Workflow Automation — Chain tasks with natural language
Prerequisites: Python 3.8+, Node.js 16+
git clone [repo-url]
cd miko
cp .env.example .env # then fill in your API keysInstall dependencies:
pip install fastapi uvicorn openai requests pathlib python-multipart
npm installRun:
python backend/run.py # backend → http://localhost:8000
npm start # frontend (Electron)| Key | Required | Provider |
|---|---|---|
KIMI_API_KEY |
✅ Yes | Moonshot AI — core AI engine |
MINIMAX_API_KEY |
✅ Yes | MiniMax — email drafting |
WEATHER_API_KEY |
Optional | WeatherAPI |
| Gmail OAuth | Optional | Google Cloud Console |
| Category | Examples |
|---|---|
| Files | "Organize my Downloads folder" · "Find all PDFs" |
| "Send an email to Alice about the 3pm meeting" · "Check my unread emails" | |
| Code | "Generate an 8-digit random password" · "Calculate fibonacci(10)" |
| System | "Open Chrome" · "Take a screenshot" · "Set volume to 50%" |
| Info | "What's the weather in Hangzhou?" · "What time is it?" |
Frontend: Electron 37 + React 19 + TypeScript · Native CSS (glassmorphism, transparency)
Backend: FastAPI + Uvicorn (Python 3.8+)
AI Models:
- Kimi K2 (Moonshot) — main agent for conversation, tool calling, file/app control
- MiniMax Text-01 — specialized email drafting
Architecture: Multi-agent system (MainAgent → MemoryAgent + HistoryManager) with modular tool dispatcher, sandboxed code execution, and local-first data storage.
miko/
├── backend/
│ ├── ai_backend.py # FastAPI server
│ ├── agents/ # MainAgent, MemoryAgent, HistoryManager
│ ├── tools/ # file, app, python, gmail, dispatcher
│ └── data/ # local storage
├── components/ # React UI components
├── src/services/ # API & WebSocket clients
├── main.js # Electron main process
└── .env.example # env template
All API keys and data stay local. Gmail tokens are used only for sending — no content is stored or uploaded. Python execution is sandboxed with minimal permissions.
Miko 是一个 AI 原生的效率工具型桌宠。用自然语言告诉它你想做什么,它就能帮你收发邮件、整理桌面、执行代码、查询天气等。
- 💬 智能对话 — AI 驱动的自然语言交互
- 📁 文件管理 — 整理、分类、搜索文件
- 📧 邮件管理 — 通过 Gmail 收发邮件,AI 智能起草
- 🐍 代码执行 — 沙盒化 Python 运行环境
- 🖥️ 系统控制 — 打开应用、截屏、调节设置
- 🌤️ 天气查询 — 实时天气信息
环境要求: Python 3.8+、Node.js 16+
git clone [项目地址]
cd miko
cp .env.example .env # 填入 API 密钥安装依赖:
pip install fastapi uvicorn openai requests pathlib python-multipart
npm install启动:
python backend/run.py # 后端 → http://localhost:8000
npm start # 前端 (Electron)| 密钥 | 必需 | 获取方式 |
|---|---|---|
KIMI_API_KEY |
✅ 是 | Moonshot AI — 主 AI 引擎 |
MINIMAX_API_KEY |
✅ 是 | MiniMax — 邮件处理 |
WEATHER_API_KEY |
可选 | WeatherAPI |
| Gmail OAuth | 可选 | Google Cloud Console |
| 场景 | 指令示例 |
|---|---|
| 文件 | "整理我的 Downloads 文件夹" · "查找所有 PDF 文件" |
| 邮件 | "发邮件给张三,告诉他会议改到下午3点" · "查看未读邮件" |
| 代码 | "生成一个8位随机密码" · "计算斐波那契数列前10项" |
| 系统 | "打开 Chrome" · "截个屏" · "调节音量到 50%" |
| 查询 | "今天杭州天气怎么样?" · "现在几点了?" |
- 看不到界面? — 确保后端和前端都已启动,端口 8000 未被占用
- API 密钥无效? — 检查
.env文件,确保没有多余空格或引号 - 邮件功能异常? — 运行
python gmail_auth.py完成 Gmail OAuth 认证
ISC
Kiro IDE · Trae · Kimi-K2 · MiniMax
Issues and PRs are welcome! 🐛 Bug reports · 💡 Feature ideas · 🔧 Code contributions · 📚 Docs improvements
