2 Commits

Author SHA1 Message Date
rune 66c9054bd5 Update README with i18n disclosure and newly added features
Document Jarvis integration, Combine Conversations, model category
filter, sidebar navigation, prompt caching, and the 2nd Brain trust
toggle. Clarify that localization is AI/machine-translated rather than
reviewed by native speakers. Normalize all em-dashes to plain hyphens.
2026-06-22 11:14:34 +02:00
rune 20121981a0 Add French localization and catch up nb/sv/da/de translations
French (fr) added as a 5th supported language; full catalog translated.
Also caught up nb/sv/da/de for ~300 strings added since the last
localization pass (Jarvis, Anytype, model categories, reasoning effort,
Combine Conversations) plus Button/Toggle/Menu/CommandMenu titles and
custom sectionHeader/row helpers in Settings that were never extracted
by prior tooling, leaving Settings and the View menu English-only
regardless of locale.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-19 11:17:36 +02:00
3 changed files with 11071 additions and 60 deletions
+34 -20
View File
@@ -8,15 +8,16 @@ A powerful native macOS AI chat application with support for multiple providers,
### 🤖 Multi-Provider Support ### 🤖 Multi-Provider Support
- **OpenAI** - GPT models with native API support - **OpenAI** - GPT models with native API support
- **Anthropic** - All Claude models - **Anthropic** - All Claude models; prompt caching support (direct API and via OpenRouter) reduces cost on repeated system prompts/context
- **OpenRouter** - Access to 300+ AI models from multiple providers - **OpenRouter** - Access to 300+ AI models from multiple providers
- **Ollama** - Local model inference for privacy - **Ollama** - Local model inference for privacy
### 💬 Core Chat Capabilities ### 💬 Core Chat Capabilities
- **Streaming Responses** - Real-time token streaming for faster interactions - **Streaming Responses** - Real-time token streaming for faster interactions
- **Conversation Management** - Save, load, export, and search conversations - **Conversation Management** - Save, load, export, and search conversations
- **Combine Conversations** - Merge 2+ saved conversations, either by chronological concatenation or AI-assisted synthesis
- **File Attachments** - Support for text files, images, and PDFs - **File Attachments** - Support for text files, images, and PDFs
- **Image Generation** - Create images with supported models (DALL-E, Flux, etc.) renders inline in chat - **Image Generation** - Create images with supported models (DALL-E, Flux, etc.) - renders inline in chat
- **Reasoning / Thinking Tokens** - Stream live reasoning from thinking-capable models (DeepSeek R1, Claude 3.7+, o1/o3, Qwen); configurable effort level (High/Medium/Low/Minimal); collapsible block auto-expands while thinking and collapses when the answer arrives - **Reasoning / Thinking Tokens** - Stream live reasoning from thinking-capable models (DeepSeek R1, Claude 3.7+, o1/o3, Qwen); configurable effort level (High/Medium/Low/Minimal); collapsible block auto-expands while thinking and collapses when the answer arrives
- **Online Mode** - DuckDuckGo and Google web search integration - **Online Mode** - DuckDuckGo and Google web search integration
- **Session Statistics** - Track token usage, costs, and response times - **Session Statistics** - Track token usage, costs, and response times
@@ -51,17 +52,25 @@ Seamless conversation backup and sync across devices:
### ⚡ Shortcuts & Agent Skills ### ⚡ Shortcuts & Agent Skills
- **Shortcuts** - Personal slash commands that expand to prompt templates; optional `{{input}}` placeholder for inline input - **Shortcuts** - Personal slash commands that expand to prompt templates; optional `{{input}}` placeholder for inline input
- **Agent Skills (SKILL.md)** - Markdown instruction files injected into the system prompt; compatible with skill0.io, skillsmp.com, and other SKILL.md marketplaces; import as `.md` or `.zip` bundle with attached data files - **Agent Skills (SKILL.md)** - Markdown instruction files injected into the system prompt; compatible with skill0.io, skillsmp.com, and other SKILL.md marketplaces; import as `.md` or `.zip` bundle with attached data files; a skill named exactly "2nd Brain" can be marked always-trusted, skipping the bash approval prompt for its helper-script calls
### 📚 Anytype Integration ### 📚 Anytype Integration
Connect oAI to your local [Anytype](https://anytype.io) knowledge base: Connect oAI to your local [Anytype](https://anytype.io) knowledge base:
- **Search** find objects by keyword across all spaces or within a specific one - **Search** - find objects by keyword across all spaces or within a specific one
- **Read** open any object and read its full markdown content - **Read** - open any object and read its full markdown content
- **Append** add content to the end of an existing object without touching existing text or internal links (preferred over full update) - **Append** - add content to the end of an existing object without touching existing text or internal links (preferred over full update)
- **Create** make new notes, tasks, or pages - **Create** - make new notes, tasks, or pages
- **Checkbox tools** surgically toggle to-do checkboxes or set task done/undone via native relation - **Checkbox tools** - surgically toggle to-do checkboxes or set task done/undone via native relation
- All data stays on your machine (local API, no cloud) - All data stays on your machine (local API, no cloud)
### 🛰️ Jarvis Integration
Connect oAI to a self-hosted [Jarvis](https://jarvis.pm) agent-automation server:
- **Agent Management** - List, create, edit, enable/disable, run, and stop agents
- **Run History** - Expandable per-run output with status and timing
- **Usage & Credits** - Per-agent usage stats and credits balance
- **Queue Control** - Pause/resume all agents
- `/jarvis` slash command opens the Jarvis panel directly
### 🖥️ Power-User Features ### 🖥️ Power-User Features
- **Bash Execution** - AI can run shell commands via `/bin/zsh` (opt-in, with per-command approval prompt) - **Bash Execution** - AI can run shell commands via `/bin/zsh` (opt-in, with per-command approval prompt)
- **iCloud Backup** - One-click settings backup to iCloud Drive; restore on any Mac; API keys excluded for security - **iCloud Backup** - One-click settings backup to iCloud Drive; restore on any Mac; API keys excluded for security
@@ -85,9 +94,10 @@ Automated email responses powered by AI:
- Footer stats display (messages, tokens, cost, sync status) - Footer stats display (messages, tokens, cost, sync status)
- Header status indicators (MCP, Online mode, Git sync) - Header status indicators (MCP, Online mode, Git sync)
- Responsive message layout with copy buttons - Responsive message layout with copy buttons
- **Model Selector (⌘M)** - Filter by capability (Vision / Tools / Online / Image Gen / Thinking 🧠), sort by price or context window, search by name or description, per-row ⓘ info button; ★ favourite any model favourites float to the top and can be filtered in one click - **Model Selector (⌘M)** - Filter by capability (Vision / Tools / Online / Image Gen / Thinking 🧠) or by category (Programming, Math, Medical, Translation, Roleplay, Creative, Science, Finance, Legal), sort by price or context window, search by name or description, per-row ⓘ info button; ★ favourite any model - favourites float to the top and can be filtered in one click
- **Default Model** - Set a fixed startup model in Settings → General; switching models during a session does not overwrite it - **Default Model** - Set a fixed startup model in Settings → General; switching models during a session does not overwrite it
- **Localization** - UI ~~fully translated~~ being translated into Norwegian Bokmål, Swedish, Danish, and German; follows macOS language preference automatically - **Sidebar Navigation** - Collapsible sidebar for switching between conversations
- **Localization** - Fully localized into Norwegian Bokmål, Swedish, Danish, German, and French; follows macOS language preference automatically. Translations are AI-generated (machine translation), not reviewed by native speakers - if you spot an awkward or incorrect phrase, please [open an issue](https://gitlab.pm/rune/oai-swift/issues/new)
![Advanced Features](Screenshots/4.png) ![Advanced Features](Screenshots/4.png)
@@ -97,8 +107,8 @@ Automated email responses powered by AI:
Download the latest release from the [Releases page](https://gitlab.pm/rune/oai-swift/releases). Two builds are available: Download the latest release from the [Releases page](https://gitlab.pm/rune/oai-swift/releases). Two builds are available:
- **oAI-x.x.x-AppleSilicon.dmg** for Macs with an Apple Silicon chip (M1 and later) - **oAI-x.x.x-AppleSilicon.dmg** - for Macs with an Apple Silicon chip (M1 and later)
- **oAI-x.x.x-Universal.dmg** runs natively on both Apple Silicon and Intel Macs - **oAI-x.x.x-Universal.dmg** - runs natively on both Apple Silicon and Intel Macs
### Installing from DMG ### Installing from DMG
@@ -107,19 +117,19 @@ Download the latest release from the [Releases page](https://gitlab.pm/rune/oai-
3. Eject the DMG 3. Eject the DMG
4. Launch oAI from Applications or Spotlight 4. Launch oAI from Applications or Spotlight
### First Launch Gatekeeper Warning ### First Launch - Gatekeeper Warning
oAI is **signed by the developer** but has **not yet been notarized by Apple**. Notarization is Apple's automated malware scan the app itself is safe, but macOS Gatekeeper may block it on first launch with a message saying the app "cannot be opened because the developer cannot be verified." oAI is **signed by the developer** but has **not yet been notarized by Apple**. Notarization is Apple's automated malware scan - the app itself is safe, but macOS Gatekeeper may block it on first launch with a message saying the app "cannot be opened because the developer cannot be verified."
To open the app, you have two options: To open the app, you have two options:
**Option A Right-click to open (quickest):** **Option A - Right-click to open (quickest):**
1. Right-click (or Control-click) `oAI.app` in Applications 1. Right-click (or Control-click) `oAI.app` in Applications
2. Select **Open** from the context menu 2. Select **Open** from the context menu
3. Click **Open** in the dialog that appears 3. Click **Open** in the dialog that appears
4. After doing this once, the app opens normally from then on 4. After doing this once, the app opens normally from then on
**Option B Remove the quarantine flag via Terminal:** **Option B - Remove the quarantine flag via Terminal:**
```bash ```bash
xattr -dr com.apple.quarantine /Applications/oAI.app xattr -dr com.apple.quarantine /Applications/oAI.app
@@ -139,7 +149,7 @@ Add your API keys in Settings (⌘,) → General tab:
- **Anthropic** - Get from [Anthropic Console](https://console.anthropic.com/) or use OAuth - **Anthropic** - Get from [Anthropic Console](https://console.anthropic.com/) or use OAuth
- **OpenRouter** - Get from [OpenRouter Keys](https://openrouter.ai/keys) - **OpenRouter** - Get from [OpenRouter Keys](https://openrouter.ai/keys)
- **Ollama** - Base URL (default: http://localhost:11434) - **Ollama** - Base URL (default: http://localhost:11434)
- **Google** - API key used for Google Custom Search (web search) and Google embeddings (semantic search) not a chat provider - **Google** - API key used for Google Custom Search (web search) and Google embeddings (semantic search) - not a chat provider
### Essential Settings ### Essential Settings
@@ -313,12 +323,16 @@ AI-powered email auto-responder:
- [x] Vector index for faster semantic search (sqlite-vss) - [x] Vector index for faster semantic search (sqlite-vss)
- [x] Reasoning / thinking tokens (streamed live, collapsible) - [x] Reasoning / thinking tokens (streamed live, collapsible)
- [x] Localization (Norwegian Bokmål, Swedish, Danish, German) - [x] Localization (Norwegian Bokmål, Swedish, Danish, German, French)
- [x] iCloud Backup (settings export/restore) - [x] iCloud Backup (settings export/restore)
- [x] Bash execution with per-command approval - [x] Bash execution with per-command approval
- [x] Anytype integration (read, append, create, checkbox tools) - [x] Anytype integration (read, append, create, checkbox tools)
- [x] Model favourites (starred models, filter, float to top) - [x] Model favourites (starred models, filter, float to top)
- [ ] SOUL.md / USER.md — living identity documents injected into system prompt - [x] Jarvis integration (agent management, run history, usage/credits)
- [x] Model category filter (Programming, Math, Medical, etc.)
- [x] Combine saved conversations (concatenation or AI-assisted synthesis)
- [x] Sidebar navigation redesign
- [ ] SOUL.md / USER.md - living identity documents injected into system prompt
- [ ] Parallel research agents (read-only, concurrent) - [ ] Parallel research agents (read-only, concurrent)
- [ ] Local embeddings (sentence-transformers, $0 cost) - [ ] Local embeddings (sentence-transformers, $0 cost)
- [ ] Multi-modal conversation export (PDF, HTML) - [ ] Multi-modal conversation export (PDF, HTML)
@@ -346,7 +360,7 @@ See [LICENSE](LICENSE) for the full license text, or visit [gnu.org/licenses/agp
## Disclaimer ## Disclaimer
oAI takes real actions on your behalf it can send emails, write files, make calendar changes, and post Telegram messages. Review your whitelist and permission settings carefully before use. Content you send is processed by your configured AI provider (Anthropic, OpenRouter, or OpenAI). oAI-Web is provided "as is" without warranty of any kind the author accepts no responsibility for actions taken by the agent or any consequences thereof. See LICENSE for full terms. oAI takes real actions on your behalf - it can send emails, write files, make calendar changes, and post Telegram messages. Review your whitelist and permission settings carefully before use. Content you send is processed by your configured AI provider (Anthropic, OpenRouter, or OpenAI). oAI-Web is provided "as is" without warranty of any kind - the author accepts no responsibility for actions taken by the agent or any consequences thereof. See LICENSE for full terms.
--- ---
+1
View File
@@ -104,6 +104,7 @@
da, da,
de, de,
sv, sv,
fr,
); );
mainGroup = A550A6592F3B72EA00136F2B; mainGroup = A550A6592F3B72EA00136F2B;
minimizedProjectReferenceProxies = 1; minimizedProjectReferenceProxies = 1;
+11036 -40
View File
File diff suppressed because it is too large Load Diff