| |
1 | +<!-- |
| |
2 | + README.md |
| |
3 | + Zyquo Cloud |
| |
4 | + Author: Simon-Pierre Boucher |
| |
5 | + Mail: contact@spboucher.ai |
| |
6 | +--> |
| |
7 | + |
| |
8 | +# Zyquo Cloud |
| |
9 | + |
| |
10 | +**Zyquo Cloud** is a native macOS AI chat client — Swift + SwiftUI, built entirely without Xcode |
| |
11 | +(Swift Package Manager + command-line toolchain). Bring your own API keys and chat with any model |
| |
12 | +from **12 cloud AI providers**, switch models mid-conversation, compare models side by side, and |
| |
13 | +manage everything from a fast, beautiful, truly native Mac interface. |
| |
14 | + |
| |
15 | +## Providers |
| |
16 | + |
| |
17 | +OpenAI · Anthropic · xAI · Mistral · Google Gemini · Alibaba Qwen (DashScope) · DeepSeek · |
| |
18 | +Kimi (Moonshot) · Perplexity · Together AI · DeepInfra · Cerebras — plus any custom |
| |
19 | +OpenAI-compatible endpoint (OpenRouter, Groq, …). 170+ chat models built in, verified live against |
| |
20 | +every provider (`docs/VERIFICATION.md`), with dynamic `/models` refresh. |
| |
21 | + |
| |
22 | +## Highlights |
| |
23 | + |
| |
24 | +- **Streaming chat** with stop, per-message model switching, regenerate-with-another-model |
| |
25 | +- **Reasoning display** (DeepSeek, Qwen thinking, Claude extended thinking…) in a collapsible section |
| |
26 | +- **Perplexity citations** as numbered source chips |
| |
27 | +- **Vision**: drag & drop images to vision-capable models; text files inject inline |
| |
28 | +- **Compare mode**: broadcast one prompt to 2–4 models in parallel columns |
| |
29 | +- **Quick Chat**: ⌥Space Spotlight-style floating panel from anywhere |
| |
30 | +- **Prompt library** (56 built-in templates + yours), **personas**, ⌘K command palette |
| |
31 | +- **Export** conversations to Markdown or PDF; full-text search; auto-titles |
| |
32 | +- Token usage + estimated cost per message and per conversation |
| |
33 | +- **Custom key vault** — AES-256-GCM (CryptoKit), machine-bound via HKDF (hardware UUID + salt + |
| |
34 | + compiled-in pepper). No Keychain. Keys never leave `~/Library/Application Support/ZyquoCloud/vault.zq`. |
| |
35 | + |
| |
36 | +## Build |
| |
37 | + |
| |
38 | +Requires macOS 13+ and the Swift toolchain (Command Line Tools are enough — no Xcode). |
| |
39 | + |
| |
40 | +```sh |
| |
41 | +make # release build → dist/Zyquo Cloud.app (ad-hoc signed, for local use) |
| |
42 | +make run # build + launch |
| |
43 | +make test # unit tests (Swift Testing) |
| |
44 | +make icon # regenerate AppIcon.icns from assets/icon/*.svg |
| |
45 | +make release # universal binary, Developer ID signed, notarized, stapled + DMG |
| |
46 | +make verify # live API verification across all providers (needs .env.keys) |
| |
47 | +``` |
| |
48 | + |
| |
49 | +`make release` uses the Developer ID identity and `notarytool` keychain profile configured on this |
| |
50 | +machine (see `docs/SIGNING.md`). |
| |
51 | + |
| |
52 | +## Layout |
| |
53 | + |
| |
54 | +``` |
| |
55 | +Sources/ZyquoCloud/ # app target (App, DesignSystem, Models, Providers, Services, ViewModels, Views, Verify) |
| |
56 | +Sources/ZyquoVerify/ # zyquo-verify — live API verification launcher |
| |
57 | +Tests/ZyquoCloudTests/ # unit tests |
| |
58 | +assets/icon/ # SVG icon sources (single source of truth) |
| |
59 | +docs/ # PROVIDERS.md (API research), PLAN.md, VERIFICATION.md, SIGNING.md |
| |
60 | +``` |
| |
61 | + |
| |
62 | +© 2026 Simon-Pierre Boucher. All rights reserved. |