Joanium Classic:本地优先的 AI 桌面助手,支持多模型与后台智能体
Joanium/Joanium-Classic
Joanium Classic 是一款本地优先的 AI 桌面应用,可读取项目文件、按计划运行自动化任务并操作后台智能体,数据 100% 留在本机。
The AI desktop assistant that actually lives on your machine.
Multi-model chat · Scheduled automations · Background agents · MCP · Real integrations
🌐 Website · 📖 Docs · 🛍️ Marketplace · ⬇️ Download · 💬 Discussions
Joanium Classic is a local-first AI desktop app that goes far beyond a chat window. It knows your projects and files, runs automations on a schedule, operates background agents, connects to GitHub / Gmail / Drive, and supports every major AI provider — all without sending your data to the cloud.
🎬 Demo
🤔 Why Joanium instead of ChatGPT or Claude.ai?
Those are great chat apps. Joanium Classic is a different product entirely — it lives on your machine, understands your workspace, runs jobs while you sleep, and plugs into the tools you actually use.
| Capability | ChatGPT / Claude.ai | Joanium Classic |
|---|---|---|
| Reads your project files | ❌ Upload every time | ✅ Always in context |
| Runs tasks on a schedule | ❌ | ✅ Automations + Agents |
| GitHub, Gmail, Drive integrations | ⚠️ Limited / plugin-based | ✅ Native first-class tools |
| Your data stays on your machine | ❌ Cloud only | ✅ 100% local-first |
| Use any AI model | ❌ Locked in | ✅ 10+ providers |
| Works fully offline | ❌ | ✅ With Ollama / LM Studio |
| Extensible with custom tools | ❌ | ✅ Skills, Personas, MCP |
| Background autonomous agents | ❌ | ✅ Built-in |
✨ Features
💬 A chat that knows your work
Joanium Classic loads your active project, reads your files, runs terminal commands, handles attachments, and maintains separate chat history per project. Not a blank box — a genuine coworker.
⏰ Automations that run themselves
Set up a job once — "every morning, pull the latest GitHub issues, summarise them, and ping me on Slack" — and it just runs. No babysitting required.
Built-in data sources: RSS feeds, Reddit, weather, crypto prices, file reads, URL fetches, GitHub events, and more. Built-in outputs: notifications, file writes, webhooks, terminal commands, Slack messages, email, and integration-specific actions.
🕵️ Background agents
Reusable scheduled prompts that run against any model, any project. Perfect for daily code reviews, changelog monitoring, PR summaries, or anything you'd otherwise have to remember to ask manually.
🎭 Personas & 🧠 Skills
- Personas change how the assistant thinks — drop in a "senior code reviewer" or a "startup copywriter" and the whole interaction shifts instantly.
- Skills are markdown docs that teach the assistant what to do — enable the ones you need, disable the rest. Both are just plain files you can edit, version-control, and share.
🔌 Real integrations, not wrappers
GitHub · GitLab · Gmail · Google Drive · Google Calendar · Google Sheets · Google Docs · Google Contacts · YouTube · Google Tasks
All connected as first-class tools the assistant can actually invoke mid-conversation.
🧩 MCP (Model Context Protocol) support
Connect any MCP-compatible server and expose its tools directly to the assistant. The ecosystem is growing fast — Joanium Classic keeps up.
🛍️ Marketplace
Browse and install community-built Skills and Personas with one click. Publish your own.
⬇️ Install in 60 seconds
1. Go to https://joanium.com
2. Click Download (Windows · macOS · Linux — all supported)
3. Install and run the onboarding wizard
4. Add an API key for your preferred AI provider
💡 No paid API key? Joanium Classic supports Ollama and LM Studio for free fully-local models with zero extra configuration.
🔀 Works with every major AI provider
Switch models anytime, even mid-conversation. No lock-in, ever.
| Provider | Models |
|---|---|
| Anthropic | Claude Opus 4.7, Claude Sonnet 4.6, Claude Haiku 4.5, and more |
| OpenAI | GPT-5.4, GPT-5.3, GPT-5.2, GPT-5.1, GPT-4.1, o3, o4-mini, GPT-4o, and more |
| Gemini 2.5 Pro, Gemini 2.5 Flash, Gemini 2.5 Flash-Lite | |
| OpenRouter | 200+ models via one key |
| Mistral | Mistral Large 3, Mistral Medium 3.1, Codestral, Devstral 2 |
| NVIDIA NIM | Kimi K2, MiniMax M2.7, Qwen 3.5, DeepSeek V3.2, Gemma 4, and more |
| DeepSeek | DeepSeek-V3.2 (Chat), DeepSeek-V3.2 (Reasoner) |
| MiniMax | MiniMax M2.7, MiniMax M2.5 |
| Ollama | Any local model — Llama, Phi, Gemma, Qwen… |
| LM Studio | Any GGUF model locally |
📖 Documentation
| Doc | What it covers |
|---|---|
| 🗺️ Architecture | How the app boots, runtime layers, request flow |
| 🧩 Features | Full product surface and capability map |
| 💾 Data & Persistence | Where state lives and how to back it up |
| 🔧 Extension Guide | Adding features, engines, pages, IPC, and services |
| 📍 Where To Change What | Targeted maintenance map — find the right file fast |
| 🛠️ Development Workflow | Scripts, packaging, and contributor workflow |
🤝 Contributing
Contributions are very welcome — big or small. Here's how to get started:
git clone https://github.com/joanium-Classic/joanium.git cd joanium-Classic npm install npm run dev # start in dev mode npm run lint # check code style
See CONTRIBUTING.md for the full guide, CODE_OF_CONDUCT.md for community norms, and SECURITY.md for responsible disclosure.
🌍 Community
- GitHub Discussions — questions, ideas, show-and-tell
- Issues — bug reports and feature requests
- CHANGELOG — full release history
License
Joanium Classic is source-available under the PolyForm Noncommercial License 1.0.0 — free for personal, educational, and noncommercial use.
Commercial use requires a separate paid license. Contact Joel Jolly at joaniumhere@gmail.com to arrange one.
If Joanium is useful to you, a ⭐ on GitHub goes a long way.
Made with ❤️ by Joel Jolly
来源:GitHub · github.com
