Audit and fix README content errors and gaps
Real errors found and fixed: - Disclaimer referenced a nonexistent Telegram feature and called the app "oAI-Web" (leftover from a different project's README) - Git Sync goodbye-phrase example listed "thanks" as a trigger, which was deliberately excluded from the actual phrase list (fires on every polite message) - UI/UX section still described status pills (MCP/Online/Sync) as living in the header; they moved to the footer in the v2.4 sidebar redesign Missing shipped features added: Apple Intelligence provider, Personal Data Tools (Calendar/Reminders/Contacts/Location), Research Agents, External MCP Servers, MCP PDF text extraction, and the /shortcuts, /skills, /jarvis, // slash commands. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
This commit is contained in:
@@ -1,6 +1,6 @@
|
|||||||
# oAI
|
# oAI
|
||||||
|
|
||||||
A powerful native macOS AI chat application with support for multiple providers, advanced memory management, and seamless Git synchronization.
|
A powerful native macOS AI chat application with support for multiple providers (including on-device Apple Intelligence), MCP-powered tool access, advanced memory management, and seamless Git synchronization.
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
@@ -11,6 +11,7 @@ A powerful native macOS AI chat application with support for multiple providers,
|
|||||||
- **Anthropic** - All Claude models; prompt caching support (direct API and via OpenRouter) reduces cost on repeated system prompts/context
|
- **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
|
||||||
|
- **Apple Intelligence** *(Beta)* - On-device chat via Apple's Foundation Models framework (macOS 26+, Apple Silicon); private, free, works offline; chat only, no tools yet
|
||||||
|
|
||||||
### 💬 Core Chat Capabilities
|
### 💬 Core Chat Capabilities
|
||||||
- **Streaming Responses** - Real-time token streaming for faster interactions
|
- **Streaming Responses** - Real-time token streaming for faster interactions
|
||||||
@@ -36,12 +37,26 @@ A powerful native macOS AI chat application with support for multiple providers,
|
|||||||
Advanced filesystem access for AI models with fine-grained permissions:
|
Advanced filesystem access for AI models with fine-grained permissions:
|
||||||
- **Read Access** - Allow AI to read files in specified folders
|
- **Read Access** - Allow AI to read files in specified folders
|
||||||
- **Write Access** - Optional write permissions for file modifications
|
- **Write Access** - Optional write permissions for file modifications
|
||||||
|
- **PDF Text Extraction** - `read_file`/`search_files` extract and search a PDF's text layer automatically; scanned/image-only PDFs return a clear error instead of garbage
|
||||||
- **Gitignore Support** - Respects .gitignore patterns when listing/searching
|
- **Gitignore Support** - Respects .gitignore patterns when listing/searching
|
||||||
- **Folder Management** - Add/remove allowed folders with visual status
|
- **Folder Management** - Add/remove allowed folders with visual status
|
||||||
- **Search Operations** - Find files by name or content across allowed directories
|
- **Search Operations** - Find files by name or content across allowed directories
|
||||||
|
- **External MCP Servers** - Connect any third-party stdio MCP server (e.g. Safari Technology Preview's `safaridriver --mcp`) to give the AI its tools directly; tool names are prefixed per server, and a crashed server auto-restarts with backoff
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
|
### 📅 Personal Data Tools
|
||||||
|
Native access to Calendar, Reminders, Contacts, and Location & Maps via EventKit/Contacts/CoreLocation - all opt-in, all local, standard macOS permission prompts:
|
||||||
|
- **Calendar & Reminders** - List, read, and create events/reminders; completing/creating always requires an on-screen approval before it happens
|
||||||
|
- **Contacts** - Search and read (read-only)
|
||||||
|
- **Location & Maps** - Current location, place search, geocoding, and directions (read-only)
|
||||||
|
|
||||||
|
### 🔍 Research Agents
|
||||||
|
Spawn multiple read-only sub-agents that search and read files in parallel:
|
||||||
|
- Each agent is limited to read-only tools - no bash, no writes, no further nesting
|
||||||
|
- Concurrency limit is configurable in Settings
|
||||||
|
- Useful for fanning a broad question out across many files at once
|
||||||
|
|
||||||
### 🔄 Git Synchronization
|
### 🔄 Git Synchronization
|
||||||
Seamless conversation backup and sync across devices:
|
Seamless conversation backup and sync across devices:
|
||||||
- **Auto-Sync** - Automatic export and push to Git repository
|
- **Auto-Sync** - Automatic export and push to Git repository
|
||||||
@@ -97,8 +112,8 @@ Automated email responses powered by AI:
|
|||||||
- Native macOS interface with dark/light mode support
|
- Native macOS interface with dark/light mode support
|
||||||
- Markdown rendering with syntax highlighting
|
- Markdown rendering with syntax highlighting
|
||||||
- Customizable text sizes (GUI, dialog, input)
|
- Customizable text sizes (GUI, dialog, input)
|
||||||
- Footer stats display (messages, tokens, cost, sync status)
|
- Footer stats display (messages, tokens, cost) and status pills (Online, MCP, Git sync)
|
||||||
- Header status indicators (MCP, Online mode, Git sync)
|
- Text-only header (provider, model, favourite star)
|
||||||
- Responsive message layout with copy buttons
|
- Responsive message layout with copy buttons
|
||||||
- **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
|
- **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
|
||||||
@@ -193,6 +208,10 @@ Add your API keys in Settings (⌘,) → General tab:
|
|||||||
- `/memory <on|off>` - Toggle conversation memory
|
- `/memory <on|off>` - Toggle conversation memory
|
||||||
- `/online <on|off>` - Toggle online/web search mode
|
- `/online <on|off>` - Toggle online/web search mode
|
||||||
- `/mcp <on|off|status|add|remove|list|write>` - Manage MCP filesystem access
|
- `/mcp <on|off|status|add|remove|list|write>` - Manage MCP filesystem access
|
||||||
|
- `/shortcuts` - Open the Shortcuts manager
|
||||||
|
- `/skills` - Open the Agent Skills manager
|
||||||
|
- `/jarvis` - Open the Jarvis panel
|
||||||
|
- `//` - Send a literal `/` as the first character of a message (escapes the command parser)
|
||||||
|
|
||||||
### MCP (Model Context Protocol)
|
### MCP (Model Context Protocol)
|
||||||
- `/mcp add <path>` - Grant AI access to a folder
|
- `/mcp add <path>` - Grant AI access to a folder
|
||||||
@@ -261,7 +280,7 @@ Backup and sync conversations across devices:
|
|||||||
- **Auto-Sync Options**:
|
- **Auto-Sync Options**:
|
||||||
- On app start (pull + import only)
|
- On app start (pull + import only)
|
||||||
- On idle (configurable timeout)
|
- On idle (configurable timeout)
|
||||||
- After goodbye phrases ("bye", "thanks", "goodbye")
|
- After goodbye phrases ("bye", "goodbye", "that's all", "see you", etc. - deliberately farewells only, not "thanks")
|
||||||
- On model switch
|
- On model switch
|
||||||
- On app quit
|
- On app quit
|
||||||
- Minimum message count threshold
|
- Minimum message count threshold
|
||||||
@@ -335,7 +354,7 @@ See [LICENSE](LICENSE) for the full license text, or visit [polyformproject.org/
|
|||||||
|
|
||||||
## 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 can take real actions on your behalf when you enable optional features - it can run shell commands, read/write files, send emails, and create calendar events or reminders. Write actions are gated behind explicit opt-in settings and, for bash/calendar/reminders, an on-screen approval prompt before they run. Review your permission settings carefully before use. Content you send is processed by whichever AI provider and model you have selected - see [PRIVACY.md](PRIVACY.md) for details on what goes where. oAI 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](LICENSE) for full terms.
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user