这是一个供组织内部和个人使用的 Raycast 扩展,用于在 Raycast 中快速搜索 Apple 开发者文档。
它在原版 Apple Developer Docs 扩展的基础上增加了 Apple 历史归档文档搜索:除了当前的 API、框架、示例代码和 WWDC 内容,还可以搜索 Apple 已经从主站下线、但仍保留在 Documentation Archive 中的旧文档和章节。
本仓库是私人维护版本,不是 Raycast Store 官方发布版本,也不代表 Apple 或 Raycast。
- 搜索当前 Apple Developer Documentation。
- 搜索示例代码、视频和一般开发者内容。
- 可选搜索 Apple Documentation Archive 中的历史文档。
- 首次使用归档搜索时,自动下载总索引并建立章节级索引。
- 将在线结果和归档结果按统一相关度排序。
- 提供
Archive筛选器,只查看历史归档结果。 - 显示下载、建立索引、完成和失败状态。
- 保存最近访问过的搜索结果,并根据当前查询过滤历史记录。
使用本扩展需要:
- macOS。
- 已安装并能正常运行的 Raycast。
- Node.js 和 npm。建议使用当前维护中的 Node.js 长期支持版本。
- 能够访问 Apple Developer 网站;实时搜索和首次建立归档索引都需要网络。
- 如需从 GitHub 克隆私人仓库,需要拥有
XiyouMobile3G-iOS组织中本仓库的读取权限。
Raycast 是运行本扩展的必要依赖。本项目不是独立的 macOS 应用,不能脱离 Raycast 单独使用。
git clone https://github.com/XiyouMobile3G-iOS/Raycast-Apple-Developer-Docs.git
cd Raycast-Apple-Developer-Docs也可以使用 GitHub CLI:
gh repo clone XiyouMobile3G-iOS/Raycast-Apple-Developer-Docs
cd Raycast-Apple-Developer-Docsnpm installnpm run dev等待终端出现:
ready - built extension successfully
npm run dev 会构建扩展、将其注册到 Raycast,并监听源码变化。私人开发和使用期间建议保持这个进程运行。
仅运行 npm run build 会生成构建文件,但在扩展曾被用户从 Raycast 卸载的情况下,不一定会重新注册命令。因此首次安装或重新安装应运行 npm run dev。
- 打开 Raycast。
- 搜索命令
Search Documentation。 - 确认副标题为
Apple Developer。 - 输入关键词,例如
SwiftUI、UIViewController或Core Data。 - 使用搜索框右侧的类型筛选器切换全部、文档、示例代码、视频或归档结果。
主搜索界面显示的是命令标题 Search Documentation,因此只搜索仓库名或扩展包名时可能找不到命令。
归档搜索默认关闭,需要手动开启:
- 找到
Search Documentation命令。 - 打开命令操作菜单,选择
Configure Command。 - 开启
Include Documentation Archive。 - 运行命令,选择
all或archive筛选器。 - 输入至少两个非空字符。
扩展没有单独的“下载归档”按钮。满足以上条件后,它会自动:
- 下载 Apple 历史文档总索引。
- 找出可建立章节索引的书籍。
- 并发获取各书籍的章节目录。
- 把结果缓存在本地供后续搜索使用。
首次索引所需时间取决于网络和 Apple 归档服务状态。界面会显示当前处理进度。
扩展会访问以下 Apple 服务:
- 当前开发者内容搜索接口。
developer.apple.com/library/archive/下的历史文档总索引和章节索引。
归档缓存使用 Raycast 的本地缓存接口,命名空间为 apple-developer-docs-archive,容量上限约 25 MiB。搜索历史使用 Raycast LocalStorage 保存。项目不会把搜索历史上传到本仓库。
# 开发、注册并监听源码
npm run dev
# 构建并检查 TypeScript
npm run build
# 代码规范检查
npm run lint
# 自动修复可修复的规范问题
npm run fix-lintgit pull
npm install
npm run dev如果依赖锁文件没有变化,通常不需要重复安装依赖,但运行 npm install 可以确保本地依赖与仓库一致。
在 Raycast 设置的扩展管理页面找到开发版本并移除。之后可删除本地仓库目录。
删除扩展后,如果以后只执行 npm run build,命令可能仍不会出现;重新安装时应执行 npm run dev 完成注册。
- 搜索命令名
Search Documentation,不要只搜索仓库名。 - 确认 Raycast 正在运行。
- 确认
npm run dev仍在运行且没有构建错误。 - 如果曾手动卸载开发扩展,再次执行
npm run dev。
这是正常行为。归档下载由查询自动触发。需要先在命令设置中启用 Include Documentation Archive,然后在 all 或 archive 筛选器下输入至少两个字符。
- 确认查询不是空字符串或单个字符。
- 确认筛选器不是仅限视频、示例代码等非归档类型。
- 检查能否访问
developer.apple.com。 - 重新打开命令,观察是否显示网络错误状态。
重新进入仓库并执行:
npm run dev开发扩展与 Raycast Store 安装的正式扩展不同,不应把一次 npm run build 当作永久安装。
assets/ 扩展图标和图片资源
metadata/ Raycast 扩展展示图片
src/index.tsx 搜索界面和在线结果处理
src/hooks/ 搜索历史与归档索引逻辑
src/config.ts Apple 接口和归档地址
src/scoring.ts 搜索相关度计算
文档/智能体记忆/ 私人开发说明和维护记忆
package.json Raycast 清单、依赖和命令
本仓库用于私人维护。功能来源、分支关系、归档实现约束和安装排障记录位于 文档/智能体记忆/。这些说明不应提交到 Raycast 官方扩展仓库的 PR。
本项目基于 Raycast Extensions 仓库中的 MIT 许可代码,具体内容见 LICENSE。