Starcat
A native macOS app that turns GitHub Stars into a searchable, organized, AI-powered personal knowledge base.
原始仓库简介 · 中文摘要待补充 · ai / bookmark-manager / desktop-app / developer-tools / github-client / github-star-manager
README / 项目原文

Starcat — Native GitHub Stars Manager & AI Knowledge Base for macOS
Organize, search, and ask questions across your GitHub Stars — locally on your Mac.
macOS 15 Sequoia or newer: Install with Homebrew, download the Direct build for Apple Silicon Macs, or get Starcat for GitHub from the Mac App Store.
Previous versions and release notes: Changelog · Website changelog
Public issue tracker: Report a bug or request a feature
User docs: starcat.mintlify.app · Mac App Store: dong4j.app/starcat · Privacy: Privacy Policy · EULA
中文说明: README-ZH.md
This repository is the macOS app source. Public support, issues, and release notes live in starcat-pro. Docs, CLI, plugins, and self-hostable APIs are listed under Related projects.
About Starcat
Starcat is a native macOS app for people whose GitHub Stars have outgrown a bookmark list. It syncs starred repositories into a local-first desktop workspace, renders README content, adds tags, notes and reading status, tracks releases, evaluates repository health, and turns the repos you still need into a searchable, askable knowledge base.
While building Starcat I started thinking about what a GitHub Star is. We treat them as read-later bookmarks. Over time they become a digital asset: a record of professional interest, technical judgment, and projects we may still need.
A public Star is still an endorsement. Repositories you plan to learn, use, or keep go into the Starcat knowledge base. Starring does not create a backlog you must tidy. Only ingested repos enter search, summaries, and RAG.
Why Starcat is open source
Starcat began as a paid product, but the market for deeply managing GitHub Stars proved smaller than expected. Opening the ecosystem makes it easier for the people who need it to inspect, extend, and self-host it. The related projects are now open source, except starcat-license-api, which stays private because it issues Direct licenses. Official Mac App Store and Direct (starcat.ink) builds remain available and will keep being maintained.
See Starcat in action
AI-powered repository understanding
https://github.com/user-attachments/assets/bf229a76-7a26-4f82-a3b2-1c4d3c960a7f
Ask your knowledge base
https://github.com/user-attachments/assets/4785fa1e-d629-4a18-b266-6fa2145f92dd
Search locally, on GitHub, and across the web
https://github.com/user-attachments/assets/0257850a-d65b-4d9a-9621-028064b7a873
Official builds and source
Official channels are the Mac App Store (Starcat for GitHub, landing page dong4j.app/starcat) and Direct (website DMG / Homebrew with Sparkle). Core organization features are free. Pro workflows, higher AI quotas, and code-intelligence features in official builds use App Store in-app purchase or a Direct license.
Building from this repository and running your own services does not require a Starcat license. Direct license issuance stays on the private starcat-license-api.
Homebrew is the preferred install:
brew tap starcat-app/starcat
brew trust starcat-app/starcat
brew install --cask starcat
You can also download the Direct .dmg from starcat.ink, move Starcat to /Applications, and sign in with GitHub.
What it does
The main window is a three-column workspace: sidebar, repository list, and the current repo. Two more windows sit beside it: the knowledge-base RAG workspace and the Agent workspace.
Manage Stars
Sign in with GitHub OAuth, sync starred repos incrementally, and keep the cache in local SQLite. Repository cache can be rebuilt. Tags, private notes, and reading status are user data and must not be lost.
- Three-column layout, with Liquid Glass on macOS 26
- Tags, languages, untagged, Smart Collections, pinning
- Reading status: Unread / Reading / Adopted / Deprecated
- Private notes, with optional AI drafts from the README
- FTS5 search across names, descriptions, topics, and notes
- Semantic search by intent, not only exact keywords
- README rendering with images, Mermaid, and a reading surface
- JSON import and export compatible with OhMyStar and Astral
Activity and GitHub notifications
Activity is the in-app inbox for GitHub mentions, review requests, assignments, discussions, releases, and security alerts. Filter by Unread, Mentions, Reviews, Issues, and PRs; group by Today, Yesterday, This week, and Earlier.
Open a notification to read the Issue or PR thread, write or preview a reply, generate an AI draft, and translate comments. Done matches GitHub Inbox Done and does not close the issue. Starcat can also post reminders in Notification Center.
Knowledge base
Stars and the knowledge base are separate layers. A GitHub Star is a public endorsement. The knowledge base is your private set of repos worth keeping. You can ingest from Stars in bulk, or add a repo from Explore, Weekly, or Trending without starring it on GitHub first.
RAG indexing, knowledge-base browsing, and the default CLI / MCP context all start from ingested repos. Stars you never ingest stay a collection.
Knowledge-base RAG workspace

Opens in its own window (⇧⌘K). Questions default to ingested repos. Answers stream with citations you can open back to the matching repository and evidence chunk.
The layout is a conversation rail, an answer surface, and a Citation Inspector. Retrieval mixes FTS5 keywords, embeddings, and RRF. The index is chunk-level, so a citation can point at a paragraph, not only a repo name.
You can attach insight XML, README / notes / summary chunks, and text, Markdown, JSON, or source-code files. GitHub structured lookups and web search are opt-in, and they show up on the execution timeline. The workspace is read-only by default. It will not write tags, notes, or library state on its own.
Evaluate and review

- Repo Health: activity, maintenance, risk signals
- OpenSSF Scorecard: public security radar
- My Insights: organization progress, tech mix, follow-ups
- Repository Insights: star growth, commits, collaboration, release cadence, health and security
- Generated insights can feed summaries, repo chat, and RAG as removable read-only context
Rediscover and explore
Smart Collections cover Needs Review, Unmaintained, High Value, No Tags, and custom rules over metadata, status, notes, and Health. My Projects lists personal, organization, and collaborator repos, including private ones via GitHub App.
Explore covers GitHub Trending, discovery boards, and sources such as ruanyf Weekly, plus Release subscriptions, a unified timeline, and platform-filtered assets. Desktop widgets surface frequent repos, a daily rediscovery, unread releases, and star trends.
Share a starred repository

From the repo detail you can copy the GitHub link for people who do not have Starcat. Starred public repos can also get a standalone public share page: summary, stars / forks, README highlights, topics, and switchable card styles. Recipients open a webpage. No account required.
Public share pages run on starcat-sharing-api, which you can self-host. Private repos do not get a page the server can crawl.
Analyze a starred repository

You can pull the current repo's source onto this Mac and inspect structure without cloning it into another IDE. Starcat embeds two open-source analyzers:
- codebase-memory-mcp: a symbol-level knowledge graph. Files, classes, functions, and dependencies unfold in a local 3D view, filterable by type.
- codeflow: an architecture checkup. File size, coupling, cycles, duplication, complexity, and a health score.
Source defaults to a GitHub ZIP. Generated artifacts can be deleted.
Notes, summaries, and repo chat

This is AI in the main-window detail pane, not a separate workspace. Notes, summaries, and tags stay on this Mac. After ingest they enter RAG.
- Notes: AI can draft a private note from the README. You edit it afterwards. This is where gotchas, setup steps, and mismatches with upstream docs belong. Notes never go back to GitHub.
- Summaries and tags: AI reads the README and writes a structured summary (what it does, which stack, where it fits), then suggests tags. Tags land only after you confirm. You can also batch-generate tags for every starred repo and confirm them one by one. Both summaries and tags are indexed for RAG.
- Repo chat: Ask the current project directly, for example how to build it or where a feature lives. Answers use that repo's README, notes, and summary. You can also translate the README while keeping structure, as a bilingual view or a full replacement.
Use the same data elsewhere
CLI, MCP, an Agent Skill, browser plugins, and launchers all read the local store. The browser plugins bring notes, tags, health, and AI actions onto GitHub pages. Alfred, uTools, and Raycast search local repos. Share cards and short links work for people who do not have Starcat installed.
AI runs through BYOK or a self-hosted proxy: Gemini, OpenAI, Anthropic Claude, DeepSeek, Ollama. Keys and quotas stay with you. The UI ships in 18 languages. Translations live in starcat-localization.
Where data lives
Tags, private notes, reading status, knowledge-base membership, and RAG chunks stay in local SQLite. GitHub tokens and AI API keys stay in Keychain. Repository cache (README, metadata) can be rebuilt. User data cannot.
Traffic that leaves the Mac:
- GitHub.com: Stars sync, README / Release fetch, OAuth
- The AI provider you configure: summaries, chat, RAG generation, and embeddings (Ollama stays on-device)
- Optional Starcat support APIs: Trending, Weekly, discovery, wiki probes, similar-repo recommendations, public share pages. All of these can be self-hosted
- Optional external search backends: Meilisearch and Qdrant. The default remains SQLite FTS5 and local vectors
CloudKit sync fields are reserved. The production adapter is not wired yet. Starcat does not host your AI keys, and it does not upload the knowledge base to a Starcat server by default.
Screenshots
Related projects
This repository is the macOS app. Starcat also has standalone repos for docs, distribution, CLI, plugins, and self-hostable APIs. The full map is in supports/README.md. Organization home: github.com/starcat-app.
Product, docs, and distribution
| Project | Role |
|---|---|
| starcat.ink | Direct website, downloads, release notes |
| dong4j.app/starcat | Mac App Store landing page |
| starcat-pro | Public support, issues, changelog, and promo images |
| starcat-docs | Official user docs, published at starcat.mintlify.app |
| starcat-site | Direct / App Store site and legal pages |
| starcat-localization | UI localization, currently 18 languages |
| homebrew-starcat | App Homebrew Cask: brew install --cask starcat |
Use Starcat from other tools
| Project | Role |
|---|---|
| starcat-cli | Cross-platform CLI and MCP runtime over the local knowledge base |
| homebrew-starcat-cli | CLI Homebrew Formula |
| starcat-skill | Skill for agents such as Codex and Claude Code |
| starcat-chrome-plugin | Chrome extension with Starcat context on GitHub pages |
| starcat-safari-plugin | Safari extension |
| starcat-alfred-workflow | Search local repos and GitHub from Alfred |
| starcat-utools-plugin | Search local repos and GitHub from uTools |
| starcat-raycast-extension | Search local repos and GitHub from Raycast |
Self-hostable APIs
The app talks to a small set of independent APIs. GitHub has no Trending endpoint. Weekly, discovery, wiki probes, similar-repo recommendations, and public share pages also need a server. These repos can be deployed on your own. Each one has its own README and deploy notes.
| Project | Role |
|---|---|
| starcat-sharing-api | Share short links and public share pages |
| starcat-trending-api | GitHub Trending crawl and API |
| starcat-weekly-api | Weekly, Show HN, HelloGitHub, and related feeds |
| starcat-wiki-api | DeepWiki / Zread / CodeWiki availability |
| starcat-recommend-api | Similar-repository recommendations |
| starcat-discovery-api | Explore, popular, and new-release boards |
| starcat-api-kit | Shared auth, envelope, and GitHub helpers |
| starcat-license-api | Direct licensing, private repository |
Knowledge-base keywords default to SQLite FTS5. Vectors default to local cosine. To try the optional external backends on this Mac, see docker/meilisearch and docker/qdrant. Bind them to 127.0.0.1 only.
Articles
- SSPAI: 我为 GitHub 重度使用者做了一款 macOS 原生应用
- Blog: the same essay
Build from source
The full walkthrough (macOS app, support APIs, CLI, local Meilisearch / Qdrant) is 本地编译教程 (Chinese). Contributor rules: CONTRIBUTING.md.
Short path: macOS 15+, Xcode 26+, brew install xcodegen, checkout dev, copy Configs/Secrets.xcconfig.template, run xcodegen generate, then Run the Starcat scheme. After adding or deleting Swift files, generate the project again.
Clone the supporting repos in one pass:
cd supports
./clone-all.sh
supports/ is a workspace of independent git repos. Those trees are not committed here. starcat-license-api and starcat-api are private and need org access.
Project structure
Starcat/
├── App/ # Entry, lifecycle, dependency composition
├── Features/
│ ├── Home/ # Three-column main window
│ ├── RAG/ # Knowledge-base RAG workspace
│ ├── Agents/ # Agent workspace
│ ├── AI/ # Summaries, chat, translation, semantic search
│ ├── Insights/ # Library and repository insights
│ ├── Explore/ # Discovery
│ ├── Trending/ # GitHub Trending
│ ├── Tags/ # Tags
│ ├── Releases/ # Release subscriptions and timeline
│ ├── MCP/ # Local MCP facade
│ └── Settings/ # Settings
├── Core/
│ ├── Database/ # GRDB / migrations
│ ├── RAG/ # Chunk index and writes
│ ├── Network/ # GitHub API
│ ├── Sync/ # Stars sync
│ └── Keychain/ # Tokens and API keys
├── Shared/ # Shared components and utilities
└── Resources/
Tests
Quit Xcode before command-line tests, or the two will fight over testmanagerd. Any start-up path that talks to Keychain or system authorization must be gated with TestEnvironment.isRunning, or the test host hangs.
xcodegen generate
xcodebuild -scheme Starcat -destination 'platform=macOS,arch=arm64' test
Technology stack
| Layer | Technology |
|---|---|
| Client | SwiftUI on macOS 15+, Liquid Glass on macOS 26 |
| Local database | GRDB.swift (SQLite), FTS5, local embeddings |
| Cloud sync | CloudKit fields are reserved, production adapter not wired yet |
| Secure storage | Keychain |
| AI | BYOK / self-hosted proxy (Gemini / OpenAI / Claude / DeepSeek / Ollama) |
Compatibility
- Starcat currently supports macOS 15 Sequoia or newer
- The public Direct download is for Apple Silicon Macs
- There are no iOS, iPadOS, watchOS, Windows, or Android builds
- Building from source needs Apple Developer Program membership ($99/year)
- AI features depend on the provider or API key you configure
Related apps
| App | Highlights |
|---|---|
| Starship | Nested tags and iCloud sync |
| OhMyStar | Comprehensive features and powerful search |
| GithubStarsManager | AI summaries, semantic search, and release tracking |
Documentation
- Local build guide - compile the app, support APIs, and CLI (Chinese)
- User docs - install, features, daily use
- Feature list - complete feature specification
- Implementation overview - primary progress index and engineering debt
- Detailed design index - technical design documentation
- DESIGN.md - UI contract for the main window, RAG, and Agent
Contributing
See CONTRIBUTING.md. Please follow the Code of Conduct.
Security
Report vulnerabilities privately as described in SECURITY.md.
Support
Product questions: starcat-pro. Source-code issues: this repository. Details in SUPPORT.md.
Acknowledgments
Starcat is built on open-source work. The in-app About → Credits list is the canonical registry (Starcat/Features/About/AboutView.swift). License texts for bundled files are in THIRD_PARTY_NOTICES.md.
Starcat's own CLI, plugins, and APIs are listed under Related projects, not repeated here.
Swift packages
| Project | License | Role |
|---|---|---|
| GRDB.swift | MIT | Local SQLite |
| KeychainAccess | MIT | Token and API key storage |
| Kingfisher | MIT | Image loading and cache |
| swift-markdown-ui | MIT | SwiftUI Markdown for AI summaries |
| OpenAI | MIT | OpenAI-compatible client |
| ConfettiSwiftUI | MIT | Celebration effects |
| ZIPFoundation | MIT | GitHub source ZIP extraction |
| MCP Swift SDK | Apache-2.0 / MIT | Local MCP |
| Aptabase Swift | MIT | Optional analytics |
| Sparkle | MIT | Direct-channel updates only |
Bundled resources and generated data
| Project | License | Role |
|---|---|---|
| Devicon | MIT | Language / tool icons |
| GitHub Linguist | MIT | Language colors and names |
| Mermaid | MIT | README diagrams |
| CodeFlow | MIT | In-app architecture view |
| codebase-memory-mcp | MIT | Symbol graph and 3D explorer |
| Repomix | MIT | Repository context packing |
| OpenSSF Scorecard | CDLA-2.0 / Apache-2.0 | Security radar |
Upstream services and data
These are not SPM packages. Starcat uses them through support APIs or as public datasets.
| Project | License | Role |
|---|---|---|
| SimRepo | MIT / GPL-3.0 | Similar-repository recommendations via starcat-recommend-api |
| ruanyf/weekly | CC BY-NC-SA 4.0 | Weekly discovery source |
| HelloGitHub | — | Weekly / discovery source |
CodeFlow WebView runtime
The vendored CodeFlow page also loads these libraries:
React, ReactDOM, Babel Standalone, D3, d3-sankey, Acorn, jsrsasign, JSZip, jsPDF, web-tree-sitter, 3d-force-graph.
License
MIT © 2026 dong4j
Third-party notices: THIRD_PARTY_NOTICES.md
Community
This project has been linked and endorsed by LINUX DO Community.
Star History

Starcat — 原生 macOS GitHub Stars 管理器与 AI 知识库
在本地整理、搜索并追问你的 GitHub Stars。
macOS 15 Sequoia 或更高版本:优先使用 Homebrew 安装,也可以从 官网 下载面向 Apple Silicon Mac 的 Direct 版本,或在 Mac App Store 获取 Starcat for GitHub。
历史版本与发布说明:更新日志 · 官网更新记录
公开问题反馈:反馈 bug 或提出功能建议
用户文档:starcat.mintlify.app · Mac App Store:dong4j.app/starcat · 隐私:隐私政策 · 用户协议
English: README.md
本仓库是 macOS 客户端源码。公开支持、Issue 和发布说明在 starcat-pro。配套文档、CLI、插件和可自建 API 见下方「相关项目」。
这是什么
Starcat 是原生 macOS 应用,面向 GitHub Stars 已经超出普通收藏夹规模的人。它把 starred 仓库同步到本地优先的桌面工作区,渲染 README,支持标签、私有笔记和阅读状态,追踪 Release,评估仓库健康度,并把真正要用的项目收进可检索、可追问的本地知识库。
做 Starcat 的过程中,我开始重新看 GitHub Star 的本质。我们习惯把它们当成以后再看的书签。时间长了,它们是一份数字资产,记录专业兴趣、技能方向,以及以后可能真正用到的项目。
Star 本身还是公开的认同。真正准备学习、使用或长期保留的项目,再进入 Starcat 知识库。点 Star 不自动变成待整理清单,入库才进入检索、摘要和 RAG 问答的范围。
为什么开源 Starcat
Starcat 最初是收费产品,但深度管理 GitHub Stars 的市场比预期更小。开放整个生态后,真正需要它的人可以审查代码、扩展功能并自建服务。相关项目现已开源,仅保留负责 Direct 渠道授权的 starcat-license-api 为私有。官方 Mac App Store 和 Direct(starcat.ink)版本仍会持续提供和维护。
看看 Starcat 如何工作
AI 驱动的仓库理解
https://github.com/user-attachments/assets/bf229a76-7a26-4f82-a3b2-1c4d3c960a7f
向知识库提问
https://github.com/user-attachments/assets/4785fa1e-d629-4a18-b266-6fa2145f92dd
同时搜索本地、GitHub 与 Web
https://github.com/user-attachments/assets/0257850a-d65b-4d9a-9621-028064b7a873
官方包和自己编译
官方渠道是 Mac App Store(Starcat for GitHub,落地页 dong4j.app/starcat)和 Direct(官网 DMG / Homebrew + Sparkle)。核心整理能力可免费使用。官方包里的 Pro 工作流、更高 AI 配额和代码智能,走 App Store 内购或 Direct 授权。
从本仓库编译、自建服务,不需要 Starcat License。Direct 授权签发仍走私有的 starcat-license-api。
首选 Homebrew:
brew tap starcat-app/starcat
brew trust starcat-app/starcat
brew install --cask starcat
也可以从 starcat.ink 下载 Direct .dmg,拖到 /Applications 后用 GitHub 登录。
核心能力
主界面是三栏工作区:侧栏导航、仓库列表、当前仓库详情。另外还有两个独立工作台:知识库 RAG 和 Agent。
整理 Stars
用 GitHub OAuth 登录后增量同步 starred 仓库,数据落在本地 SQLite。仓库缓存丢了可以重建;标签、私有笔记、阅读状态是用户数据,不能丢。
- 三栏布局,macOS 26 优先适配 Liquid Glass
- 标签、语言、未分类、智能集合、置顶
- 阅读状态:未读 / 阅读中 / 已采用 / 已废弃
- 私有笔记,可基于 README 用 AI 起草或改写
- FTS5 全文搜索:仓库名、描述、Topics、笔记
- 语义搜索:按意图找仓库,不只靠关键词
- README 渲染,含图片、Mermaid、专注阅读
- JSON 导入导出,兼容 OhMyStar / Astral
活动与 GitHub 通知
活动页是应用内收件箱,用来处理被 @、评审请求、指派、讨论、Release 和安全公告。可按未读、提及、评审、Issue、PR 筛选,并按今天、昨天、本周和更早分组。
打开通知后可以阅读 Issue / PR 会话、撰写或预览回复、用 AI 起草评论,以及翻译评论。完成等同 GitHub Inbox 的 Done,不会关闭 Issue。也可以在系统通知中心收到提醒。
知识库
Star 和知识库是两层。GitHub Star 表示公开认同;知识库表示这份仓库进入你的私有资料。可以从 Stars 批量入库,也可以在探索、周刊、Trending 里直接加入,不必先去 GitHub 点 Star。
入库之后,仓库才成为 RAG 索引、知识库浏览、MCP / CLI 默认上下文的来源。没入库的 Star 继续当收藏。
知识库 RAG 工作台

独立窗口,快捷键 ⇧⌘K。默认只问知识库里的仓库,回答带引用,并能跳回对应仓库和证据片段。
工作台分三栏:左侧会话与知识库状态,中间流式回答,右侧 Citation Inspector 核对来源。检索是混合的:FTS5 关键词、Embedding 语义召回、RRF 融合。索引按分片建立,citation 能指到具体段落,而不只是仓库名。
还可以带上仓库洞察 XML、README / 笔记 / 摘要分片,以及文本、Markdown、JSON、源码附件。需要时可以显式走 GitHub 结构化查询或联网搜索,步骤会写进执行时间线。默认只读,不会自动改标签、笔记或入库状态。
评估与洞察

- Repo Health:活跃度、维护状态、风险信号
- OpenSSF Scorecard:公开安全评分雷达图
- 我的洞察:整理进度、技术分布、待处理项
- 仓库洞察:Star 增长、提交、协作、发布节奏、健康度与安全
- 洞察生成后可复用到摘要、对话和 RAG,作为可移除的只读上下文
找回与发现
智能集合覆盖 Needs Review、Unmaintained、High Value、No Tags 等规则,也可以自己组合元数据、状态、笔记和 Health 信号。我的项目用来看个人仓、组织仓和协作仓,私有仓走 GitHub App 授权。
探索侧有 GitHub Trending、发现榜单、阮一峰周刊等来源,以及 Release 订阅、时间线和按平台过滤的下载资产。桌面小组件可以看常用仓库、今日重逢、未读 Release 和收藏趋势。
分享你 Starred 的项目

仓库详情里可以直接复制 GitHub 链接,给还没装 Starcat 的人看。已 Star 的公开仓库还可以生成一份独立的公开分享页:简介、Star / Fork、README 要点、Topics,以及可切换的卡片样式。对方打开的是网页,不需要账号。
公开分享页走 starcat-sharing-api,可以自建。私有仓库不会生成可被服务端抓取的页面。
分析你 Starred 的项目

当前仓库的源码可以拉到本机再看结构,不必先 clone 到别的 IDE。Starcat 集成了两套开源分析器:
- codebase-memory-mcp:符号级知识图谱。文件、类、函数、依赖在本机 3D 图里展开,可按类型过滤和搜索。
- codeflow:架构体检。看文件规模、耦合、循环依赖、重复和复杂度,并给出健康分。
源码默认从 GitHub ZIP 拉取,产物可以清掉。
深入了解你的项目

这是主窗口详情页里的 AI,不是独立工作台。笔记、摘要、标签都在本机,入库后会进入 RAG。
- 笔记:用 AI 根据 README 起草一版私有笔记,你可以随时改。适合记下接入步骤、踩过的坑、和文档对不上的地方。笔记只属于你,不会写回 GitHub。
- 摘要和标签:AI 读完 README 后给出结构化摘要(做什么、技术栈、适用场景),并推荐标签。标签要你确认才会写入;也可以对全部 Starred 仓库批量生成,再逐条确认。摘要和标签同样会进知识库索引。
- 仓库对话:直接问当前项目,例如怎么编译、某个功能在哪。回答带这个仓库的 README、笔记和摘要。也可以翻译 README,保留原结构,支持分段对照或全文替换。
接到其他工具
同一份本地数据可以通过 CLI、MCP、Agent Skill、浏览器插件和启动器使用。浏览器插件在 GitHub 页面上带出笔记、标签、健康度和 AI 操作。Alfred、uTools、Raycast 可以直接搜本地仓库。分享卡片和短链给还没装 Starcat 的人看。
AI 走 BYOK 或自建代理:Gemini、OpenAI、Anthropic Claude、DeepSeek、Ollama。Key 和配额留在你这边。界面目前 18 种语言,翻译在 starcat-localization。
数据在哪
标签、私有笔记、阅读状态、知识库归属和 RAG 分片都在本机 SQLite。GitHub Token 和 AI API Key 在 Keychain。仓库缓存(README、元数据)丢了可以重建,用户数据不行。
出本机的请求只有这几类:
- GitHub.com:同步 Stars、拉 README / Release、OAuth
- 你配置的 AI Provider:摘要、对话、RAG 生成和 Embedding(Ollama 则留在本机)
- 可选的 Starcat 支撑 API:Trending、周刊、发现、Wiki 探测、相似推荐、公开分享页;都可以自建
- 可选的外部检索后端:Meilisearch、Qdrant,默认仍用 SQLite FTS5 和本地向量
CloudKit 同步字段已经预留,生产版本还没有接上。Starcat 不托管你的 AI Key,也不会把知识库默认上传到自家服务器。
截图
相关项目
本仓库是 macOS 客户端源码。Starcat 还有一组独立仓库,覆盖文档、分发、CLI、插件和可自建 API。完整清单在 supports/README.md。组织主页:github.com/starcat-app。
产品、文档与分发
| 项目 | 说明 |
|---|---|
| starcat.ink | Direct 官网、下载、更新说明 |
| dong4j.app/starcat | Mac App Store 落地页 |
| starcat-pro | 公开支持、Issue、Changelog 与营销图 |
| starcat-docs | 官方用户文档源码,发布于 starcat.mintlify.app |
| starcat-site | Direct / App Store 官网与法律页面源码 |
| starcat-localization | 界面本地化资源,目前 18 种语言 |
| homebrew-starcat | App 的 Homebrew Cask:brew install --cask starcat |
在其他工具里用 Starcat
| 项目 | 说明 |
|---|---|
| starcat-cli | 跨平台 CLI,并作为 MCP 运行时给 Agent 读同一份本地知识库 |
| homebrew-starcat-cli | CLI 的 Homebrew Formula |
| starcat-skill | 给 Codex / Claude Code 等 Agent 用的 Skill |
| starcat-chrome-plugin | Chrome 插件,在 GitHub 页面里用 Starcat 上下文 |
| starcat-safari-plugin | Safari 插件 |
| starcat-alfred-workflow | Alfred 搜索本地仓库与 GitHub |
| starcat-utools-plugin | uTools 搜索本地仓库与 GitHub |
| starcat-raycast-extension | Raycast 搜索本地仓库与 GitHub |
可自建后端
客户端会请求一组独立 API。GitHub 官方没有 Trending 接口,周刊、发现、Wiki 探测、相似推荐、公开分享页也都需要服务端。这些仓库都可以自己部署,各仓 README 里有部署说明。
| 项目 | 说明 |
|---|---|
| starcat-sharing-api | 分享短链与公开分享页 |
| starcat-trending-api | GitHub Trending 抓取与 API |
| starcat-weekly-api | 周刊、Show HN、HelloGitHub 等发现源 |
| starcat-wiki-api | DeepWiki / Zread / CodeWiki 收录探测 |
| starcat-recommend-api | 相似仓库推荐 |
| starcat-discovery-api | 探索、热门、新发布榜单 |
| starcat-api-kit | 六个业务 API 共用的 auth / envelope / GitHub 基础包 |
| starcat-license-api | Direct 授权,仓库保持私有 |
知识库关键词默认走 SQLite FTS5,向量默认本地计算。若要在本机验证外部检索后端,见 docker/meilisearch 和 docker/qdrant。端口只绑 127.0.0.1。
文章
- 少数派:我为 GitHub 重度使用者做了一款 macOS 原生应用
- 个人博客:同一篇文章
从源码编译
完整步骤(客户端、配套 API、CLI、本机 Meilisearch / Qdrant)见 本地编译教程。贡献约定见 CONTRIBUTING.md。
最短路径:macOS 15+、Xcode 26+、brew install xcodegen,checkout dev,复制 Configs/Secrets.xcconfig.template,xcodegen generate 后 Run Starcat scheme。新增或删除 Swift 文件后再跑一次 xcodegen generate。
配套仓库一次拉齐:
cd supports
./clone-all.sh
supports/ 是独立 git 仓库的工作区,不进本仓库的提交。starcat-license-api 和 starcat-api 是私有仓,需要组织权限。
项目结构
Starcat/
├── App/ # 入口、生命周期、依赖装配
├── Features/
│ ├── Home/ # 三栏主窗口
│ ├── RAG/ # 知识库 RAG 工作台
│ ├── Agents/ # Agent 工作台
│ ├── AI/ # 摘要、对话、翻译、语义搜索
│ ├── Insights/ # 我的洞察 / 仓库洞察
│ ├── Explore/ # 发现
│ ├── Trending/ # GitHub Trending
│ ├── Tags/ # 标签
│ ├── Releases/ # Release 订阅与时间线
│ ├── MCP/ # 本地 MCP 门面
│ └── Settings/ # 设置
├── Core/
│ ├── Database/ # GRDB / 迁移
│ ├── RAG/ # 分片索引与写入
│ ├── Network/ # GitHub API
│ ├── Sync/ # Stars 同步
│ └── Keychain/ # Token 与 API Key
├── Shared/ # 共享组件与工具
└── Resources/
测试
跑命令行测试前请关掉 Xcode IDE,避免抢同一个 testmanagerd。启动期任何 Keychain / 系统授权调用必须用 TestEnvironment.isRunning 门控,否则测试 host 会卡住。
xcodegen generate
xcodebuild -scheme Starcat -destination 'platform=macOS,arch=arm64' test
技术栈
| 层级 | 技术选型 |
|---|---|
| 客户端 | SwiftUI + macOS 15+,macOS 26 Liquid Glass |
| 本地数据库 | GRDB.swift(SQLite)、FTS5、本地 Embedding |
| 云同步 | CloudKit 字段已预留,生产版本尚未接入 |
| 安全存储 | Keychain |
| AI | BYOK / 自建代理(Gemini / OpenAI / Claude / DeepSeek / Ollama) |
兼容性
- 当前支持 macOS 15 Sequoia 或更高版本
- 公开 Direct 下载面向 Apple Silicon Mac
- 没有 iOS、iPadOS、watchOS、Windows 或 Android 版本
- 从源码编译需要 Apple Developer Program($99/年)
- AI 能力取决于你配置的 Provider 或 API Key
竞品参考
| 应用 | 特点 |
|---|---|
| Starship | 嵌套标签、iCloud 同步 |
| OhMyStar | 功能完整、搜索强大 |
| GithubStarsManager | AI 摘要、语义搜索、Release 追踪 |
文档
- 本地编译教程 - 从源码编 App、配套 API 和 CLI
- 用户文档 - 安装、功能与日常使用
- 功能清单 - 完整功能规格
- 功能实现总览 - 主进度索引与工程债
- 详细设计索引 - 技术设计文档入口
- DESIGN.md - 主窗口 / RAG / Agent 的 UI 契约
贡献
见 CONTRIBUTING.md。请遵守 Code of Conduct。
安全
请按 SECURITY.md 私下报告漏洞,不要发到公开 Issue。
支持
产品问题请到 starcat-pro。 源码问题请到本仓库。说明见 SUPPORT.md。
致谢
Starcat 建立在这些开源项目之上。应用内 关于 → 开源致谢 是完整登记表(Starcat/Features/About/AboutView.swift)。随包许可证文本见 THIRD_PARTY_NOTICES.md。
Starcat 自己的 CLI、插件和 API 已写在「相关项目」,这里不重复。
Swift 依赖(SPM)
| 项目 | 许可 | 用途 |
|---|---|---|
| GRDB.swift | MIT | 本地 SQLite |
| KeychainAccess | MIT | Token 与 API Key 存储 |
| Kingfisher | MIT | 图片加载与缓存 |
| swift-markdown-ui | MIT | AI 摘要的 SwiftUI Markdown |
| OpenAI | MIT | OpenAI 兼容客户端 |
| ConfettiSwiftUI | MIT | 庆祝动效 |
| ZIPFoundation | MIT | 解压 GitHub 源码 ZIP |
| MCP Swift SDK | Apache-2.0 / MIT | 本地 MCP |
| Aptabase Swift | MIT | 可选统计 |
| Sparkle | MIT | 仅 Direct 渠道自动更新 |
嵌入资源与生成数据
| 项目 | 许可 | 用途 |
|---|---|---|
| Devicon | MIT | 语言 / 工具图标 |
| GitHub Linguist | MIT | 语言颜色与名称 |
| Mermaid | MIT | README 图表 |
| CodeFlow | MIT | 应用内架构视图 |
| codebase-memory-mcp | MIT | 符号图谱与 3D 浏览 |
| Repomix | MIT | 仓库上下文打包 |
| OpenSSF Scorecard | CDLA-2.0 / Apache-2.0 | 安全评分雷达 |
上游服务与数据
这些不是 SPM 包。Starcat 通过配套 API 或公开数据集使用它们。
| 项目 | 许可 | 用途 |
|---|---|---|
| SimRepo | MIT / GPL-3.0 | 相似仓库推荐,经 starcat-recommend-api 中转 |
| ruanyf/weekly | CC BY-NC-SA 4.0 | 周刊发现源 |
| HelloGitHub | — | 周刊 / 发现源 |
CodeFlow WebView 运行时
内嵌的 CodeFlow 页面还会加载:
React、ReactDOM、Babel Standalone、D3、d3-sankey、Acorn、jsrsasign、JSZip、jsPDF、web-tree-sitter、3d-force-graph。
License
MIT © 2026 dong4j
第三方声明:THIRD_PARTY_NOTICES.md
社区
本项目已链接并认可 LINUX DO 社区。