[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"project-623":3},{"id":4,"name":5,"fullName":6,"owner":7,"repo":5,"description":8,"homepage":8,"htmlUrl":8,"language":9,"languages":8,"totalLinesOfCode":8,"stars":10,"forks":11,"watchers":12,"openIssues":13,"contributorsCount":14,"subscribersCount":14,"size":14,"stars1d":15,"stars7d":16,"stars30d":17,"stars90d":14,"forks30d":14,"starsTrendScore":18,"compositeScore":19,"rankGlobal":8,"rankLanguage":8,"license":20,"archived":21,"fork":21,"defaultBranch":22,"hasWiki":23,"hasPages":21,"topics":24,"createdAt":8,"pushedAt":8,"updatedAt":25,"readmeContent":26,"aiSummary":27,"trendingCount":14,"starSnapshotCount":14,"syncStatus":28,"lastSyncTime":29,"discoverSource":30},623,"clicky","farzaa\u002Fclicky","farzaa",null,"Swift",6608,1267,28,35,0,11,128,917,61,40.31,"MIT License",false,"main",true,[],"2026-06-12 02:00:16","Update: April 27, 2026.\n\nHi there! I'm Farza, the guy that made Clicky.\n\nThe existing codebase remains open source. Tinker with it, make it yours, start a company out of it, do whatever you want I don't mind. But, for all the new stuff I'm hacking on, gonna keep it private. To get the latest Clicky, you can go [here](https:\u002F\u002Fwww.heyclicky.com\u002F).\n\nI also tweeted about this [here](https:\u002F\u002Fx.com\u002FFarzaTV\u002Fstatus\u002F2043402737828962489).\n\nGo crazy with this repo!! It's an MIT license.\n\n# Hi, this is Clicky.\nIt's an AI teacher that lives as a buddy next to your cursor. It can see your screen, talk to you, and even point at stuff. Kinda like having a real teacher next to you.\n\nDownload it [here](https:\u002F\u002Fwww.clicky.so\u002F) for free.\n\nHere's the [original tweet](https:\u002F\u002Fx.com\u002FFarzaTV\u002Fstatus\u002F2041314633978659092) that kinda blew up for a demo for more context.\n\n![Clicky — an ai buddy that lives on your mac](clicky-demo.gif)\n\nThis is the open-source version of Clicky for those that want to hack on it, build their own features, or just see how it works under the hood.\n\n## Get started with Claude Code\n\nThe fastest way to get this running is with [Claude Code](https:\u002F\u002Fdocs.anthropic.com\u002Fen\u002Fdocs\u002Fclaude-code).\n\nOnce you get Claude running, paste this:\n\n```\nHi Claude.\n\nClone https:\u002F\u002Fgithub.com\u002Ffarzaa\u002Fclicky.git into my current directory.\n\nThen read the CLAUDE.md. I want to get Clicky running locally on my Mac.\n\nHelp me set up everything — the Cloudflare Worker with my own API keys, the proxy URLs, and getting it building in Xcode. Walk me through it.\n```\n\nThat's it. It'll clone the repo, read the docs, and walk you through the whole setup. Once you're running you can just keep talking to it — build features, fix bugs, whatever. Go crazy.\n\n## Manual setup\n\nIf you want to do it yourself, here's the deal.\n\n### Prerequisites\n\n- macOS 14.2+ (for ScreenCaptureKit)\n- Xcode 15+\n- Node.js 18+ (for the Cloudflare Worker)\n- A [Cloudflare](https:\u002F\u002Fcloudflare.com) account (free tier works)\n- API keys for: [Anthropic](https:\u002F\u002Fconsole.anthropic.com), [AssemblyAI](https:\u002F\u002Fwww.assemblyai.com), [ElevenLabs](https:\u002F\u002Felevenlabs.io)\n\n### 1. Set up the Cloudflare Worker\n\nThe Worker is a tiny proxy that holds your API keys. The app talks to the Worker, the Worker talks to the APIs. This way your keys never ship in the app binary.\n\n```bash\ncd worker\nnpm install\n```\n\nNow add your secrets. Wrangler will prompt you to paste each one:\n\n```bash\nnpx wrangler secret put ANTHROPIC_API_KEY\nnpx wrangler secret put ASSEMBLYAI_API_KEY\nnpx wrangler secret put ELEVENLABS_API_KEY\n```\n\nFor the ElevenLabs voice ID, open `wrangler.toml` and set it there (it's not sensitive):\n\n```toml\n[vars]\nELEVENLABS_VOICE_ID = \"your-voice-id-here\"\n```\n\nDeploy it:\n\n```bash\nnpx wrangler deploy\n```\n\nIt'll give you a URL like `https:\u002F\u002Fyour-worker-name.your-subdomain.workers.dev`. Copy that.\n\n### 2. Run the Worker locally (for development)\n\nIf you want to test changes to the Worker without deploying:\n\n```bash\ncd worker\nnpx wrangler dev\n```\n\nThis starts a local server (usually `http:\u002F\u002Flocalhost:8787`) that behaves exactly like the deployed Worker. You'll need to create a `.dev.vars` file in the `worker\u002F` directory with your keys:\n\n```\nANTHROPIC_API_KEY=sk-ant-...\nASSEMBLYAI_API_KEY=...\nELEVENLABS_API_KEY=...\nELEVENLABS_VOICE_ID=...\n```\n\nThen update the proxy URLs in the Swift code to point to `http:\u002F\u002Flocalhost:8787` instead of the deployed Worker URL while developing. Grep for `clicky-proxy` to find them all.\n\n### 3. Update the proxy URLs in the app\n\nThe app has the Worker URL hardcoded in a few places. Search for `your-worker-name.your-subdomain.workers.dev` and replace it with your Worker URL:\n\n```bash\ngrep -r \"clicky-proxy\" leanring-buddy\u002F\n```\n\nYou'll find it in:\n- `CompanionManager.swift` — Claude chat + ElevenLabs TTS\n- `AssemblyAIStreamingTranscriptionProvider.swift` — AssemblyAI token endpoint\n\n### 4. Open in Xcode and run\n\n```bash\nopen leanring-buddy.xcodeproj\n```\n\nIn Xcode:\n1. Select the `leanring-buddy` scheme (yes, the typo is intentional, long story)\n2. Set your signing team under Signing & Capabilities\n3. Hit **Cmd + R** to build and run\n\nThe app will appear in your menu bar (not the dock). Click the icon to open the panel, grant the permissions it asks for, and you're good.\n\n### Permissions the app needs\n\n- **Microphone** — for push-to-talk voice capture\n- **Accessibility** — for the global keyboard shortcut (Control + Option)\n- **Screen Recording** — for taking screenshots when you use the hotkey\n- **Screen Content** — for ScreenCaptureKit access\n\n## Architecture\n\nIf you want the full technical breakdown, read `CLAUDE.md`. But here's the short version:\n\n**Menu bar app** (no dock icon) with two `NSPanel` windows — one for the control panel dropdown, one for the full-screen transparent cursor overlay. Push-to-talk streams audio over a websocket to AssemblyAI, sends the transcript + screenshot to Claude via streaming SSE, and plays the response through ElevenLabs TTS. Claude can embed `[POINT:x,y:label:screenN]` tags in its responses to make the cursor fly to specific UI elements across multiple monitors. All three APIs are proxied through a Cloudflare Worker.\n\n## Project structure\n\n```\nleanring-buddy\u002F          # Swift source (yes, the typo stays)\n  CompanionManager.swift    # Central state machine\n  CompanionPanelView.swift  # Menu bar panel UI\n  ClaudeAPI.swift           # Claude streaming client\n  ElevenLabsTTSClient.swift # Text-to-speech playback\n  OverlayWindow.swift       # Blue cursor overlay\n  AssemblyAI*.swift         # Real-time transcription\n  BuddyDictation*.swift     # Push-to-talk pipeline\nworker\u002F                  # Cloudflare Worker proxy\n  src\u002Findex.ts              # Three routes: \u002Fchat, \u002Ftts, \u002Ftranscribe-token\nCLAUDE.md                # Full architecture doc (agents read this)\n```\n\n## Contributing\n\nPRs welcome. If you're using Claude Code, it already knows the codebase — just tell it what you want to build and point it at `CLAUDE.md`.\n\nGot feedback? DM me on X [@farzatv](https:\u002F\u002Fx.com\u002Ffarzatv).\n","Clicky 是一个基于 AI 的教学助手，以伙伴的形式出现在你的鼠标旁边，能够查看屏幕、与用户对话甚至指向特定内容。其核心功能包括屏幕识别、语音交互和指物说明，主要使用 Swift 语言开发，并集成了 Anthropic、AssemblyAI 和 ElevenLabs 等 API 来实现复杂的交互逻辑。该项目适合那些希望在学习或工作中获得即时指导的用户，同时也为开发者提供了一个探索 AI 技术如何应用于实际场景的良好平台。由于采用了 MIT 许可证，任何人都可以自由地修改和扩展 Clicky 的功能。",2,"2026-06-11 02:38:13","CREATED_QUERY"]