[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"project-92373":3},{"id":4,"name":5,"fullName":6,"owner":7,"repo":5,"description":8,"homepage":9,"htmlUrl":10,"language":11,"languages":10,"totalLinesOfCode":10,"stars":12,"forks":13,"watchers":14,"openIssues":15,"contributorsCount":16,"subscribersCount":16,"size":16,"stars1d":16,"stars7d":16,"stars30d":15,"stars90d":16,"forks30d":16,"starsTrendScore":16,"compositeScore":17,"rankGlobal":10,"rankLanguage":10,"license":18,"archived":19,"fork":19,"defaultBranch":20,"hasWiki":21,"hasPages":19,"topics":22,"createdAt":10,"pushedAt":10,"updatedAt":26,"readmeContent":27,"aiSummary":28,"trendingCount":16,"starSnapshotCount":16,"syncStatus":29,"lastSyncTime":30,"discoverSource":31},92373,"BonsAI","ojowwalker77\u002FBonsAI","ojowwalker77","A bucket for your thoughts (local boards,BYO subs for llm features)","https:\u002F\u002Fbonsaidev.sh",null,"Swift",137,12,133,4,0,43.74,"Other",false,"main",true,[23,24,25],"byok","canvas","local","2026-07-22 04:02:06","# BonsAI\n\n**A bucket for thoughts and ideas — and the shortest path from a thought to a well-formed prompt.**\n\n\u003Cimg width=\"3420\" height=\"2224\" alt=\"image\" src=\"https:\u002F\u002Fgithub.com\u002Fuser-attachments\u002Fassets\u002F19493af9-6f0b-4541-bbde-a432f65e5037\" \u002F>\n\n\nBonsAI is a small, native macOS app. It gives you one resizable canvas where you\ncapture half-formed ideas as cards, sketch relationships, write with Markdown,\npull in just-enough context with **connectors** (your files, open tabs, library\ndocs, tickets, designs, errors...), and let an in-canvas agent read or reshape\nthe board live. An invisible **on-device semantic linter** quietly flags the\nspots that are too vague for an AI agent to act on. When a board is ready, you\ncan copy a self-contained prompt out or keep working directly with the agent on\nthe canvas.\n\nThe pillar behind every design decision: **remove friction between having a\nthought and getting it into a coding agent.** If a feature makes that path\nlonger, it probably doesn't belong here.\n\n---\n\n## What you do in BonsAI\n\n- **Write and structure ideas.** Text cards support Markdown headings, emphasis,\n  code, quotes, lists, and checkboxes while preserving plain text for agents.\n- **Sketch the shape of the problem.** Draw rectangles, ellipses, diamonds,\n  arrows, and freehand marks; hold Shift to keep shapes proportional.\n- **Ground the board with connector chips.** Use `@finder`, `@browser`,\n  `@github`, `@context7`, `@linear`, `@notion`, `@sentry`, `@figma`, and `@xcode`\n  to attach the context an agent would otherwise have to ask you for.\n\n\u003Cimg width=\"858\" height=\"574\" alt=\"image\" src=\"https:\u002F\u002Fgithub.com\u002Fuser-attachments\u002Fassets\u002F947388a8-8c77-4310-b77a-b8a426c5a73d\" \u002F>\n\u003Cimg width=\"972\" height=\"850\" alt=\"image\" src=\"https:\u002F\u002Fgithub.com\u002Fuser-attachments\u002Fassets\u002F133dfa15-18c7-445a-8282-604120c6957f\" \u002F>\n\n\n  \n- **Work with an agent on the board.** The chat agent can run through Claude,\n  Codex, or OpenCode, reads the same canvas graph you see, and writes changes\n  back through BonsAI's loopback-only canvas API.\n\n\u003Cimg width=\"2890\" height=\"1828\" alt=\"image\" src=\"https:\u002F\u002Fgithub.com\u002Fuser-attachments\u002Fassets\u002F293000c5-1802-4e5d-a6ec-8548aa993266\" \u002F>\n\n  \n\n## Stars\n\n[![Star History Chart](https:\u002F\u002Fapi.star-history.com\u002Fsvg?repos=ojowwalker77\u002FBonsAI&type=Date)](https:\u002F\u002Fwww.star-history.com\u002F#ojowwalker77\u002FBonsAI&Date)\n\n## Requirements\n\n- **macOS 14 (Sonoma)** or later. The board and every core feature run here.\n- **macOS 26 (Tahoe)** with **Apple Intelligence** enabled unlocks the on-device\n  extras — the semantic linter and screenshot cleanup — plus the Liquid Glass\n  look. Below Tahoe (or without Apple Intelligence) those quietly turn themselves\n  off and everything else works unchanged.\n\nThere's nothing to install or configure: download `BonsAI.dmg` from\n[Releases](..\u002F..\u002Freleases) and drag **BonsAI** onto **Applications**. Building from source\nor contributing? See [CONTRIBUTING.md](CONTRIBUTING.md).\n\n## Installing a release\n\nEach `v*` tag publishes a **Developer ID-signed and notarized** `BonsAI.dmg` to\n**Releases**. Download it, open it, and drag **BonsAI** onto the **Applications** folder —\nit launches with a double-click; no right-click or quarantine workaround. (A zipped\n`BonsAI.app` is also attached for Sparkle's auto-update; the `.dmg` is the recommended\nfirst install.)\n\nBonsAI keeps itself current: it checks GitHub for new releases on launch and once a day,\nthen downloads, installs, and relaunches in place. You can also check any time from\n**BonsAI ▸ Check for Updates…** (or **Settings ▸ About**), and turn off automatic checks\nthere.\n\nMaintaining the release feed (Apple signing + the Sparkle key) is documented in\n[docs\u002Freleasing.md](docs\u002Freleasing.md).\n\n## Connectors\n\nA connector earns its place when it **adds a real capability and removes steps** —\nwhen it's faster than hand-navigating and fetching the context yourself — and it\n**doesn't duplicate a broader connector**. (For the full litmus test and how to\nbuild one, see [CONTRIBUTING.md](CONTRIBUTING.md#connectors).)\n\n| Connector   | Injects                                              | Needs a token? |\n| ----------- | ---------------------------------------------------- | -------------- |\n| `@finder`   | A local file\u002Ffolder, its path and contents           | No             |\n| `@browser`  | An open browser tab's URL, title, and metadata       | No             |\n| `@context7` | Current, version-accurate library documentation      | No             |\n| `@github`   | An issue\u002FPR's state, body, and comments (via `gh`)   | No             |\n| `@linear`   | A Linear issue's description and acceptance criteria | Yes            |\n| `@notion`   | A Notion page's content                              | Yes            |\n| `@sentry`   | A Sentry issue's error and recent stack trace        | Yes            |\n| `@figma`    | A Figma frame's dimensions, text, and screenshot     | Yes            |\n| `@xcode`    | The latest Xcode build errors \u002F test failures        | No             |\n\nTokens are entered in **Settings** and stored via the system keychain.\n\n## Semantic linter\n\nWhat a linter is for a programming language, this is for the *meaning* of your\nprose. It runs fully on-device (Apple's Foundation Models), so it's free and\nprivate enough to run on every typing pause, and it's tuned hard for precision.\nFull write-up: [docs\u002Fsemanticlinter.md](docs\u002Fsemanticlinter.md).\n\n## Agent & engines\n\nBonsAI ships no model of its own. **Refine**, **Compile**, and the in-canvas\n**chat agent** run through coding-agent CLIs you already use: Claude Code, Codex,\nand OpenCode. Refine and Compile use one-shot CLI calls; the chat agent uses each\nengine's streaming mode with the loopback canvas MCP server attached, so it can\nread and reshape the board live as you talk.\n\nSettings ▸ Runtime controls which engines are enabled and available. Settings ▸\nModels, plus the picker on the Agent panel, choose the chat provider and model\nwhere the underlying CLI supports it. Apple Intelligence is separate, fully\non-device, and powers the semantic linter only.\n\n- [docs\u002Fagent-engines.md](docs\u002Fagent-engines.md) — the engines, how each is\n  invoked, how one gets picked, and how to add another.\n- [docs\u002Fcanvas-agent.md](docs\u002Fcanvas-agent.md) — the board as an agent-readable\n  graph: nodes\u002Fedges, the loopback server + MCP tools, and how the agent reads\n  and writes board state.\n\n## Architecture notes\n\nBonsAI is a normal Dock app built on AppKit + SwiftUI. In 1.3, the workspace is\none standard, resizable macOS window with floating canvas chrome: board switcher,\ntools, zoom, grounding, bottom command bar, and in-canvas Agent and Settings\noverlays. That composition is load-bearing and easy to \"clean up\" by accident,\nso it's documented and guarded in [CLAUDE.md](CLAUDE.md) and [AGENTS.md](AGENTS.md).\nRead those before touching window or canvas-chrome geometry.\n\n## Contributing\n\nContributions are welcome — especially around UX friction, new connectors, and\nthe semantic-linter layer. Please read [CONTRIBUTING.md](CONTRIBUTING.md) first;\nit explains the philosophy a change has to fit, and what will get a PR rejected.\nEvery PR records a note in [CHANGELOG.md](CHANGELOG.md).\n","BonsAI 是一款面向 macOS 的本地化思维协作工具，专为降低「想法→可执行提示词」的转换成本而设计。它提供单画布环境，支持 Markdown 文本卡片、自由绘图建模，并通过预置连接器（如 @github、@notion、@xcode）实时注入上下文；内置轻量级本地语义校验器（依赖 Apple Intelligence）可识别模糊表述，辅助生成高质量 AI 提示。所有数据与处理均在设备端完成，无需联网或云端服务。适用于开发者、产品设计师等需频繁将碎片化思路转化为代码\u002F任务提示的本地化工作流场景。",2,"2026-07-08 04:30:13","CREATED_QUERY"]