|
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. |