[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"project-81356":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":17,"stars7d":18,"stars30d":19,"stars90d":16,"forks30d":16,"starsTrendScore":20,"compositeScore":21,"rankGlobal":10,"rankLanguage":10,"license":22,"archived":23,"fork":23,"defaultBranch":24,"hasWiki":25,"hasPages":23,"topics":26,"createdAt":10,"pushedAt":10,"updatedAt":27,"readmeContent":28,"aiSummary":29,"trendingCount":16,"starSnapshotCount":16,"syncStatus":13,"lastSyncTime":30,"discoverSource":31},81356,"goodboy","akhayam99\u002Fgoodboy","akhayam99","Stop re-explaining yourself","https:\u002F\u002Fgoodboy-ai.dev\u002F",null,"TypeScript",53,2,40,12,0,5,9,13,15,57.23,"MIT License",false,"main",true,[],"2026-06-12 04:01:33","# Goodboy\n\n**AI workspace orchestrator. Local-first. Provider-agnostic.**\n\nYou have a repo. You have a goal. You also have four CLIs open in four\nwindows, each holding a slightly different version of the same task. This\nis the part that's missing in the middle.\n\nA desktop app that owns the context once and hands it to whichever agent\nyou want to run next. Same goal, same memory, different model. Conversation,\nplans, decisions, PR state, all of it stays in a local SQLite on your\nmachine. Your keys, your data, your bandwidth.\n\n\u003Cimg width=\"4036\" height=\"2270\" alt=\"Goodboy screenshot\" src=\"https:\u002F\u002Fgithub.com\u002Fuser-attachments\u002Fassets\u002Ff669511b-c09d-472b-9f30-3dcc88b7ceae\" \u002F>\n\n## The honest pitch\n\nSwitching between `Claude`, `Codex`, `Cursor` and `Gemini` ten times a day\nwas eating my afternoons. Every new tab meant rebuilding the same mental\nscratchpad from scratch. Eventually I got fed up and built this.\n\n**Open source. Every feature included. No paywall, no telemetry, no account.**\n\n## What's actually inside\n\n- **A context the agents share.** Goal, decisions, last summary, open\n  questions. A summarizer keeps it fresh after every turn, you can edit any\n  field by hand when the agents get it wrong.\n- **Provider swap mid-task, without amnesia.** Each turn is rebuilt from\n  the shared context, never resumed from a vendor session. Drop Claude\n  halfway, hand the same task to Cursor or Codex, watch it pick up clean.\n- **Plans as artifacts, not transcript scrollback.** They show up in a Plans\n  tab with a status, ready to hand off to the agent that implements them.\n- **GitHub and Linear in the side panel.** Pull request state, CI, review\n  threads still owed answers, the issues assigned to you back at the office.\n  One click from where you're typing.\n- **Workflows for the multi-step stuff.** Scout, plan, implement, verify.\n  Each step a typed agent, all of them sharing one context.\n- **One-click scripts** for the four commands you keep retyping in the\n  terminal. No agent, no tokens, just a button.\n\n## Providers\n\nBring your own subscription. The app drives the official CLIs locally, on\n**your existing plan**, never on a metered API key.\n\n| Provider               | CLI                                  | Subscription     |\n| ---------------------- | ------------------------------------ | ---------------- |\n| **Anthropic (Claude)** | `npm i -g @anthropic-ai\u002Fclaude-code` | Claude Max \u002F Pro |\n| **Cursor**             | Cursor desktop app                   | Cursor Pro       |\n| **OpenAI (Codex)**     | `npm i -g @openai\u002Fcodex`             | ChatGPT Pro      |\n| **Google (Gemini)**    | `npm i -g @google\u002Fgemini-cli`        | Google AI Pro    |\n\nOne connected CLI is enough to start. Full guide:\n[docs\u002Fproviders.md](.\u002Fdocs\u002Fproviders.md).\n\n## Install\n\nmacOS (Intel and Apple Silicon, one universal build). Signed and notarized by\nApple, so it opens with no security prompts.\n\n**Homebrew (recommended).**\n\n```bash\nbrew install --cask akhayam99\u002Ftap\u002Fgoodboy\n```\n\n**Direct download.** Grab the `.dmg` from the\n[latest release](https:\u002F\u002Fgithub.com\u002Fakhayam99\u002Fgoodboy\u002Freleases\u002Flatest) and drag\nGoodboy to Applications.\n\n**Updates are automatic.** When a new release ships, a \"Restart to update\"\ncontrol appears in the status bar and next to the sidebar logo. One click\ndownloads it and relaunches; Homebrew users can also `brew upgrade --cask goodboy`.\n\n## Run it\n\n```bash\npnpm install\n\npnpm tauri:dev      # hot reload, fastest to iterate\npnpm tauri:build    # produces an installable binary in apps\u002Fdesktop\u002Fsrc-tauri\u002Ftarget\u002Frelease\u002Fbundle\u002F\n```\n\nNeeds **Node ≥ 20**, **pnpm ≥ 10**, and a working **Rust** toolchain (Tauri\nshells out to `cargo`). Platform prereqs:\n\u003Chttps:\u002F\u002Fv2.tauri.app\u002Fstart\u002Fprerequisites\u002F>.\n\nHacking on the app itself? The dev-loop notes live in\n[apps\u002Fdesktop\u002FREADME.md](.\u002Fapps\u002Fdesktop\u002FREADME.md).\n\n## Help out\n\nTry it. If something breaks, feels weird, or is missing, open an issue.\nHalf-formed thoughts welcome. Screenshots welcome. \"This feels off\" is a\nperfectly valid bug report.\n\n## Stack\n\n**Tauri 2 · React 19 · TypeScript · Tailwind v4 · Zustand · SQLite**, in a\npnpm + Turborepo monorepo: `apps\u002Fdesktop` plus `packages\u002F{ui,core,db,types}`.\n\n## More\n\n- [VISION.md](.\u002FVISION.md): the why\n- [DESIGN.md](.\u002FDESIGN.md): how it looks and behaves\n- [ROADMAP.md](.\u002FROADMAP.md): milestones and what shipped\n- [CONVENTIONS.md](.\u002FCONVENTIONS.md) · [CLAUDE.md](.\u002FCLAUDE.md): contributor rules\n\n## License\n\n[MIT](.\u002FLICENSE) © Amin Khayam\n","Goodboy 是一个本地AI工作空间编排器，旨在简化多模型间的切换与协作。它采用TypeScript编写，通过将上下文信息存储在本地SQLite数据库中来确保数据的私密性和一致性，支持包括Anthropic Claude、Cursor、OpenAI Codex及Google Gemini在内的多种AI服务提供商之间的无缝切换，无需担心因更换服务商而丢失对话历史或上下文信息。此外，Goodboy还集成了GitHub和Linear等开发工具的状态显示功能，方便开发者快速查看项目进度。该工具非常适合需要频繁使用不同AI助手完成复杂任务，并希望保持高效工作流程的技术人员或团队使用。","2026-06-11 04:04:45","CREATED_QUERY"]