Rename app from oAI to Confab
"oAI" reads as easily confused with OpenAI, both visually and in casual conversation. Renamed to "Confab" throughout: Xcode target/scheme/bundle ID (com.oai.Confab), Info.plist and Help Book identity, all user-facing UI text, internal Log subsystem and color identifiers, localization catalogs (6 languages, including a proper reworded/retranslated Intel-deprecation notice), Help Book HTML content, and docs (README/DEVELOPMENT/PRIVACY/SECURITY). Deliberately cosmetic-only: the on-disk data folder (~/Library/Application Support/oAI/), database/backup filenames, Keychain service identifiers, and EncryptionService's key-derivation inputs are all left untouched so existing conversations, settings, and stored API keys survive the update with zero migration and no re-entering credentials. Verified live: a real signed build successfully decrypted a stored API key and loaded an existing conversation database after the bundle ID change. Also includes a small already-completed, previously uncommitted model-release-date feature (ModelInfo/OpenRouterModels/ OpenRouterProvider/ModelInfoView) that happened to share several files with this rename. Gitignored on this branch and updated on disk but not part of this commit: CLAUDE.md, RELEASE_NOTES.md, and the build*.sh scripts.
This commit is contained in:
+3
-3
@@ -5,11 +5,11 @@
|
||||
<key>CFBundleDevelopmentRegion</key>
|
||||
<string>en</string>
|
||||
<key>CFBundleIdentifier</key>
|
||||
<string>com.rune.oAI.help</string>
|
||||
<string>com.rune.Confab.help</string>
|
||||
<key>CFBundleInfoDictionaryVersion</key>
|
||||
<string>6.0</string>
|
||||
<key>CFBundleName</key>
|
||||
<string>oAI Help</string>
|
||||
<string>Confab Help</string>
|
||||
<key>CFBundlePackageType</key>
|
||||
<string>BNDL</string>
|
||||
<key>CFBundleShortVersionString</key>
|
||||
@@ -23,7 +23,7 @@
|
||||
<key>HPDBookIconPath</key>
|
||||
<string>images/icon.png</string>
|
||||
<key>HPDBookTitle</key>
|
||||
<string>oAI Help</string>
|
||||
<string>Confab Help</string>
|
||||
<key>HPDBookType</key>
|
||||
<string>3</string>
|
||||
</dict>
|
||||
|
Before Width: | Height: | Size: 19 KiB After Width: | Height: | Size: 19 KiB |
+39
-39
@@ -3,18 +3,18 @@
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<meta name="AppleTitle" content="oAI Help">
|
||||
<meta name="AppleTitle" content="Confab Help">
|
||||
<meta name="AppleIcon" content="images/icon.png">
|
||||
<meta name="description" content="oAI - AI Chat Assistant for macOS">
|
||||
<meta name="keywords" content="oAI, AI, chat, assistant, OpenAI, Anthropic, Claude, GPT, commands, help">
|
||||
<title>oAI Help</title>
|
||||
<meta name="description" content="Confab - AI Chat Assistant for macOS">
|
||||
<meta name="keywords" content="Confab, AI, chat, assistant, OpenAI, Anthropic, Claude, GPT, commands, help">
|
||||
<title>Confab Help</title>
|
||||
<link rel="stylesheet" href="styles.css">
|
||||
</head>
|
||||
<body>
|
||||
<div class="container">
|
||||
<header>
|
||||
<img src="images/icon.png" alt="oAI Icon" class="app-icon">
|
||||
<h1>oAI Help</h1>
|
||||
<img src="images/icon.png" alt="Confab Icon" class="app-icon">
|
||||
<h1>Confab Help</h1>
|
||||
<p class="subtitle">AI Chat Assistant for macOS</p>
|
||||
</header>
|
||||
|
||||
@@ -56,7 +56,7 @@
|
||||
<!-- Getting Started -->
|
||||
<section id="getting-started">
|
||||
<h2>Getting Started</h2>
|
||||
<p>oAI is a powerful AI chat assistant that connects to multiple AI providers including OpenAI, Anthropic, OpenRouter, and local models via Ollama. The app is available in English, Norwegian Bokmål, Swedish, Danish, German, and French — it follows your macOS language preference automatically.</p>
|
||||
<p>Confab is a powerful AI chat assistant that connects to multiple AI providers including OpenAI, Anthropic, OpenRouter, and local models via Ollama. The app is available in English, Norwegian Bokmål, Swedish, Danish, German, and French — it follows your macOS language preference automatically.</p>
|
||||
|
||||
<div class="steps">
|
||||
<h3>Quick Start</h3>
|
||||
@@ -75,7 +75,7 @@
|
||||
<!-- Providers -->
|
||||
<section id="providers">
|
||||
<h2>AI Providers & API Keys</h2>
|
||||
<p>oAI supports multiple AI providers. You'll need an API key from at least one provider to use the app.</p>
|
||||
<p>Confab supports multiple AI providers. You'll need an API key from at least one provider to use the app.</p>
|
||||
|
||||
<h3>Supported Providers</h3>
|
||||
<ul class="provider-list">
|
||||
@@ -153,7 +153,7 @@
|
||||
<p>Use <kbd>↑</kbd> / <kbd>↓</kbd> to move through the list, <kbd>Return</kbd> to select the highlighted model.</p>
|
||||
|
||||
<h3>Default Model</h3>
|
||||
<p>Set a model that oAI always opens with in <strong>Settings → General → Model Settings → Default Model</strong>. Click <strong>Choose…</strong> to pick from the full model list, or <strong>Clear</strong> to remove the default. Switching models during a chat session does <em>not</em> change your saved default — it only changes the current session.</p>
|
||||
<p>Set a model that Confab always opens with in <strong>Settings → General → Model Settings → Default Model</strong>. Click <strong>Choose…</strong> to pick from the full model list, or <strong>Clear</strong> to remove the default. Switching models during a chat session does <em>not</em> change your saved default — it only changes the current session.</p>
|
||||
</section>
|
||||
|
||||
<!-- Sending Messages -->
|
||||
@@ -310,7 +310,7 @@
|
||||
<!-- Memory -->
|
||||
<section id="memory">
|
||||
<h2>Memory & Context</h2>
|
||||
<p>oAI features an enhanced memory and context system with intelligent message selection, semantic search, and automatic summarization.</p>
|
||||
<p>Confab features an enhanced memory and context system with intelligent message selection, semantic search, and automatic summarization.</p>
|
||||
|
||||
<h3>Basic Memory Control</h3>
|
||||
<p>Control whether the AI remembers previous messages:</p>
|
||||
@@ -322,7 +322,7 @@
|
||||
</div>
|
||||
|
||||
<h3>Smart Context Selection</h3>
|
||||
<p>When enabled, oAI intelligently selects which messages to send instead of sending all history. This reduces token usage by 50-80% while maintaining context quality.</p>
|
||||
<p>When enabled, Confab intelligently selects which messages to send instead of sending all history. This reduces token usage by 50-80% while maintaining context quality.</p>
|
||||
|
||||
<h4>How It Works</h4>
|
||||
<ul>
|
||||
@@ -380,7 +380,7 @@
|
||||
</div>
|
||||
|
||||
<h3>Progressive Summarization</h3>
|
||||
<p>For very long conversations, oAI automatically summarizes older messages to save tokens while preserving context.</p>
|
||||
<p>For very long conversations, Confab automatically summarizes older messages to save tokens while preserving context.</p>
|
||||
|
||||
<h4>How It Works</h4>
|
||||
<ul>
|
||||
@@ -517,7 +517,7 @@
|
||||
<p class="note">The Save dialog includes a folder picker — choose an existing folder or pick <strong>New Folder…</strong> to create one on the spot.</p>
|
||||
|
||||
<h3 id="unsaved-changes">Unsaved Changes & Crash Recovery</h3>
|
||||
<p>oAI tracks unsaved changes like a standard Mac document. Starting a New Chat, clearing the chat, loading a different conversation, or quitting the app while there are unsaved messages shows the standard save prompt:</p>
|
||||
<p>Confab tracks unsaved changes like a standard Mac document. Starting a New Chat, clearing the chat, loading a different conversation, or quitting the app while there are unsaved messages shows the standard save prompt:</p>
|
||||
<ul>
|
||||
<li><strong>Save</strong> — saves the conversation (prompting for a name and folder if it hasn't been saved yet), then proceeds</li>
|
||||
<li><strong>Don't Save</strong> (<kbd>⌘D</kbd> in the prompt) — discards the changes and proceeds</li>
|
||||
@@ -525,7 +525,7 @@
|
||||
</ul>
|
||||
|
||||
<div class="tip">
|
||||
<strong>💡 Crash Recovery:</strong> While you're chatting, oAI periodically mirrors the in-progress conversation to disk (every 10 seconds by default — adjustable or turned off in Settings → General). If oAI crashes or is force-quit, the next launch offers to restore the conversation you were working on, including the model you had selected. This mirror is invisible and separate from your saved conversations — it's cleared automatically as soon as you save, discard, or restore it.
|
||||
<strong>💡 Crash Recovery:</strong> While you're chatting, Confab periodically mirrors the in-progress conversation to disk (every 10 seconds by default — adjustable or turned off in Settings → General). If Confab crashes or is force-quit, the next launch offers to restore the conversation you were working on, including the model you had selected. This mirror is invisible and separate from your saved conversations — it's cleared automatically as soon as you save, discard, or restore it.
|
||||
</div>
|
||||
|
||||
<h3>Renaming Conversations</h3>
|
||||
@@ -618,7 +618,7 @@
|
||||
<li>Click <strong>Clone Repository</strong> to initialize</li>
|
||||
</ol>
|
||||
|
||||
<p>Saving to Git is explicit rather than automatic — see <a href="#unsaved-changes">Unsaved Changes & Crash Recovery</a> for how oAI tracks and prompts you to save. Every explicit save (<kbd>⌘S</kbd>, Save Chat As…, or the unsaved-changes prompt) triggers a background sync (export + commit + push) automatically when Git Sync is configured.</p>
|
||||
<p>Saving to Git is explicit rather than automatic — see <a href="#unsaved-changes">Unsaved Changes & Crash Recovery</a> for how Confab tracks and prompts you to save. Every explicit save (<kbd>⌘S</kbd>, Save Chat As…, or the unsaved-changes prompt) triggers a background sync (export + commit + push) automatically when Git Sync is configured.</p>
|
||||
|
||||
<div class="warning">
|
||||
<strong>⚠️ Multi-Machine Warning:</strong> Syncing on multiple machines simultaneously can cause merge conflicts. Pull before you start working on a different machine.
|
||||
@@ -645,7 +645,7 @@
|
||||
</dl>
|
||||
|
||||
<h3>Sync Status Indicators</h3>
|
||||
<p>oAI shows sync status in two places:</p>
|
||||
<p>Confab shows sync status in two places:</p>
|
||||
|
||||
<h4>Header Indicator (Green/Orange/Red Pill)</h4>
|
||||
<ul>
|
||||
@@ -713,7 +713,7 @@ The weather is sunny today!
|
||||
<h3>Restoring on a New Machine</h3>
|
||||
<p>To restore your conversations on a new Mac:</p>
|
||||
<ol>
|
||||
<li>Install oAI on the new machine</li>
|
||||
<li>Install Confab on the new machine</li>
|
||||
<li>Open Settings → Sync tab</li>
|
||||
<li>Enter your repository URL and credentials</li>
|
||||
<li>Click <strong>Clone Repository</strong></li>
|
||||
@@ -726,9 +726,9 @@ The weather is sunny today!
|
||||
<h4>SSH Key (Recommended)</h4>
|
||||
<p>Most secure option. Generate an SSH key and add it to your Git service:</p>
|
||||
<ol>
|
||||
<li>Generate key: <code>ssh-keygen -t ed25519 -C "oai@yourmac"</code></li>
|
||||
<li>Generate key: <code>ssh-keygen -t ed25519 -C "confab@yourmac"</code></li>
|
||||
<li>Add to git service (GitHub Settings → SSH Keys)</li>
|
||||
<li>Use SSH URL in oAI: <code>git@github.com:username/repo.git</code></li>
|
||||
<li>Use SSH URL in Confab: <code>git@github.com:username/repo.git</code></li>
|
||||
</ol>
|
||||
|
||||
<h4>Access Token</h4>
|
||||
@@ -748,7 +748,7 @@ The weather is sunny today!
|
||||
<li><strong>Enable Auto-Sync on One Machine</strong> - Avoid conflicts by syncing automatically on your primary Mac only</li>
|
||||
<li><strong>Manual Sync on Others</strong> - Use Pull/Push buttons on secondary machines</li>
|
||||
<li><strong>Regular Backups</strong> - Git history preserves all versions of your conversations</li>
|
||||
<li><strong>Don't Edit Manually</strong> - The README warns against manual edits; always use oAI's sync features</li>
|
||||
<li><strong>Don't Edit Manually</strong> - The README warns against manual edits; always use Confab's sync features</li>
|
||||
</ul>
|
||||
|
||||
<h3>Troubleshooting</h3>
|
||||
@@ -776,7 +776,7 @@ The weather is sunny today!
|
||||
<!-- Email Handler -->
|
||||
<section id="email-handler">
|
||||
<h2>Email Handler (AI Assistant)</h2>
|
||||
<p>Turn oAI into an AI-powered email auto-responder. Monitor an inbox and automatically reply to emails with intelligent, context-aware responses.</p>
|
||||
<p>Turn Confab into an AI-powered email auto-responder. Monitor an inbox and automatically reply to emails with intelligent, context-aware responses.</p>
|
||||
|
||||
<div class="tip">
|
||||
<strong>💡 Use Cases:</strong> Customer support automation, personal assistant emails, automated FAQ responses, email-based task management.
|
||||
@@ -784,7 +784,7 @@ The weather is sunny today!
|
||||
|
||||
<h3>How It Works</h3>
|
||||
<ol>
|
||||
<li><strong>IMAP Monitoring</strong> - oAI polls your inbox every 30 seconds for new emails</li>
|
||||
<li><strong>IMAP Monitoring</strong> - Confab polls your inbox every 30 seconds for new emails</li>
|
||||
<li><strong>Subject Filter</strong> - Only emails with your identifier (e.g., <code>[Jarvis]</code>) are processed</li>
|
||||
<li><strong>AI Processing</strong> - Email content is sent to your configured AI model</li>
|
||||
<li><strong>Auto-Reply</strong> - AI-generated response is sent via SMTP</li>
|
||||
@@ -812,7 +812,7 @@ The weather is sunny today!
|
||||
<li>Click <strong>Test Connection</strong> to verify settings</li>
|
||||
<li>Set <strong>Subject Identifier</strong> (e.g., <code>[Jarvis]</code>)</li>
|
||||
<li>Select <strong>AI Provider</strong> and <strong>Model</strong> for responses</li>
|
||||
<li>Save settings and restart oAI</li>
|
||||
<li>Save settings and restart Confab</li>
|
||||
</ol>
|
||||
|
||||
<div class="note">
|
||||
@@ -927,8 +927,8 @@ The weather is sunny today!
|
||||
<li>Verify subject identifier matches exactly (case-sensitive)</li>
|
||||
<li>Check email is in INBOX (not Spam/Junk)</li>
|
||||
<li>Ensure email handler is enabled in Settings</li>
|
||||
<li>Restart oAI to reinitialize monitoring</li>
|
||||
<li>Check logs: <code>~/Library/Logs/oAI.log</code></li>
|
||||
<li>Restart Confab to reinitialize monitoring</li>
|
||||
<li>Check logs: <code>~/Library/Logs/Confab.log</code></li>
|
||||
</ul>
|
||||
|
||||
<h4>Connection Errors</h4>
|
||||
@@ -943,7 +943,7 @@ The weather is sunny today!
|
||||
<h4>SMTP TLS Errors</h4>
|
||||
<ul>
|
||||
<li>Use port 465 (direct TLS) instead of 587 (STARTTLS)</li>
|
||||
<li>Port 465 is more reliable with oAI's implementation</li>
|
||||
<li>Port 465 is more reliable with Confab's implementation</li>
|
||||
<li>If only 587 available, contact support</li>
|
||||
</ul>
|
||||
|
||||
@@ -959,7 +959,7 @@ The weather is sunny today!
|
||||
<ul>
|
||||
<li>Check Email Log for duplicate entries</li>
|
||||
<li>Emails should be marked as read after processing</li>
|
||||
<li>Restart oAI if duplicates persist</li>
|
||||
<li>Restart Confab if duplicates persist</li>
|
||||
</ul>
|
||||
|
||||
<h3>Best Practices</h3>
|
||||
@@ -1290,7 +1290,7 @@ Whenever the user asks you to translate something, translate it to Norwegian Bok
|
||||
<!-- iCloud Backup -->
|
||||
<section id="icloud-backup">
|
||||
<h2>iCloud Backup</h2>
|
||||
<p>Back up and restore all your oAI settings with one click. Backups are saved to iCloud Drive so they're available on any Mac where you're signed in.</p>
|
||||
<p>Back up and restore all your Confab settings with one click. Backups are saved to iCloud Drive so they're available on any Mac where you're signed in.</p>
|
||||
|
||||
<div class="note">
|
||||
<strong>What is included:</strong> All settings and preferences — providers, model defaults, MCP configuration, appearance, advanced options, shortcuts, skills, and more.<br><br>
|
||||
@@ -1315,7 +1315,7 @@ Whenever the user asks you to translate something, translate it to Norwegian Bok
|
||||
</ol>
|
||||
|
||||
<div class="tip">
|
||||
<strong>💡 New Mac Setup:</strong> Back up on your old Mac, sign in to iCloud on your new Mac, open oAI, restore from the backup file — and all your settings are restored in seconds. You only need to re-enter API keys.
|
||||
<strong>💡 New Mac Setup:</strong> Back up on your old Mac, sign in to iCloud on your new Mac, open Confab, restore from the backup file — and all your settings are restored in seconds. You only need to re-enter API keys.
|
||||
</div>
|
||||
|
||||
<h3>Backup Format</h3>
|
||||
@@ -1325,7 +1325,7 @@ Whenever the user asks you to translate something, translate it to Norwegian Bok
|
||||
<!-- Reasoning / Thinking Tokens -->
|
||||
<section id="reasoning">
|
||||
<h2>Reasoning / Thinking Tokens</h2>
|
||||
<p>Some AI models can "think out loud" before giving their final answer — reasoning through the problem step by step. oAI streams this thinking content live and displays it in a collapsible block above the response.</p>
|
||||
<p>Some AI models can "think out loud" before giving their final answer — reasoning through the problem step by step. Confab streams this thinking content live and displays it in a collapsible block above the response.</p>
|
||||
|
||||
<h3>Supported Models</h3>
|
||||
<p>Reasoning is available on models that support extended thinking, including:</p>
|
||||
@@ -1382,7 +1382,7 @@ Whenever the user asks you to translate something, translate it to Norwegian Bok
|
||||
<!-- Anytype Integration -->
|
||||
<section id="anytype">
|
||||
<h2>Anytype Integration</h2>
|
||||
<p>oAI can connect to your local <a href="https://anytype.io" target="_blank">Anytype</a> desktop app, giving the AI read and write access to your personal knowledge base. All data stays on your machine — the API is local-only.</p>
|
||||
<p>Confab can connect to your local <a href="https://anytype.io" target="_blank">Anytype</a> desktop app, giving the AI read and write access to your personal knowledge base. All data stays on your machine — the API is local-only.</p>
|
||||
|
||||
<h3>Requirements</h3>
|
||||
<ul>
|
||||
@@ -1392,7 +1392,7 @@ Whenever the user asks you to translate something, translate it to Norwegian Bok
|
||||
|
||||
<h3>Setup</h3>
|
||||
<ol>
|
||||
<li>Open oAI Settings → Anytype tab</li>
|
||||
<li>Open Confab Settings → Anytype tab</li>
|
||||
<li>Enable the toggle</li>
|
||||
<li>Enter your API key (leave the URL as the default unless your setup is unusual)</li>
|
||||
<li>Click <strong>Test Connection</strong> — a success message will show how many spaces were found</li>
|
||||
@@ -1450,7 +1450,7 @@ Whenever the user asks you to translate something, translate it to Norwegian Bok
|
||||
<p>Toggle a server off/on or delete it entirely with the trash icon. Crashed servers automatically restart up to 3 times with increasing delay (5s, 15s, 30s) before giving up.</p>
|
||||
|
||||
<div class="note">
|
||||
<strong>Note:</strong> Tool names from every external server are prefixed with that server's slug (derived from its Name) so they never collide with oAI's built-in tools or each other.
|
||||
<strong>Note:</strong> Tool names from every external server are prefixed with that server's slug (derived from its Name) so they never collide with Confab's built-in tools or each other.
|
||||
</div>
|
||||
</section>
|
||||
|
||||
@@ -1578,7 +1578,7 @@ Whenever the user asks you to translate something, translate it to Norwegian Bok
|
||||
<!-- Settings -->
|
||||
<section id="settings">
|
||||
<h2>Settings</h2>
|
||||
<p>Customize oAI to your preferences. Press <kbd>⌘,</kbd> to open Settings.</p>
|
||||
<p>Customize Confab to your preferences. Press <kbd>⌘,</kbd> to open Settings.</p>
|
||||
|
||||
<h3>General Tab</h3>
|
||||
<ul>
|
||||
@@ -1669,7 +1669,7 @@ Whenever the user asks you to translate something, translate it to Norwegian Bok
|
||||
</div>
|
||||
|
||||
<h3>Paperless Tab <span style="font-size: 0.75em; background: #f90; color: #fff; border-radius: 4px; padding: 1px 5px; vertical-align: middle;">Beta</span></h3>
|
||||
<p>Connect oAI to a self-hosted <a href="https://docs.paperless-ngx.com" target="_blank">Paperless-NGX</a> instance so the AI can search and read your document archive.</p>
|
||||
<p>Connect Confab to a self-hosted <a href="https://docs.paperless-ngx.com" target="_blank">Paperless-NGX</a> instance so the AI can search and read your document archive.</p>
|
||||
<ul>
|
||||
<li><strong>URL</strong> — Base URL of your Paperless instance (e.g. <code>https://paperless.yourdomain.com</code>)</li>
|
||||
<li><strong>API Token</strong> — Found in Paperless → Settings → API Tokens</li>
|
||||
@@ -1710,7 +1710,7 @@ Whenever the user asks you to translate something, translate it to Norwegian Bok
|
||||
</ul>
|
||||
|
||||
<h3>Anytype Tab</h3>
|
||||
<p>Connect oAI to your local <a href="https://anytype.io" target="_blank">Anytype</a> desktop app so the AI can search, read, and add content to your knowledge base.</p>
|
||||
<p>Connect Confab to your local <a href="https://anytype.io" target="_blank">Anytype</a> desktop app so the AI can search, read, and add content to your knowledge base.</p>
|
||||
<ul>
|
||||
<li><strong>Enable Anytype</strong> — toggle to activate the integration</li>
|
||||
<li><strong>API URL</strong> — local Anytype API endpoint (default: <code>http://127.0.0.1:31009</code>)</li>
|
||||
@@ -1751,7 +1751,7 @@ Whenever the user asks you to translate something, translate it to Norwegian Bok
|
||||
</ul>
|
||||
|
||||
<h3>Default System Prompt</h3>
|
||||
<p>oAI includes a carefully crafted default system prompt that emphasizes:</p>
|
||||
<p>Confab includes a carefully crafted default system prompt that emphasizes:</p>
|
||||
<ul>
|
||||
<li><strong>Accuracy First</strong> - Never invent information or make assumptions</li>
|
||||
<li><strong>Ask for Clarification</strong> - Request details when requests are ambiguous</li>
|
||||
@@ -1773,7 +1773,7 @@ Whenever the user asks you to translate something, translate it to Norwegian Bok
|
||||
</ul>
|
||||
|
||||
<h3>How Prompts Are Combined</h3>
|
||||
<p>When you send a message, oAI constructs the complete system prompt like this:</p>
|
||||
<p>When you send a message, Confab constructs the complete system prompt like this:</p>
|
||||
|
||||
<div class="example">
|
||||
<p><strong>Complete System Prompt =</strong></p>
|
||||
@@ -1812,7 +1812,7 @@ Whenever the user asks you to translate something, translate it to Norwegian Bok
|
||||
</main>
|
||||
|
||||
<footer>
|
||||
<p>© 2026 oAI - Rune Olsen. For support or feedback, visit <a href="https://gitlab.pm/rune/oai-swift">gitlab.pm</a> or <a href="mailto:support@fubar.pm?subject=oAI Support&body=What can I help you with?">Contact Us</a>.</p>
|
||||
<p>© 2026 Confab - Rune Olsen. For support or feedback, visit <a href="https://gitlab.pm/rune/oai-swift">gitlab.pm</a> or <a href="mailto:support@fubar.pm?subject=Confab Support&body=What can I help you with?">Contact Us</a>.</p>
|
||||
</footer>
|
||||
</div>
|
||||
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
/* oAI Help Stylesheet - Apple Human Interface Guidelines */
|
||||
/* Confab Help Stylesheet - Apple Human Interface Guidelines */
|
||||
|
||||
:root {
|
||||
--primary-color: #007AFF;
|
||||
@@ -1,31 +1,31 @@
|
||||
# oAI Help Book
|
||||
# Confab Help Book
|
||||
|
||||
This folder contains the Apple Help Book for oAI.
|
||||
This folder contains the Apple Help Book for Confab.
|
||||
|
||||
## Adding to Xcode Project
|
||||
|
||||
1. **Add the help folder to your project:**
|
||||
- In Xcode, right-click on the `Resources` folder in the Project Navigator
|
||||
- Select "Add Files to 'oAI'..."
|
||||
- Select the `oAI.help` folder
|
||||
- Select "Add Files to 'Confab'..."
|
||||
- Select the `Confab.help` folder
|
||||
- **Important:** Check "Create folder references" (NOT "Create groups")
|
||||
- Click "Add"
|
||||
|
||||
2. **Configure the help book in build settings:**
|
||||
- Select your oAI target in Xcode
|
||||
- Select your Confab target in Xcode
|
||||
- Go to the "Info" tab
|
||||
- Add a new key: `CFBundleHelpBookName` with value: `oAI Help`
|
||||
- Add another key: `CFBundleHelpBookFolder` with value: `oAI.help`
|
||||
- Add a new key: `CFBundleHelpBookName` with value: `Confab Help`
|
||||
- Add another key: `CFBundleHelpBookFolder` with value: `Confab.help`
|
||||
|
||||
3. **Build and test:**
|
||||
- Build the app (⌘B)
|
||||
- Run the app (⌘R)
|
||||
- Press ⌘? or select Help → oAI Help to open the help
|
||||
- Press ⌘? or select Help → Confab Help to open the help
|
||||
|
||||
## Structure
|
||||
|
||||
```
|
||||
oAI.help/
|
||||
Confab.help/
|
||||
├── Contents/
|
||||
│ ├── Info.plist # Help book metadata
|
||||
│ └── Resources/
|
||||
@@ -37,7 +37,7 @@ oAI.help/
|
||||
|
||||
## Features
|
||||
|
||||
- ✅ Comprehensive coverage of all oAI features
|
||||
- ✅ Comprehensive coverage of all Confab features
|
||||
- ✅ Searchable via macOS Help menu search
|
||||
- ✅ Dark mode support
|
||||
- ✅ Organized by topic with table of contents
|
||||
Reference in New Issue
Block a user