
<img src="https://img.shields.io/badge/version-0.3.37-blue.svg" alt="Version">
<img src="https://img.shields.io/badge/platform-macOS%20|%20Windows%20|%20Linux-lightgrey.svg" alt="Platform">
<img src="https://img.shields.io/badge/license-MIT-green.svg" alt="License">
<a href="https://darknoah.github.io/aime-chat/">Official Website</a> • <a href="https://github.com/DarkNoah/aime-chat/raw/v0.3.39/README_CN.md">中文</a>

pnpm install
Start the development server:
The application will start in development mode with hot reload support.
Package desktop application:
pnpm package
Packaged applications will be generated in the release/build directory.
Due to the app not being signed with an Apple Developer certificate, macOS Gatekeeper may prevent the app from running. If you see "App is damaged" or "Cannot be opened" error, please run the following command in Terminal:
# After mounting the DMG and copying to Applications
xattr -cr /Applications/aime-chat.app
Or right-click the app → hold Option key → click "Open".
aime-chat/
├── assets/ # Static assets
│ ├── icon.png # Application icon
│ ├── models.json # AI model configurations
│ └── model-logos/ # Provider logos
├── src/
│ ├── main/ # Electron main process
│ │ ├── providers/ # AI provider implementations
│ │ ├── mastra/ # Mastra Agent and tools
│ │ ├── knowledge-base/ # Knowledge base management
│ │ ├── tools/ # Tool system
│ │ └── db/ # Database
│ ├── renderer/ # React renderer process
│ │ ├── components/ # UI components
│ │ ├── pages/ # Page components
│ │ ├── hooks/ # React Hooks
│ │ └── styles/ # Style files
│ ├── types/ # TypeScript type definitions
│ ├── entities/ # Data entities
│ └── i18n/ # Internationalization config
└── release/ # Build artifacts
A raw LLM is just a stateless function — it becomes a dependable agent only when wrapped in a harness. Following the Agent = Model + Harness formula that the industry formalized in 2026, AIME Chat is built as a complete harness around the model, not just a chat box in front of it.
The harness layers AIME Chat provides:
| Layer | What it does | In AIME Chat |
|---|---|---|
| Orchestration Loop | Drives the prompt → response → tool call → observation → next step cycle until a task is done | Mastra-based Agent runtime with streaming and multi-step tool calling |
| Guides | Feed-forward constraints that steer behavior | Agent instructions, assistant personalities, and the Skill system |
| Tool Interfaces | Scoped access to the outside world with clear schemas | Bash, Read/Write/Edit, Grep/Glob, Code Execution, Web, Vision, OCR, and MCP tools |
| Context & Memory | Assembling and persisting the right information across turns and sessions | Knowledge base, cultivation memory wiki, and session/working memory |
| Orchestration & Sub-agents | Delegating and coordinating specialized agents | Sub-agent configuration and multi-agent workflows |
| State & Long-running Tasks | Durable state so work survives across runs | Background Bash sessions, Goal-driven execution, and Cron automation |
| Guardrails & Permissions | Enforcing what the agent is allowed to do | Per-agent tool permissions, action approval, and centralized Secrets management |
| Observability | Tracing behavior for debugging and trust | Detailed runtime logging with direct log access from the About page |
In short, AIME Chat focuses on engineering everything around the model so that any provider — cloud or local — can be turned into a reliable, goal-directed agent.
Support for configuring multiple AI providers, each with independent settings:
Supported providers include:
| Provider | Type | Description |
|---|---|---|
| OpenAI | Cloud | GPT series models |
| DeepSeek | Cloud | DeepSeek series models |
| Cloud | Gemini series models | |
| Zhipu AI | Cloud | GLM series models |
| MiniMax | Cloud | MiniMax series models |
| Ollama | Local | Run open-source models locally |
| LMStudio | Local | Local model management tool |
| ModelScope | Cloud | ModelScope community models |
| SerpAPI | Cloud | Google Search API service |
AIME Chat includes a global memory knowledge base maintained by the built-in Cultivation Agent. When the Cultivation Daily cron task is enabled, it reads newly updated user conversations, filters out automation-generated threads, deduplicates against existing memories, and writes useful long-term information into Markdown pages such as preferences.md, habits.md, and project notes.
This helps future conversations automatically inherit stable preferences, working habits, important people/entities, and ongoing project context without pasting old chat logs into every prompt.
Rich built-in tools that AI Agents can call autonomously:
| Category | Tools | Description |
|---|---|---|
| File System | Bash, Read, Write, Edit, Grep, Glob | File read/write, search, edit operations |
| Code Execution | CodeExecution | Execute Python and Node.js code |
| Web Tools | Web Fetch, Web Search | Web scraping and search (with AI content summarization) |
| Image Processing | GenerateImage, EditImage, RMBG | Image generation, editing, and background removal |
| Vision Analysis | Vision | LLM-powered image recognition and analysis (with OCR integration) |
| OCR Recognition | PaddleOCR | Document and image text recognition (supports PDF/images) |
| Audio Processing | SpeechToText, TextToSpeech | Speech-to-text and text-to-speech (powered by Qwen3-TTS) |
| Database | LibSQL | Database query and management |
| Translation | Translation | Multi-language text translation |
| Task Management | TaskCreate, TaskGet, TaskList, TaskUpdate | Structured task creation, query, and status management |
| Information Extraction | Extract | Extract structured information from documents |
| Knowledge Base | KnowledgeBase | Knowledge base retrieval and intelligent Q&A |
Connect AI capabilities to external messaging platforms:
| Channel | Description |
|---|---|
| Connect to WeChat for AI-powered conversations | |
| Telegram | Integrate with Telegram bots for AI interaction |
Centralized management of secret keys and credentials used by tools and services:
git clone https://github.com/DarkNoah/aime-chat.git
cd ./aime-chat
pnpm install
# Since pnpm disables postinstall scripts by default, if you encounter missing binary packages or similar issues, run:
pnpm approve-builds
AIME Chat supports optional runtime libraries that can be installed from the Settings page:
| Runtime | Description |
|---|---|
| UV / Python | Python runtime used by code execution, OCR, and other local processing tools |
| Node.js / Bun | JavaScript runtimes used by Node.js code execution and MCP-related workflows |
| PaddleOCR | OCR recognition engine based on PaddlePaddle, supports document structure analysis and text extraction from PDF/images |
| Qwen Audio | Audio processing engine based on Qwen3-TTS, supports speech recognition (ASR) and text-to-speech (TTS) |
These runtimes are installed under the application data directory. Runtime install attempts write detailed success and failure information to the application log, and the About page provides a direct entry for opening the log file.
Application data is stored by default in the system user directory:
~/Library/Application Support/aime-chat%APPDATA%/aime-chat~/.config/aime-chatIssues and Pull Requests are welcome!
git checkout -b feature/AmazingFeature)git commit -m 'Add some AmazingFeature')git push origin feature/AmazingFeature)This project is licensed under the MIT License.
Noah - Email: 781172480@qq.com
Built with ❤️ by Noah
$ claude mcp add aime-chat \
-- python -m otcore.mcp_server <graph>