{"id":45761651,"url":"https://github.com/osaurus-ai/osaurus","last_synced_at":"2026-06-08T16:01:08.556Z","repository":{"id":310488448,"uuid":"1039587768","full_name":"osaurus-ai/osaurus","owner":"osaurus-ai","description":"Own your AI. The native macOS harness for AI agents -- any model, persistent memory, autonomous execution, cryptographic identity. Built in Swift. Fully offline. Open source.","archived":false,"fork":false,"pushed_at":"2026-06-04T11:29:50.000Z","size":40188,"stargazers_count":5563,"open_issues_count":63,"forks_count":305,"subscribers_count":21,"default_branch":"main","last_synced_at":"2026-06-04T12:17:56.825Z","etag":null,"topics":["anthropic","apple-foundation-models","apple-intelligence","apple-neural-engine","llm","mcp","mcp-server","mlx","openai","swift"],"latest_commit_sha":null,"homepage":"https://osaurus.ai","language":"Swift","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/osaurus-ai.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"docs/CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":"docs/CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":"docs/SECURITY.md","support":"docs/SUPPORT.md","governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":"AGENTS.md","dco":null,"cla":null}},"created_at":"2025-08-17T15:05:39.000Z","updated_at":"2026-06-04T11:32:52.000Z","dependencies_parsed_at":"2025-09-02T18:15:29.657Z","dependency_job_id":"bd4572d3-03ae-455d-8e24-b303d144e4d1","html_url":"https://github.com/osaurus-ai/osaurus","commit_stats":null,"previous_names":["dinoki-ai/osaurus","osaurus-ai/osaurus"],"tags_count":395,"template":false,"template_full_name":null,"purl":"pkg:github/osaurus-ai/osaurus","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/osaurus-ai%2Fosaurus","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/osaurus-ai%2Fosaurus/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/osaurus-ai%2Fosaurus/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/osaurus-ai%2Fosaurus/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/osaurus-ai","download_url":"https://codeload.github.com/osaurus-ai/osaurus/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/osaurus-ai%2Fosaurus/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":34069501,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-06-08T02:00:07.615Z","response_time":111,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["anthropic","apple-foundation-models","apple-intelligence","apple-neural-engine","llm","mcp","mcp-server","mlx","openai","swift"],"created_at":"2026-02-25T23:15:14.107Z","updated_at":"2026-06-08T16:01:08.546Z","avatar_url":"https://github.com/osaurus-ai.png","language":"Swift","funding_links":[],"categories":["NLP","Table of Contents","カテゴリ","Swift","Docker MCP Toolkit","LLM \u0026 Inference","Catalog","Local LLM"],"sub_categories":["Manager","🛠️ \u003ca name=\"developer-tools\"\u003e\u003c/a\u003e開発ツール","Security \u0026 Authentication","Reference Harness Implementations"],"readme":"\u003cp align=\"center\"\u003e\n\u003cimg width=\"1920\" height=\"1080\" alt=\"osaurus-techcrunch-1\" src=\"https://github.com/user-attachments/assets/d7905005-71fe-41ba-b69f-e8968af29b5c\" /\u003e\n\u003c/p\u003e\n\n\u003ch1 align=\"center\"\u003eOsaurus\u003c/h1\u003e\n\n\u003cp align=\"center\"\u003e\n  \u003cstrong\u003eOwn your AI.\u003c/strong\u003e\u003cbr\u003e\n  Agents, memory, tools, and identity that live on your Mac. Built purely in Swift. Fully offline. Open source.\n\u003c/p\u003e\n\n\u003cp align=\"center\"\u003e\n  \u003ca href=\"https://github.com/osaurus-ai/osaurus/releases/latest\"\u003e\u003cimg src=\"https://img.shields.io/github/v/release/osaurus-ai/osaurus?sort=semver\" alt=\"Release\"\u003e\u003c/a\u003e\n  \u003ca href=\"https://github.com/osaurus-ai/osaurus/releases\"\u003e\u003cimg src=\"https://img.shields.io/github/downloads/osaurus-ai/osaurus/total\" alt=\"Downloads\"\u003e\u003c/a\u003e\n  \u003ca href=\"https://github.com/osaurus-ai/osaurus/blob/main/LICENSE\"\u003e\u003cimg src=\"https://img.shields.io/github/license/osaurus-ai/osaurus\" alt=\"License\"\u003e\u003c/a\u003e\n  \u003ca href=\"https://github.com/osaurus-ai/osaurus/stargazers\"\u003e\u003cimg src=\"https://img.shields.io/github/stars/osaurus-ai/osaurus?style=social\" alt=\"Stars\"\u003e\u003c/a\u003e\n\u003c/p\u003e\n\n\u003cp align=\"center\"\u003e\n  \u003cimg src=\"https://img.shields.io/badge/Platform-macOS%20(Apple%20Silicon)-black?logo=apple\" alt=\"Platform\"\u003e\n  \u003cimg src=\"https://img.shields.io/badge/OpenAI%20API-compatible-0A7CFF\" alt=\"OpenAI API\"\u003e\n  \u003cimg src=\"https://img.shields.io/badge/Anthropic%20API-compatible-0A7CFF\" alt=\"Anthropic API\"\u003e\n  \u003cimg src=\"https://img.shields.io/badge/Ollama%20API-compatible-0A7CFF\" alt=\"Ollama API\"\u003e\n  \u003cimg src=\"https://img.shields.io/badge/MCP-server-0A7CFF\" alt=\"MCP Server\"\u003e\n  \u003cimg src=\"https://img.shields.io/badge/Apple%20Foundation%20Models-supported-0A7CFF\" alt=\"Foundation Models\"\u003e\n  \u003ca href=\"https://huggingface.co/OsaurusAI\"\u003e\u003cimg src=\"https://img.shields.io/badge/%F0%9F%A4%97%20Hugging%20Face-OsaurusAI-FFD21E\" alt=\"Hugging Face\"\u003e\u003c/a\u003e\n  \u003cimg src=\"https://img.shields.io/badge/PRs-welcome-brightgreen\" alt=\"PRs Welcome\"\u003e\n\u003c/p\u003e\n\n\u003cp align=\"center\"\u003e\n  \u003ca href=\"https://github.com/osaurus-ai/osaurus/releases/latest/download/Osaurus.dmg\"\u003eDownload for Mac\u003c/a\u003e ·\n  \u003ca href=\"https://docs.osaurus.ai\"\u003eDocs\u003c/a\u003e ·\n  \u003ca href=\"https://huggingface.co/OsaurusAI\"\u003eModels\u003c/a\u003e ·\n  \u003ca href=\"https://discord.gg/osaurus\"\u003eDiscord\u003c/a\u003e ·\n  \u003ca href=\"https://x.com/OsaurusAI\"\u003eTwitter\u003c/a\u003e ·\n  \u003ca href=\"https://github.com/osaurus-ai/osaurus-tools\"\u003ePlugin Registry\u003c/a\u003e\n\u003c/p\u003e\n\n---\n\n## Inference is all you need. Everything else can be owned by you.\n\nModels are getting cheaper and more interchangeable by the day. What's irreplaceable is the layer around them -- your context, your memory, your tools, your identity. Others keep that layer on their servers. Osaurus keeps it on your machine.\n\nOsaurus is the AI harness for macOS. It sits between you and any model -- local or cloud -- and provides the continuity that makes AI personal: agents that remember, execute autonomously, run real code, and stay reachable from anywhere. The models are interchangeable. The harness is what compounds.\n\nWorks fully offline with local models. Connect to any cloud provider when you want more power. Nothing leaves your Mac unless you choose.\n\nNative Swift on Apple Silicon. No Electron. No compromises. MIT licensed.\n\n## Install\n\n```bash\nbrew install --cask osaurus\n```\n\nOr download the latest `.dmg` from [Releases](https://github.com/osaurus-ai/osaurus/releases/latest). After installing, launch from Spotlight (`⌘ Space` → \"Osaurus\") or the CLI:\n\n```bash\nosaurus ui       # Open the chat UI\nosaurus serve    # Start the server\nosaurus status   # Check status\n```\n\n\u003e Requires macOS 15.5+ and Apple Silicon.\n\n## Agents\n\nAgents are the core of Osaurus. Each one gets its own prompts, memory, and visual theme -- a research assistant, a coding partner, a file organizer, whatever you need. Tools and skills are automatically selected via RAG search based on the task at hand -- no manual configuration needed. Everything else in the harness exists to make agents smarter, faster, and more capable over time.\n\nAgents can also opt into a private encrypted database and a single self-scheduled next run -- see [Agent DB \u0026 Self-Scheduling](docs/AGENT_DB.md).\n\n### Agent Loop\n\nEvery chat is an agent loop. Pick a working folder and the agent gets file, search, and git tools. Toggle the sandbox and it gets shell access in an isolated Linux VM. The model writes a markdown todo list, executes against it, and closes out with a verified summary -- all in the same chat window. See the [Agent Loop Guide](docs/AGENT_LOOP.md).\n\n### Sandbox\n\nAgents execute code in an isolated Linux VM powered by Apple's [Containerization](https://developer.apple.com/documentation/containerization) framework. Full dev environment -- shell, Python, Node.js, compilers, package managers -- with zero risk to your Mac.\n\nEach agent gets its own Linux user and home directory. The VM connects back to Osaurus (inference, memory, secrets) via a vsock bridge -- sandboxed but not disconnected. Extend with simple JSON plugin recipes, no Xcode or code signing required.\n\n```\n┌────────────────┐       ┌────────────────────────────┐\n│    Osaurus     │       │   Linux VM (Alpine)        │\n│                │       │                            │\n│  Sandbox Mgr ──┼───────┤→ /workspace  (VirtioFS)    │\n│  Host API   ←──┼─vsock─┤→ osaurus-host bridge       │\n│                │       │                            │\n│                │       │  agent-alice  (Linux user) │\n│                │       │  agent-bob    (Linux user) │\n└────────────────┘       └────────────────────────────┘\n```\n\n\u003e Requires macOS 26+ (Tahoe). See the [Sandbox Guide](docs/SANDBOX.md) for configuration, built-in tools, and plugin authoring.\n\n### Memory\n\nThree layers -- identity, pinned facts, and per-session episodes -- plus a transcript fallback. Agents distill conversations once at session end (not on every turn), score what matters by salience, and surface at most one compact slice per request based on what you're actually asking. A background consolidator decays, merges, and evicts so memory stays sharp instead of bloating. Most turns inject ~800 tokens or less; many inject zero. See the [Memory Guide](docs/MEMORY.md).\n\n### Privacy Filter\n\nWhen you send to a cloud model, an on-device classifier — OpenAI's `openai/privacy-filter` (Apache-2.0, 1.5B params / 50M active sparse-MoE), served via the MLX conversion `mlx-community/openai-privacy-filter-bf16` (~2.8 GB) — detects names, emails, phones, URLs, addresses, dates, account numbers, and free-form secrets, alongside deterministic regex for SSN, credit cards, IBAN, AWS keys, GitHub tokens, and your own custom patterns. Each detection is shown in a review sheet with a scrubbed preview before sending; approved entities are swapped for stable `[PERSON_1]` / `[EMAIL_2]` placeholders, and streaming replies are unscrubbed back on the fly so the chat reads naturally. **Fail-closed**: if the post-scrub scan finds anything that leaked, the send is blocked. Verify wire-level redaction in the **Insights** panel — it captures the exact bytes the cloud saw. See the [Privacy Filter Guide](docs/PRIVACY_FILTER.md).\n\n### Identity\n\nEvery participant -- human, agent, device -- gets a secp256k1 cryptographic address. Authority flows from your master key (iCloud Keychain) down to each agent in a verifiable chain of trust. Create portable access keys (`osk-v1`), scope per-agent, revoke anytime. See [Identity docs](docs/IDENTITY.md).\n\n### Relay\n\nExpose agents to the internet via secure WebSocket tunnels through `agent.osaurus.ai`. Unique URL per agent based on its crypto address. No port forwarding, no ngrok, no configuration.\n\n## Models\n\nThe harness is model-agnostic. Swap freely -- your agents, memory, and tools stay intact.\n\n### Local\n\nRun Gemma 4, Qwen3.6, GPT-OSS, Llama, and more on Apple Silicon with optimized MLX inference. Osaurus maintains its own [optimized model library on Hugging Face](https://huggingface.co/OsaurusAI) with curated quantizations for the best quality-to-size ratio on Apple Silicon. Models stored at `~/MLXModels` (override with `OSU_MODELS_DIR`). Fully private, fully offline.\n\n### Liquid Foundation Models\n\nOsaurus supports [Liquid AI's LFM](https://www.liquid.ai/models) family -- on-device models built on a non-transformer architecture optimized for edge deployment. Fast decode, low memory footprint, and strong tool calling out of the box.\n\n### Apple Foundation Models\n\nOn macOS 26+, use Apple's on-device model as a first-class provider. Pass `model: \"foundation\"` in API requests. Tool calling maps through Apple's native interface automatically. Zero inference cost, fully private.\n\n### Cloud\n\nConnect to OpenAI, Anthropic, Gemini, xAI/Grok, [Venice AI](https://venice.ai), OpenRouter, Ollama, or LM Studio. Venice provides uncensored, privacy-focused inference with no data retention. Context and memory persist across all providers.\n\n## MCP\n\nOsaurus is a full MCP (Model Context Protocol) server. Give any MCP-compatible client access to your tools with the command-based stdio bridge:\n\n```json\n{\n  \"mcpServers\": {\n    \"osaurus\": {\n      \"command\": \"osaurus\",\n      \"args\": [\"mcp\"]\n    }\n  }\n}\n```\n\n`osaurus mcp` starts a stdio MCP server for the client and proxies tool discovery/calls to your local Osaurus HTTP server. In the other direction, Osaurus can also act as an MCP client and aggregate tools from URL-based remote MCP providers. One-tap connect to ~25 well-known providers (Linear, Notion, GitHub, Vercel, Supabase, Sentry, Stripe, Cloudflare, ...) with auto OAuth 2.1 + Dynamic Client Registration, or paste an API key. The Remote MCP Providers UI is for HTTP/SSE MCP endpoints; it does not launch third-party `command`/`args` stdio providers. See the [Remote MCP Providers Guide](docs/REMOTE_MCP_PROVIDERS.md) for details.\n\n## Tools \u0026 Plugins\n\n```bash\nosaurus tools install osaurus.browser    # Install from registry\nosaurus tools list                       # List installed\nosaurus tools create MyPlugin --swift    # Create a plugin\nosaurus tools dev com.acme.my-plugin     # Dev with hot reload\n```\n\n20+ native plugins: Mail, Calendar, Vision, macOS Use, XLSX, PPTX, Browser, Music, Git, Filesystem, Search, Fetch, and more. Plugins target the v3 host API surface — register HTTP routes, serve web apps, persist data in SQLite, dispatch agent tasks, and call inference through any model. Older v1/v2 plugins continue to load unchanged. See the [Plugin Authoring Guide](docs/plugins/README.md).\n\nDocument attachments keep structure where the file format exposes it: CSV/TSV tables, XLSX workbooks, PPTX decks, PDF page anchors, and rich document sections are parsed through the document adapter registry before they reach the agent.\n\n## More\n\n**Skills \u0026 Methods** -- Skills import reusable AI capabilities from GitHub repos or files, compatible with [Agent Skills](https://agentskills.io/). Full Claude plugins (skills, scheduled agents, slash commands, MCP providers, and `CLAUDE.md` context) can be imported from any GitHub repo and managed as a single bundle. Methods are learned workflows that agents save and reuse over time. All are automatically selected via RAG search -- no manual configuration needed. See [Skills Guide](docs/SKILLS.md) and [Claude Plugins](docs/CLAUDE_PLUGINS.md).\n\n**Automation** -- Schedules run recurring tasks in the background. Watchers monitor folders and trigger agents on file changes.\n\n**Voice** -- On-device transcription via FluidAudio on Apple's Neural Engine. Voice input in chat, VAD mode with wake-word activation, and a global hotkey to transcribe into any app. No audio leaves your Mac. See [Voice Input Guide](docs/VOICE_INPUT.md).\n\n**Shortcuts, Spotlight \u0026 Siri** -- Osaurus ships App Intents, so \"Ask Osaurus\" and \"Run Osaurus Agent\" are available system-wide the moment you install -- no setup. Ask your active agent and get the reply inline, or kick off a custom agent in the background. See [App Intents Guide](docs/APP_INTENTS.md).\n\n**Developer Tools** -- Server explorer, MCP tool inspector, inference monitoring, plugin debugging. See [Developer Tools Guide](docs/DEVELOPER_TOOLS.md). For the inference scheduler, model leases, continuous-batching engine, and feature flags that tune them, see [Inference Runtime](docs/INFERENCE_RUNTIME.md).\n\n## Telemetry\n\nOsaurus collects **anonymous, aggregated usage analytics** via [Aptabase](https://aptabase.com), an [open-source](https://github.com/aptabase/aptabase), privacy-first analytics project. We collect this only to understand broad user trends and preferences (how the app is used and where people run into friction) so we can make it better. It **never** includes your chats, prompts, files, model outputs, or keys. There are no accounts or device profiles, so events aren't tied to you.\n\nFor the exact, exhaustive list of every event and property we capture — and an explicit list of what we never collect — see [Telemetry \u0026 KPIs](docs/TELEMETRY.md).\n\n### Crash reporting\n\n**Crash and app-hang reporting** via [Sentry](https://sentry.io) is a **separate, independent** switch from usage analytics. Unlike analytics it's **opt-out** — on by default and active from launch — because crash reports carry no personal information and are what let us fix real bugs; you can turn it off anytime in **Settings → Privacy → Send Crash Reports**. It's limited to crash and hang diagnostics — no performance tracing, profiling, failed-request capture, network breadcrumbs, screenshots, or personal information; we drop the user object and device hostname from every event, on top of disabling PII. It needs a DSN to be configured, so like analytics it's off by default in source builds.\n\n### Local development\n\nTelemetry is **off by default in source builds**: with no key, the SDK is never initialized and every event is a silent no-op, so you can build and contribute without any of this. To enable it locally:\n\n1. Create `App/osaurus/Secrets.xcconfig` (gitignored — never commit it) with the keys you want:\n   - `APTABASE_APP_KEY = A-XX-...` — your Aptabase app key (analytics).\n   - `SENTRY_DSN` — your Sentry project DSN (crash reporting). Optional; omit it to leave crash reporting off. **Escape the scheme slashes**: an `.xcconfig` treats `//` as a comment, so a raw `https://…` DSN gets silently truncated to `https:`. Add a slash variable and reference it:\n\n     ```\n     SENTRY_SLASH = /\n     SENTRY_DSN = https:$(SENTRY_SLASH)$(SENTRY_SLASH)yourPublicKey@o123.ingest.sentry.io/456\n     ```\n\n2. In Xcode, add `Secrets.xcconfig` to the project (**no** target membership), then under **Project → Info → Configurations → Debug → osaurus** set \"Based on Configuration File\" to **Secrets**.\n3. Clean build (⇧⌘K) and relaunch.\n\nThe keys flow `Secrets.xcconfig` → `$(APTABASE_APP_KEY)` / `$(SENTRY_DSN)` build settings → `AptabaseAppKey` / `SentryDSN` in `Info.plist`. Debug builds report to Aptabase's **Debug** bucket (enable the Debug view on the dashboard to see them) and to Sentry's `debug` environment, so local testing never pollutes production data.\n\n## Compatible APIs\n\nDrop-in endpoints for existing tools:\n\n| API       | Endpoint                                      |\n| --------- | --------------------------------------------- |\n| OpenAI    | `http://127.0.0.1:1337/v1/chat/completions`   |\n| Anthropic | `http://127.0.0.1:1337/anthropic/v1/messages` |\n| Ollama    | `http://127.0.0.1:1337/api/chat`              |\n\nAll prefixes supported (`/v1`, `/api`, `/v1/api`). Full function calling with streaming tool call deltas. `/chat/completions` keeps **strict OpenAI semantics** -- it returns `tool_calls` and the client executes them, so Osaurus drops in cleanly behind harnesses that already manage their own tool loop. For server-side autonomous loops use `POST /agents/{id}/run`; to expose Osaurus tools to remote MCP harnesses use `/mcp/tools` + `/mcp/call`. See [OpenAI API Guide](docs/OpenAI_API_GUIDE.md) for tool calling, streaming, and SDK examples. Building a macOS app that connects to Osaurus? See the [Shared Configuration Guide](docs/SHARED_CONFIGURATION_GUIDE.md).\n\n## CLI\n\n```bash\nosaurus serve --port 1337              # Start on localhost\nosaurus serve --port 1337 --expose     # Expose on LAN\nosaurus ui                             # Open the chat UI\nosaurus status                         # Check status\nosaurus stop                           # Stop the server\n```\n\nHomebrew auto-links the CLI, or symlink manually:\n\n```bash\nln -sf \"/Applications/Osaurus.app/Contents/MacOS/osaurus\" \"$(brew --prefix)/bin/osaurus\"\n```\n\n## Architecture\n\n```\n┌─────────────────────────────────────────────────────┐\n│                   The Harness                       │\n├──────────┬──────────┬────────────┬──────────────────┤\n│ Agents   │ Memory   │ Agent Loop │ Automation       │\n├──────────┴──────────┴────────────┴──────────────────┤\n│              MCP Server + Client                    │\n├──────────┬──────────┬───────────┬───────────────────┤\n│ MLX      │ OpenAI   │ Anthropic │ Ollama / Others   │\n│ Runtime  │ API      │ API       │                   │\n├──────────┴──────────┴───────────┴───────────────────┤\n│      Plugin System (v1 / v2 ABI) · Native Plugins   │\n├──────────┬──────────┬───────────┬───────────────────┤\n│ Identity │ Relay    │ Tools     │ Skills · Methods  │\n├──────────┴──────────┴───────────┴───────────────────┤\n│  Sandbox VM (Alpine · Apple Containerization)       │\n│  vsock bridge · VirtioFS · per-agent isolation      │\n└─────────────────────────────────────────────────────┘\n```\n\nMost features are accessible through the Management window (`⌘ ⇧ M`).\n\n## Build from Source\n\n```bash\ngit clone https://github.com/osaurus-ai/osaurus.git\ncd osaurus\nopen osaurus.xcworkspace\n```\n\nBuild and run the `osaurus` target. Requires Xcode 16+ and macOS 15.5+.\n\n### Git Hooks (lefthook)\n\nInstall [lefthook](https://github.com/evilmartians/lefthook) to set up the hooks that verify quality of the code:\n\n```bash\nbrew install lefthook\nlefthook install\n```\n\nThis installs a `pre-push` hook that runs `swift-format` over the `Packages/` directory before each push.\n\n## Project Structure\n\n```\nosaurus/\n├── App/                          # macOS app target (SwiftUI entry point, assets, entitlements)\n├── Packages/\n│   ├── OsaurusCore/              # Core library — all app logic\n│   │   ├── Models/               # Data types, DTOs, configuration stores\n│   │   ├── Services/             # Business logic (actors and stateless types)\n│   │   ├── Managers/             # UI-facing state holders (@MainActor, observable)\n│   │   ├── Views/                # SwiftUI views, organized by feature\n│   │   ├── Networking/           # HTTP server, routing, relay\n│   │   ├── Storage/              # SQLite databases\n│   │   ├── Identity/             # Cryptographic identity and access keys\n│   │   ├── Tools/                # MCP tools, plugin ABI, tool registry\n│   │   ├── Folder/               # Working-folder context, file ops, batch tool\n│   │   ├── Utils/                # Cross-cutting utilities\n│   │   └── Tests/                # Unit and integration tests\n│   ├── OsaurusCLI/               # CLI (osaurus command)\n│   └── OsaurusRepository/        # Plugin registry and installation\n├── docs/                         # Feature guides and documentation\n├── scripts/                      # Build, release, and benchmark scripts\n├── sandbox/                      # Sandbox VM Dockerfile\n└── assets/                       # DMG packaging assets\n```\n\nSee [CONTRIBUTING.md](docs/CONTRIBUTING.md) for the architecture guide and layer definitions.\n\n## Contributing\n\nOsaurus is actively developed and we welcome contributions: bug fixes, new plugins, documentation, UI/UX improvements, and testing.\n\nCheck out [Good First Issues](https://github.com/osaurus-ai/osaurus/issues?q=is%3Aissue+is%3Aopen+label%3A%22good+first+issue%22), read the [Contributing Guide](CONTRIBUTING.md), or join [Discord](https://discord.gg/osaurus). See [docs/FEATURES.md](docs/FEATURES.md) for the full feature inventory.\n\n\u003e [!NOTE]\n\u003e **🌐 Help translate Osaurus.** We're looking for contributors to localize the app into **Spanish**, **Korean**, **Japanese**, and **Traditional Chinese** -- these locales are already wired up in Xcode, so you can start translating right away. See [docs/TRANSLATORS.md](docs/TRANSLATORS.md) for how to contribute and the contributor leaderboard.\n\n## Community\n\n- [Discord](https://discord.gg/osaurus) -- chat, feedback, show-and-tell\n- [Twitter](https://x.com/OsaurusAI) -- updates and demos\n- [Hugging Face](https://huggingface.co/OsaurusAI) -- optimized models for Apple Silicon\n- [Community Calls](https://lu.ma/osaurus) -- bi-weekly, open to everyone\n- [Blog](https://osaurus.ai/blog) -- long-form thinking on personal AI\n- [Docs](https://docs.osaurus.ai) -- guides and tutorials\n- [Plugin Registry](https://github.com/osaurus-ai/osaurus-tools) -- browse and contribute tools\n\n## License\n\n[MIT](LICENSE)\n\n---\n\n\u003cp align=\"center\"\u003e\n  Osaurus, Inc. · \u003ca href=\"https://osaurus.ai\"\u003eosaurus.ai\u003c/a\u003e\n\u003c/p\u003e\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fosaurus-ai%2Fosaurus","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fosaurus-ai%2Fosaurus","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fosaurus-ai%2Fosaurus/lists"}