https://github.com/fandych/suora
Local-first AI desktop workbench with chat, documents, agents, skills, pipelines, channels, and MCP servers.
https://github.com/fandych/suora
ai-agents ai-assistant automation desktop-app electron knowledge-management llm local-first model-context-protocol multi-model react typescript
Last synced: 8 days ago
JSON representation
Local-first AI desktop workbench with chat, documents, agents, skills, pipelines, channels, and MCP servers.
- Host: GitHub
- URL: https://github.com/fandych/suora
- Owner: fandych
- Created: 2026-04-17T14:19:54.000Z (about 2 months ago)
- Default Branch: main
- Last Pushed: 2026-05-02T14:38:58.000Z (about 1 month ago)
- Last Synced: 2026-05-02T15:34:40.448Z (about 1 month ago)
- Topics: ai-agents, ai-assistant, automation, desktop-app, electron, knowledge-management, llm, local-first, model-context-protocol, multi-model, react, typescript
- Language: TypeScript
- Homepage: https://fandych.github.io/suora/
- Size: 2.04 MB
- Stars: 2
- Watchers: 0
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
Suora
A local-first desktop AI workbench.
Chat · Documents · Models · Agents · Skills · Pipeline · Timer · Channels · MCP · Settings
Docs
·
Releases
·
Features
·
Technical Docs
## What Suora Is
Suora is an Electron-based AI workbench for local knowledge work, automation, and integrations.
## Current Product Surface
| Module | Current role |
| --- | --- |
| Chat | Conversations, attachments, tool calls, and pipeline commands |
| Documents | Local notes, folders, backlinks, source-aware graph insights, and chat context |
| Models | Provider setup, model enablement, testing, and compare |
| Agents | Built-in and custom agents with testing and versioning |
| Skills | Installed skills, registry browsing, `SKILL.md` editing, and import/export |
| Pipeline | Multi-step agent workflows with history and Mermaid preview |
| Timer | Once / interval / cron schedules |
| Channels | External messaging integrations and reply routing |
| MCP | MCP server configuration |
| Settings | Preferences, security, data, logs, and system diagnostics |
## Why It Feels Different
- local-first desktop workspace instead of a browser-only shell
- chat, documents, automation, and integrations in one app
- multi-provider model strategy with BYOK and local-model support
- built-in agents, skills, pipelines, timers, channels, and MCP as real product modules
## Get Started
### Download
Get the latest build from:
-
### Run from source
```bash
npm install
npm run dev
```
### First useful setup order
1. Configure at least one model in `Models`
2. Start a conversation in `Chat`
3. Create a local knowledge area in `Documents`
4. Add automation in `Pipeline` and `Timer`
5. Connect external channels only when needed
## Documentation Map
The repo now keeps a smaller maintained documentation set:
| Doc | Purpose |
| --- | --- |
| [FEATURES.md](./FEATURES.md) | Short capability index |
| [docs/user/USER_GUIDE_ZH.md](./docs/user/USER_GUIDE_ZH.md) | Primary Chinese user guide |
| [docs/user/USER_GUIDE_EN.md](./docs/user/USER_GUIDE_EN.md) | Primary English user guide |
| [docs/technical/TECHNICAL_DOC_ZH.md](./docs/technical/TECHNICAL_DOC_ZH.md) | Primary Chinese technical reference |
| [docs/technical/TECHNICAL_DOC_EN.md](./docs/technical/TECHNICAL_DOC_EN.md) | Primary English technical reference |
| [docs/LLM_WIKI_CAPABILITIES.md](./docs/LLM_WIKI_CAPABILITIES.md) | LLM Wiki-inspired document intelligence capability reference |
| [docs/TESTING.md](./docs/TESTING.md) | Testing and validation notes |
| [docs/CHANNEL_INTEGRATION.md](./docs/CHANNEL_INTEGRATION.md) | Channel setup and runtime notes |
| [docs/requirements.md](./docs/requirements.md) | Scope and requirements baseline |
GitHub Pages is built from `website/` with Docusaurus and publishes `website/build`.
## Development
### Common commands
```bash
npm install
npm run dev
npm run build
npm run preview
npm run package
npm run lint
npm run type-check
npm run test:run
npm run test:e2e
```
## Security Notes
- API keys prefer OS-backed secure storage
- if secure storage is unavailable, keys remain in memory only
- filesystem access can be sandboxed
- tool execution can require confirmation
## License
MIT