Skip to content

原生工具与网站导航 ​

「工具」管理个人常用入口:网站、固定本机应用启动方式及分组收藏。支持搜索(⌘F)、新增、编辑、移除和顺序调整。分组按首次出现的顺序展示,组内沿用保存的工具顺序。「常用工具」与「网站导航」均为原生页面,可在页头互相切换;重启后恢复上次选择的工具子页。

「软件中心」管理软件目录、安装状态、来源与安装记录。目录里的收藏按钮把软件加入同一份常用工具数据;移除收藏不会卸载应用。常用工具保留官网、下载及源码图标按钮,软件目录将这些入口放在卡片的“更多”菜单中。

软件目录 ​

目录使用最多四列的自适应原生卡片,窗口缩窄时减少列数。图标、名称与分类集中在卡片上方,两行说明和底部操作保持对齐;已检测到的软件提供打开入口,可安装的软件先审阅计划,其余条目提供官网或官方下载入口。是否可安装或打开仍由运行时能力与本机检测结果共同决定,未知状态不会被当作未安装。

紧凑页头保留目录、常用工具、安装记录和来源切换;搜索可与分类、检测状态、来源组合筛选,同时显示匹配数量和重置入口。筛选只影响当前视图,不修改目录、收藏或软件来源。⌘F 聚焦搜索,更多菜单显示官网、下载、源码和支持平台。

可安装条目提供复选框,每个来源最多选择 50 项。选择结果固定显示在底部,筛选或滚动不会清除选择;多个来源分别审阅各自的安装计划。实际安装仍需在审阅弹窗中确认,目录上的安装按钮不会直接执行安装。

软件来源与安装记录 ​

来源页使用紧凑的列表卡片,集中显示仓库位置、缓存状态、目录数量、分支、可读的检查时间和自动刷新策略。旧来源未配置策略时,显示与运行时一致的默认“每 24 小时刷新”;本地目录始终显示手动读取。完整提交、路径、目录文件和缓存时间收在来源详情中。搜索可组合线上、本地和刷新失败筛选,刷新失败时保留有效缓存提示;“重新载入来源状态”只读取保存状态,各来源的“刷新目录”才重新读取其目录。编辑、刷新配置及移除继续沿用原有预览、版本检查与确认流程。

安装记录以任务卡片汇总软件名称、来源、时间和运行时状态,支持按软件、来源或任务搜索,以及进行中、已完成、失败或中断、已取消筛选。进行中及失败任务初次显示时展开;处理进度只统计已经处理的项目,失败或手动处理不会被标为安装成功。条目百分比来自运行时报告。日志在独立原生弹窗中展示、选择或复制,打开期间跟随同一来源、任务和条目的最新观察更新。停止安装需确认,重试只对失败、中断、取消的条目重新生成审阅计划,不直接安装。

⌘F 现在聚焦软件中心当前子页的搜索框;页面筛选、详情展开和日志选择均为临时界面状态,不写回收藏、软件来源或配置。真实安装及来源调度仍由共享运行时和已受信的管理提供方负责。

数据与行为 ​

常用工具与软件中心共用运行时 workbench.home.tools,没有新增本地收藏数据库。原生常用工具页通过 GET /api/software?discovery=none 读取收藏与缓存图标,不调用软件检测插件。目录图标仅用于显示,不写入自定义草稿,也不会覆盖用户指定的图标。

编辑器通过 POST /api/software-favorites 的 replace 操作提交完整工具数组和打开编辑器时的 settings revision。共享 Zod schema 校验 HTTPS 链接、唯一 ID、最多 100 项和固定应用启动方式;运行时保留项目置顶和任务显示偏好。可选 Raycast 命令只允许不带参数的 raycast://extensions/owner/extension/command。打开操作仍只提交工具 ID,由宿主重读已保存配置,不传递项目或任务上下文。

字段校验失败时保留草稿供修改。版本冲突或写入结果不明时阻止继续保存,重新读取后由用户明确选择是否用已保存版本替换草稿。保存期间收到设置变化会再次读取缓存快照,旧读取和旧连接的回执不能覆盖新状态。

网站导航 ​

网站导航读取现有 GET /api/navigation-panels?locale=… 合同,展示已启用插件声明的网站,保留来源、分组、说明、内置图标和 Emoji。面板与链接身份包含插件作用域,避免不同插件的同名 ID 混淆。搜索覆盖面板与插件名称、链接标题、说明、关键词和网址;⌘F 聚焦搜索框。网页或命令面板中的 /navigation 入口也会切换到原生页。

布局采用随窗口宽度调整列数的分组面板,每个网站的名称、说明和域名集中在同一入口中。紧凑页头保留网站与分组数量,搜索框旁提供“全部”和各分组筛选;搜索与分组可组合使用,无结果时可重置筛选。完整说明和网址通过悬停提示提供,链接仍支持右键复制。配色跟随系统或应用主题。分组筛选只属于当前页面,不改写插件或收藏数据。

视觉参考为 Markit 的书签分组和网格设计,桌面布局遵循 Apple Layout 的窗口适配原则;参考用于信息组织,界面由原生 SwiftUI 控件实现。

网站条目优先展示声明的 HTTPS 图标,其次读取目的站点的 /favicon.ico;常规图标不存在时,仅读取站点首页的 HTML 图标声明,最多尝试三个候选。请求不携带导航路径的查询参数或片段,不执行首页脚本;不通过第三方 favicon 聚合服务。加载失败时使用原有 Emoji、内置图标或通用符号。分组标题继续使用插件声明的图标。图片保留原色与比例,深色模式不反色。

导航、软件中心和常用工具共享原生图标缓存:合并相同 URL 的并发请求,内存缓存按 256 项/32 MiB 设置预算,资料目录内的可丢弃磁盘缓存限制为 64 MiB。缓存有效期七天,过期后下次使用时刷新;刷新失败保留旧图,失败请求十分钟内不重复发起。仅缓存能解码且不超过 8 MiB 的图像;缓存损坏或不可写不会阻止页面使用。不同原生资料目录相互隔离,图标不会写回插件声明、收藏或用户配置。

原生端不执行插件代码。用户点击时仅将不含凭据的 HTTPS URL 交给系统默认浏览器;非法目的地保持禁用。图标及首页元数据使用独立无凭据会话,不携带运行时令牌、浏览器 Cookie 或 Referer,并拒绝带凭据或降级至 HTTP 的重定向。

插件启停、更新、配置与语言变化会使旧快照失效,并在可见时重新读取。刷新失败时保留旧内容和错误提示,旧链接暂时禁用;重新读取成功后恢复。未配置导航插件时提供原生插件管理入口;搜索无结果可清空搜索。请求期间发生变更会再次读取,旧语言或旧连接的迟到结果不能覆盖新目录。

验证 ​

2026-10-25 的软件目录 Release 验收覆盖两列、三列与宽屏四列布局、深浅色、⌘F、分类与状态组合筛选、无结果恢复、收藏反馈及更多菜单。隐藏已选条目的筛选不会丢失批量选择;审阅按钮正确展示所选软件,关闭计划不会执行安装。日用安装包更新后确认来源筛选、跨子页快捷搜索和四个既有收藏;54 个既有资料文件哈希不变,线上来源仍每 1,440 分钟自动刷新。旧安装包和资料备份保留,临时宿主及 sidecar 已按进程身份退出;最终截图、验证日志和数据保留报告位于忽略的 apps/macos/build/catalog-layout-acceptance-20261025/。

同日的软件来源与安装记录 Release 验收覆盖深浅色、900 点窄窗、组合搜索与状态筛选、来源详情及刷新策略。隔离副本使用样例提供方覆盖运行中、失败、完成和取消任务,验证日志打开期间收到新内容、取消停止不改变任务、确认停止只作用于选中任务,以及失败重试只审阅失败条目;未发出安装请求。读取记录失败时保留已有记录,恢复后正常显示。日用安装包替换并重启后确认 33 款缓存软件、4 个收藏、原有 Godot 安装记录及每 24 小时刷新设置;54 个既有资料文件哈希不变。旧包、完整资料与偏好备份保留于本机备份目录,临时宿主和 sidecar 已按 PID、可执行文件及启动时间核对退出。最终实图、隔离样例截图、检查日志与数据保留报告位于忽略的 apps/macos/build/management-layout-acceptance-20261025/。SoftwareManagementPresentationTests 覆盖刷新策略兼容、日期解析、进度与过滤语义,以及日志选择身份。

packages/craft-hub/test/software-favorites.test.ts 覆盖并发版本、排序、100 项请求、安全链接、启动方式及发现/信任/执行边界。SoftwareFavoritesModelTests 覆盖草稿保留、校验失败后的修正、晚到读取与保存、失效事件、缓存图标和 Raycast 字段保留;WorkbenchModelTests 覆盖原生入口、搜索及网页导航返回。

WebsiteNavigationModelTests 覆盖本地化只读请求、搜索、插件失效、刷新失败、空目录、迟到请求、连接切换、跨插件行身份与 HTTPS 边界。2026-10-25 的隔离 Release 走查验证两个插件共用面板和链接 ID 时正确展示、⌘F 和关键词搜索、无结果恢复、默认浏览器打开、插件管理往返、声明变更刷新以及退出重启恢复网站导航。日用安装包替换后确认原生空目录引导、既有收藏和数据文件校验一致,旧包与数据保留备份。验收截图、进程清理记录与检查日志保存在忽略的 apps/macos/build/navigation-acceptance-20261025/。

SoftwareIconCacheTests 覆盖并发请求合并、冷启动磁盘命中、过期离线回退及重试、无效图片与不安全 URL 拒绝、首页图标解析、缓存损坏恢复、资料隔离及磁盘容量回收。图标属于渲染缓存,不改变项目发现、信任和执行合同。2026-10-25 的真实 Release 走查确认 12 个导航入口中 11 个显示站点图标,未提供常规图标的站点保留声明的回退图标;深色下以浅色圆角底托保持黑色 Logo 可见,不改变图片本身。新进程加载预热图标缓存后,12 份缓存内容及获取时间均未改写。日用实例更新并重启后,既有资料、插件与软件来源设置保留;证据位于忽略的 apps/macos/build/favicon-acceptance-20261025/。

同日的布局验收使用四组共 12 个网站:默认窗口显示三列并完整容纳内容,宽屏显示四列,较窄窗口显示两列并支持滚动;验证分类与搜索组合、无结果重置及深浅色显示。最终 Release 调高了域名对比度,并在隔离副本及日用实例复核。保存的线上软件来源保留 1,440 分钟自动刷新策略;运行时启动及运行期间检查到期来源,应用退出时不执行后台刷新。日用更新后原有四个收藏、导航插件与全部既有资料文件哈希一致,仅重新生成临时运行端点文件;旧安装包与完整资料备份保留。临时宿主及 sidecar 均已按进程身份退出,截图和记录位于忽略的 apps/macos/build/navigation-layout-acceptance-20261025/。

2026-10-25 的隔离 Release 副本完成新增工具、中文文本粘贴、排序、保存、⌘F 分组搜索、两页共享收藏、非法链接提示及 Escape 取消的真实界面走查。输入法组合输入、完整 VoiceOver、最低系统与正式签名分发不在本次验收范围。测试资料和构建包保留;临时宿主与 sidecar 按 PID、路径及启动时间核对后退出,日用实例保持运行。

Released under the MIT License.