Skip to content

06. 设置信息架构 ​

翻译说明: 本页是与 英文源规格 一一对应的机器辅助翻译。代码、协议字段和标识符保持原文;如翻译与英文源事实有歧义,以英文版本为准。

1. 设置根目录(Codex 全页 shell) ​

设置是一个全窗口页面,取代了应用程序侧边栏+主镶边(Codex 电子行为):

  • 左侧设置导航宽 275px,与主侧栏共享 sidebar-surface 材质:macOS 使用原生 vibrancy 加相同 tint/sheen,Windows/Linux 使用不透明 --ds-bg-sidebar,并共享可选背景图。 macOS 下设置外壳透明,右侧内容区与顶部条仍不透明。只有内容区内部的入场包装播放路由入场(仅透明度,不位移), 滚动容器、导航背景本身不淡入、不位移。设置弹框和抽屉挂到文档根上的 #pi-desktop-overlays,遮罩覆盖整窗含导轨。
  • 返回应用直接恢复原来的侧栏折叠/展开状态,不播放入场动画或从零宽度展开。 可见主界面中的真实开关和自动折叠/恢复仍播放动画;首次显示和路由恢复不触发。
  • 导轨顶部:交通灯区域和**搜索设置...**药丸
  • 返回应用程序(返回应用)固定在导轨底部而不是顶部:保留箭头+文字形式,作为 32px 控件与主外壳侧边栏底部图标行(设置/插件/通知)处于同一条水平带上, 因此全页接管打开或关闭时该操作不会上下跳动。窗口过矮时其上方的目录滚动, 固定底部的操作因此不会遮住任何一行
  • 横跨导轨和内容窗格的 46px 顶部带是一个原生窗口 拖动区域;交互式控件仍然明确不可拖动
  • 带有图标和简洁平行标签的紧凑导航目录,按以下顺序:
    1. 常规 — Lucide SlidersHorizontal(外观)
    2. AI — Lucide Sparkles(权限、默认项、命令 Shell)
    3. 快捷键 — Lucide Keyboard(键盘快捷键)
    4. 指令 — Lucide FileText(全局和项目指令文件)
    5. 模型 — Lucide Bot(提供商和默认模型)
    6. 技能 — Lucide BookOpen(可复用的智能体指令)
    7. MCP — Lucide Server(智能体连接)
    8. 子智能体 — Lucide Bot(内置与自建的并行工作智能体)
    9. 导入 — Lucide Download(从其他工具引入会话和模型配置)
    10. 项目 — Lucide Archive(持久项目索引)
    11. 远程主机 — Lucide Globe(SSH 引导与配对清单;仅开发者模式)
    12. 信息 — Lucide Info(版本、日志、更新、开发人员) 图标具有装饰性(通过 SVG 默认设置为 aria-hidden)并保持单色 带有导轨标签;不要在此处重复使用 refresh/rotate 字形。
  • 目录仍是保持相同顺序的可搜索扁平列表。为便于扫描,目的地分为四个带标题 的视觉分组:“偏好”(常规、AI、快捷键)、“智能体”(指令、模型、技能、 MCP、子智能体)、“工作区”(导入、项目)和“系统”(远程主机、信息)。标题使用柔和 的非交互文字,分组之间只使用留白,不绘制分割线;搜索过滤后,空分组及其 标题一并隐藏。
  • 远程主机是仅开发者可用的实验性目的地:其导轨行、页面和设置搜索命中仅在 AppSettings.developerMode 为 true 时存在。开发者模式关闭时该行是缺失而不是 禁用,设置搜索不会返回它的命中,导轨位置停在该项时会回落到常规。该行和页面标题 都带有实验性徽章(settings.remoteHosts.experimental)
  • 不显示其他设置目的地或占位符导航行
  • 主表面上的主要内容窗格,带有大部分标题+升高 圆形的行卡。其内容使用后可用的完整宽度 固定导轨和窗格排水沟,并随着窗口不断调整大小。

2. 章节内容 ​

常规 ​

  • 外观卡:
    • 主题:可搜索的选择行(与语言相同的锚定菜单)。关闭时的触发器按当前文案收缩,不超过设置控件列,并显示当前名称。菜单把系统、浅色、深色钉在顶部,插件主题在分隔线之后列出,并带「由…提供」提示。搜索匹配名称、描述、id 和插件 id。选择更新 settings.theme。
    • 语言:可搜索的选择行(不是卡片网格)。关闭时的触发器按当前文案收缩,不超过设置控件列,显示当前语言的本地名称,或「跟随系统」。菜单把「跟随系统」钉在顶部并内嵌显示检测到的语言(例如「当前:简体中文」),然后按本地名称(永不翻译的 endonym)和英文名称列出每个已发布语言,供搜索和排序。选择更新 settings.language。新增语言只需加一份目录和一行注册表;选择器不硬编码选项列表。
    • 字体:可搜索的选择行(触发器以该字体的字样显示当前字体) 提供「跟随系统」以及由 Electron 主进程枚举的系统已安装字体; 应用不再自带任何字体(ADR 0298),因此没有内置分组、也没有许可证角标, 此前保存的指向已移除字体的字体栈仍显示在「已保存」分组; 选择结果持久化为 AppSettings.fontFamily, 无需重载即可应用到全局界面字体栈(--font-sans); 每个字体栈以纯系统 CJK 回退层收尾(PingFang SC、Hiragino Sans GB、 Microsoft YaHei、sans-serif)
    • 字体大小:星巴克式杯型档位(中杯 / 大杯 / 超大杯 / 超超大杯)加上百分比滑杆(80%–150%)。杯型标签单行显示、不换行。 选择持久化为 AppSettings.fontScale(1 = 产品字号阶;缺失表示 1)。 渲染器在根元素设置 --font-scale,全部 --text-* 阶和共享 Lucide 图标 按比例缩放,无需重载。窗口放大/缩小/重置仍独立。界面不出现 px 输入 (D343 / ADR 0180)
    • 自动语言检测通过主进程解析操作系统区域设置 (app.getLocale()) 而不是渲染器的 navigator.language,并且 「跟随系统」选项内嵌显示检测到的语言(例如“当前:简体中文”)
    • 本机选择触发器及其打开的选项列表使用活动主题的 macOS、Windows 和 Linux 上的可读 foreground/background 配对;的 共享的本机选择契约适用于每个应用程序表面
  • 网络卡:
    • 代理:分段控件 — 系统 / 直连 / 自定义。默认是系统(Chromium 跟随操作系统代理)。直连禁用代理。自定义将一个 HTTP、HTTPS 或 SOCKS5 URL 应用到应用自有出站请求(模型调用、扩展市场、更新、模型目录、插件 net.fetch、内置浏览器)。工作区 Bash 和 OAuth 用的系统浏览器不会被改写。
    • 自定义显示代理 URL(含 user:pass@)、默认 localhost,127.0.0.1,::1,<local>,10.0.0.0/8,172.16.0.0/12,192.168.0.0/16,169.254.0.0/16 的绕过列表(本机、本地模型与所有局域网服务直连,不被代理吞掉),以及一次走该代理的测试。带认证的 URL 通过回环 SOCKS5 中继交给 Chromium(issue #490)。选择持久化为可选 AppSettings.networkProxy。无协议/存储版本升级(D340 / ADR 0177)。
    • 网络宽松模式:一个开关,持久化为 AppSettings.networkPolicy.mode(relaxed | strict),默认开启。开启时,你自己填写的端点(模型服务、MCP 服务器、市场源、git 远端)可以是回环或局域网地址、可以使用明文 http,并容忍透明代理的 fake-IP 答案;关闭则回到"只允许公网 https"。首次用明文访问这类端点时会弹一次告知。它取代的三个旧确认开关(networkProxy.allowFakeIp、configSync.allowInsecureHttp、以及自填明文开关)都已删除(ADR 0304)。
  • 平台支持的关闭行为仍保留在常规中,因为它改变的是 应用程序窗口行为,而不是智能体行为。
  • 文件打开目标、菜单栏行为和底部面板行为不是 渲染直到其主机支持的设置模式和运行时效果存在。

全局 AI(ai 选项卡) ​

  • 权限卡:全局权限模式控制 (询问/接受编辑/自动)控制代理如何自主行动。该控件是共享锚定菜单表面上的 菜单选择器,而不是由平台绘制的 <select> 弹层,因此设置里的每个选择器 都以相同方式展开。关闭时的触发器按当前文案收缩,不超过设置控件列。
  • 默认项卡:主机支持的默认运行模式(Agent / Plan / Goal)、 命令 Shell 选择、链接打开目标、上下文用量显示(剩余或已用)、 思考显示模式、回车发送控制、无尽重试开关和大段文本粘贴阈值。无尽重试默认关闭;开启后网络/临时提供商故障会持续到成功, 但停止按钮仍可取消回合,开启期间可能持续消耗 API 用量。链接打开目标默认使用工作面板浏览器, 可将对话、会话记录和插件页的 HTTP(S) 点击路由到系统浏览器。插件/设置页 若目标是工作面板,会先回到对话再打开(不记入导航栈),避免被遮罩挡住;没有会话时才回退到 系统浏览器。工作区 HTML 预览、BrowserPreview、OAuth 和问题反馈仍走原有目标。上下文用量显示控制输入框 工具栏上下文环及其弹层是以剩余容量还是已用容量为引导数值;默认为剩余。 该阈值决定纯文本粘贴何时转为会话临时文件,默认值为 600 个字符, 接受 1 至 1,000,000 的整数。
  • 提示词增强卡控制输入框的「增强提示词」操作(ADR 0121)。卡片上有「使用自定义提示词」 开关,以及子智能体行所用的设置图标按钮,点击后打开编辑弹窗(沿用子智能体编辑器的 模式)。开关决定已存模板是否生效,在尚未保存模板时禁用,保存模板后自动打开;关闭 开关会保留已存文本。弹窗内含用户模板编辑器;未保存覆盖值时显示内置默认文本,并提供 插入草稿变量的操作。会让模板缺少该变量的保存会被拒绝。系统提示词为内置,不提供任何 输入项。同一张卡还有「默认模型」行,使用与「模型」页「默认项」卡片相同行的锚定可搜索菜单;为空表示 「跟随输入框当前模型」。因此会有两行都题为「默认模型」,靠各自卡片标题区分(提示词增强 vs 模型默认项)。思考 强度行是一个菜单选择器,列出所选模型实际支持的等级(不支持时该行仍显示「关闭思考」并禁用),默认「关闭 思考」,且不提供「跟随会话」项。设置搜索会索引该卡、其开关、模板行、默认模型行与思考强度行。
  • 思考显示模式使用菜单选择器,提供详细(默认)和紧凑。两种模式都使用一个 整体过程披露。详细模式默认展开过程、显示推理、展开活动中的多项活动组,并在用户 未操作时于组完成后将其收起;紧凑模式默认收起过程与活动组,保持工具/搜索载荷 关闭,只显示活动思考指示器并隐藏已完成推理。单项活动在两种模式下都直接使用自身 披露。全局偏好以 thinkingDisplayMode 持久化到宿主设置;缺失值使用详细模式。 它只影响展示,不改变模型推理配置;显式披露选择在已挂载的会话窗格内保留。设置 搜索会索引该行和两种模式名称。
  • 语音绑定(AppSettings.speech)不属于设置页面(ADR 0291)。宿主仍保留语音能力与 speech/* IPC,供插件和已存绑定使用;这里不再提供转写/朗读的服务、协议、模型或音色 选择,设置搜索也不再索引语音相关键。
  • 默认项卡中的命令 Shell行:主机发现的本机 PowerShell 5.1、PowerShell 7、 cmd、Git Bash 和 ID 为 windows-powershell、windows-pwsh、cmd、git-bash 的 Bash 和 bash(如果支持)。选定的 defaultCommandShell 持续存在 重新启动;写入拒绝不可用或错误的平台 ID。如果一个坚持 选择稍后变得不可用,使用第一个可用的平台 shell 并显示回退状态。选定的 Shell 可用时,选择器就是唯一的配置状态提示; 只有默认、回退和没有实际可用 Shell 时才显示状态文案。Bash 回合验证其固定的 ID/dialect 后再执行。该行渲染与权限卡和外观选择器相同的菜单选择器。
  • 上下文管理无卡且无控件(D200 / ADR 0061,由 D203 / ADR 0064)。自动保护始终开启,其预算和 保留限制源自活动模型的窗口,因此有 用户不能从这里调整任何东西——参考实现不能 也暴露这些值。设置搜索索引没有压缩键。 手动 /compact 在空闲状态下仍然可以从命令面板中使用 会话;记录显示每次压缩发生的位置以及上下文 使用检查器显示是否安装了检查点。

Token 用量不是设置目的地(D335 / ADR 0173)。已完成回合历史仍由宿主 持久化(session.endTurn.usage、stats.getTokenUsageHistory)。面向用户的 仪表盘是市场插件 pi.token-insights,从命令面板打开(usage、用量)。 设置搜索不索引用量页。

快捷方式(shortcuts 选项卡) ​

  • 键盘快捷键卡:
    • 列出来自一个共享快捷方式地图的导航、代理和窗口操作
    • 渲染平台本机修饰符标签(⌘ 位于 macOS 上,Ctrl 位于 Windows/Linux) 和平台特定的全屏默认值
    • 单击绑定记录下一个修饰和弦或 F1–F12;Escape 取消录制
    • 每个绑定都可以明确设为“未绑定”;该状态仍可编辑,且不同于恢复默认值
    • 重复的应用程序绑定和 operating-system/editor-reserved 和弦 会以内联错误拒绝;未绑定的操作不参与冲突检查
    • 每个覆盖都可以独立恢复,并且所有覆盖都可以一起恢复;单项恢复时若默认组合 已被其他操作占用,则保留两项绑定并显示同样的冲突错误
    • 覆盖持续存在于可选的 AppSettings.keybindings 中:缺少属性使用平台默认值, 合法字符串使用自定义绑定,null 表示明确禁用;macOS 本机菜单加速器和 渲染器拥有的快捷键从同一张映射更新
  • 插件启动器在 macOS 默认为 Option + Space,在 Windows/Linux 默认为 Alt + Space;本机全局注册遵循相同覆盖。未绑定时会同时关闭 Electron 注册、 Windows host hook 和聚焦窗口后备
    • 窗口可见性只有一行、一个开关键 Alt + Shift + W:把可见且在前台的窗口隐藏到 托盘,把已隐藏或已最小化的窗口调回来。它是唯一的窗口键 —— 已弃用的 Cmd/Ctrl + Shift + W 呼出组合键已移除 —— 并且避开 Cmd/Ctrl + W,因为 macOS 把它用于自己的关闭窗口命令;读取配置映射时,已存储的 closeWindow / summonWindow 覆盖项会并入它(D438、D439)

模型配置(agent 选项卡) ​

  • Studio Hero:提供商计数、就绪计数和当前默认 provider/model 摘要
  • 默认卡:默认提供商/模型选择器。全局运行模式、命令 Shell 和回车发送由全局 AI 目的地负责。
  • 厂商账户卡片(D237),位于默认值与提供商之间:
    • 卡片列出的是账户而非厂商:已登录的厂商各占一行,一个也没有时用一句 说明取代列表。运行时目录不提供任何 OAuth 厂商时整个分区隐藏
    • 卡片头部的“添加账户”打开尚未登录的厂商选择器 —— 与“添加 AI 服务” 同一形态,这样认识七家厂商的版本不会用七行来说明谁都没登录。所有已知 厂商都已登录时该操作禁用
    • 账户行显示厂商名称、访问由套餐支撑时的“订阅”徽标、“已连接”徽标与 账户标签
    • 选中厂商后打开单个对话框,渲染流程要求的任何形态 —— 已打开的浏览器加 可复制链接、设备码、单选,或文本输入 —— 并带一个取消操作,用于中止 本地回调服务器或轮询循环
    • “退出登录”移除凭据与就绪状态;该行离开列表,厂商回到选择器中
    • “编辑账户”打开的对话框带有账户标签,以及与 AI 服务对话框完全相同的双栏 模型选择器(D270):左侧是该账户已发现/有权使用的模型(列表标题旁可全选当前可见行,并可立刻获取列表),右侧是已选绑定, 每个模型在“高级”折叠区里可编辑别名、上下文窗口、输出上限、思考等级与附件能力; 行内以统一的紧凑格式显示模型 ID、来源、能力与上限(如 1.05M · 128K), 相邻窗口不会被舍入成同一个字符串; 展开区是紧凑表单:别名说明放在输入框 title 上,数字框去掉原生步进按钮,思考档铺满一行且默认档与标签同行,附件与委派勾选同一行。 上下文窗口字段会说明自己的来源:数值仍跟随 models.dev 发布上限时,输入框下方显示 一行淡色提示(settings.contextWindowCatalogHint);用户第一次改动(预设档位或 数字输入)即把该值固定为用户自己的值并移除提示。被用户固定的值不会被目录刷新 覆盖;目录没有该模型的记录时不显示提示。 因此两种凭据的模型选择完全一致。账户没有 API 密钥输入框,模型发现改由已保存 的 OAuth 登录解析。保存会更新该 OAuth 提供商行,并在该账户被选为默认时同步 全局默认模型
  • 提供商工作室:
    • OpenAI 兼容的添加提供程序对话框(从添加提供程序/空状态 CTA 打开)
    • 新建对话框先只显示服务。命名端点按厂商平铺(OpenAI、Anthropic、Google、OpenRouter、DeepSeek、通义千问、月之暗面、智谱、硅基流动、火山方舟、MiniMax、MiniMax (OpenAI)、小米、Kimi 编程等),不再分国际 / 国内。选中后显示服务 + API 密钥和主机摘要。自定义端点随后分三行显示服务、名称与接口地址、以及 API 密钥与接口格式,让字段在表单变化时保持稳定对齐;接口地址不附带解释性说明。获取模型失败时,空列表处显示精简分类错误,已有缓存列表时则在上方显示一行提示,不展示原始 HTTP/JSON 报错。名称(命名行)与可选自定义请求头放在高级设置中。对话框右上角提供明确的“高级设置”按钮,点击后打开独立紧凑弹框,主表单只保留端点和模型面板。弹框可直接添加包含 User-Agent 在内的常用请求头,可将与持久化相同的规范化请求头 JSON 复制到剪贴板(忽略空名称,后者覆盖前者),也支持导入直接请求头对象或 { "headers": { ... } } JSON;导入时按名称合并,不重复添加。列表最多显示五行,更多请求头在自身区域滚动;留空则使用适配器默认值。服务是可搜索锚定菜单(按显示名、厂商、主机过滤),不是原生下拉框。
    • 带有头像缩写、主机、默认模型、秘密状态的提供商卡, 和测试/make-default/删除操作
    • add/edit 对话框配置连接身份(名称、端点、API 样式、模型 ID 和密码); 窄窗口下对话框收缩进 overlay,聚焦输入框的 2px 强调环不被滚动容器裁切; 模型参数来自 pi-ai,此处不可编辑
    • 具有主要添加操作的空状态
    • API 键在保存后永远不会显示原始内容
    • 已登录的厂商行带账户徽标,其编辑对话框用该徽标替换 API 密钥字段 —— 这里没有东西可粘贴
  • 列表仍分两组:内置五个默认子智能体(explorer、code-reviewer、test-runner、 fixer、ui-designer)和 ~/.agents/subagents 下的用户文档。同名的已启用用户文档 会在 Task 目录中遮蔽对应的内置定义,内置行随之省略、只保留用户行;同名的已停用用户 文档会让该内置重新留在目录(以及内置列表)中,因为 Task 又用回随应用发布的定义。 内置行带来源角标、「复制为我的定义」(以该定义预填新建表单,并选中对应的模板芯片), 以及与用户行相同的启用开关(D202 意义上的应用本地状态,ADR 0270):关掉它写入的是 应用本地状态而不是文档,该行仍留在列表中并变暗,所以这个开关就是重新打开的入口; 下一次目录加载起不再提供给 Task。在文件夹中显示与删除仍然没有,因为内置不是文件。
  • 子智能体新建/编辑表单使用与 Composer 相同的已配置、可运行模型, 控件是可搜索、按提供商分组的锚定菜单(与服务选择器同一套选项菜单控件), 并提供“沿用会话模型”选项。原生下拉框无法承载该列表:一次安装可能配置数十个模型, 只有锚定浮层能在自身内部滚动并接受过滤。每个选项都来自已配置的提供商目录,表单不接受手填模型 ID; 当没有任何提供商提供可运行模型时,改为显示带操作按钮的空态(直接打开模型设置)。 内置项保留自己的内置行:可以开关,但永不编辑;模型选择器只用于新建和用户自有子智能体。 若已有 pin 不再配置,编辑时仍保留该选项,避免悄悄丢失。通用或重复的 厂商标识如果产生歧义,则依次使用唯一的提供商显示名和已存储的提供商 ID,保证不同提供商的 选项不会被合并。思考选择器提供沿用会话、不发送以及七个规范档位; 不发送持久化为 thinkingLevel: omit。 模型配置里已选中的思考档芯片在浅色和深色主题下都使用实心强调底和反色主文本。 新建表单在名称上方显示一行紧凑的模板名称 chips(探索者、代码审查员、测试执行者、 修复者、UI 设计师、空白开始):只显示名称,选中项的一句话说明出现在整行下方。带连字符的 id(code-reviewer、test-runner、ui-designer)必须走目录映射(presetReviewerName / presetTestRunnerName / presetUiDesignerName),不能靠首字母大写拼 key。模型、推理、输出上限和作用域 放在“高级”折叠区:新建时默认收起,编辑时默认展开。

权限模式选择器在 Composer 中仍然可用,而 会话位于 Agent、Plan 或 Goal 中。在 Plan 和 Goal 中,它控制 Bash 仅确认:询问并接受编辑提示,而自动可能会运行变异 无需确认的 Bash 命令。全局 AI 默认项卡必须描述两者 契约模式是意图边界,而不是严格的只读安全配置文件。

说明(instructions 选项卡) ​

  • 编辑每个 PI-Desktop Agent 会话使用的全局指令 Markdown。
  • 显示解析的指令文件路径并通过主机支持保存 指令 API;项目指令仍由活动项目管理 菜单并在全局层之后解决。

导入 ​

  • 通过页面自身的类型切换器之后每个类型一个工作台,扫描受支持的本地代理存储中的会话、模型配置、技能和 MCP 服务器。每个类型都保留各自的显式扫描:它们都不会自动运行,切换类型也绝不会启动扫描(D007 / D342)。
  • 会话:通过 SessionImportPanel 审核候选项。来源与项目路径分组行为见 08-组件规范 §18。 Group-by 控件与外观和权限选择器一样,是同一个应用内菜单选择器,而不是平台绘制的 <select>。
  • 模型配置:通过 ModelConfigImportPanel 审核提供商草稿 (08-组件规范 §18.5)。 这些配置里保存的 API 密钥会复制到宿主密钥库;订阅/OAuth 登录不复制。CC Switch(~/.cc-switch)作为独立来源扫描,因此可导入已保存的配置档案,而不只是当前生效的 live 文件。再次导入等价提供商(规范化 base URL、API 风格和相同凭据)时跳过;同一端点不同凭据的配置档案保持独立。若应用尚无默认模型,则本次新建的第一个提供商成为默认。
  • 技能和 MCP 服务器复用智能体能力扫描器及其来源标签。技能类型携带导入模式(复制或符号链接);MCP 类型写入 MCP 目的地所管理的同一个 MCP 列表。

项目档案 ​

  • 重用持久项目索引作为设置规模管理界面
  • 始终包含存档记录;归档行被分组,从不隐藏,所以 目的地仍然没有可见性切换
  • 支持项目搜索、添加、选中、激活、置顶、归档/恢复和关闭
  • 该目的地是一个工作台(D267),由 D455 修订为单列:精简行,检查器在选中行下方铺满宽度; 现进一步改为 iOS 意义上的内嵌分组索引:选中行就是它自己卡片的表头, 因此详情在该行下方展开,且不重复行上已有的信息。 一个工具栏领起页面,且默认不展开任何内容:与能力页面和导入目的地一样, 该目的地不带说明行,页面标题与控制之间没有整句文字。 它复用与智能体能力页面(D257)相同的构成、控件高度和行节奏, 不引入页面专属装饰。
    1. 工具栏 — 一行承载使用共享分段控件的“最近/名称”排序、 带清除可供性并在搜索时显示匹配计数的搜索字段,以及右对齐的 主要“添加项目”操作。该目的地不展示页面级总计:没有英雄区块、 装饰渐变、计数器横幅或内联计数器串。索引分组上的计数是唯一的总计, 因此同一个数字绝不会在两处重复出现
    2. 工作台 — 单列。始终可见的索引部分按“固定”、“所有项目”、 “已存档”呈现为非交互标题行,每条带有标签和行数。 每个部分都是包裹自身列表的带标签区域,标题行绝不会作为列表的非列表子项。 单击一行时其卡片在该行下方铺满宽度展开,该行的展开指示器随之转向下方。 空部分被省略;完全没有行时呈现安静空状态
  • 行的信息自左向右是身份、自右向左是细节:颜色字形、项目名和一个状态标签 (当前 / 已打开 / 已归档)、用于区分同名项目的缩短等宽路径, 然后是右对齐的会话计数与相对上次活动时间,最后是该行的展开指示器。 普通项目用文件夹字形,置顶项目用实心星标。行靠行间距分隔,从不使用分隔线。 单击一行打开其卡片并留在设置页,再次单击该行则收起卡片, 单击其他行则把打开的卡片移过去;索引初始即为收起状态。 展开指示器只在卡片展开时转向下方,不会把已收起的卡片说成展开。 双击或 Enter 激活项目并返回聊天
  • 选中行下方的卡片即详情面板,它不重复行上已有的信息 —— 不会有第二份名称、 路径或状态标签。它先是一个操作栏(新任务、项目不是当前工作区时的“打开”、 以及更多菜单),接着是只读的文件夹与分支信息、会话计数, 最后是会话列表本身。更多菜单将创建/编辑放在置顶、归档/恢复和关闭之上, 并在 Escape 或外部点击时关闭
  • 项目搜索还匹配会话标题。匹配的会话会使其所属项目留在索引中; 打开该项目后按最新活动列出匹配会话,以 8 条一批显示,而不是截断历史
  • 激活项目或项目会话返回聊天;归档和关闭仍使项目归档页保持打开

信息 ​

  • app/host/protocol版本+开放日志
  • 问题反馈行:一项操作在系统浏览器中打开 GitHub bug 表单。 Electron Main 拥有该 URL(pi-desktop/app/openFeedback),用主进程版本信息 预填应用版本、操作系统和环境,且从不接受渲染器提供的目标 (D313 / ADR 0157)
  • 使用当前交付状态和一项适用操作更新行: 检查更新、查看版本或重新启动以更新
  • 开发者卡:
    • 开发者模式关闭,除非可选持续存在 AppSettings.developerMode 值是 true
    • 开发者模式开关解锁“打开控制台”按钮,每个按钮上按 F12 平台、Windows/Linux 上的 Ctrl+Shift+I 以及 macOS 查看菜单开发人员 工具项,以及导轨上的远程主机目的地
    • 禁用开发者模式会关闭打开的控制台并禁用或删除 每个入口点;设置搜索索引卡、交换机和控制台 行动
  • 更新行始终显示发行说明操作。它打开一个模式 包含按最新顺序排列的完整发布的稳定变更日志, 本地化为产品语言并标记当前可用的 存在的版本
  • 当有更新可用、正在下载或已下载并附加主要更新时 本地化产品说明,更新行显示紧凑的“新增内容” 状态文本下的列表(与环境横幅相同的注释;D164)。的 当应用程序是最新的或更新时,完整历史模式仍然可用 检查在开发中被禁用

3. 导航规则 ​

  • 配置文件页脚/命令面板打开设置整页(默认常规)
  • Composer 模型菜单和提供程序设置操作深层链接到提供程序 Agent 内的卡
  • 插件管理仍然可以从独立的应用程序外壳中获得 插件目的地,包括加载、启用、禁用和卸载;是的 设置中不重复
  • 市场来源选择器位于 扩展 → 市场,与目录操作放在同一上下文中, 不再作为单独的设置目的地。
  • 项目档案由设置搜索索引,不会复制为主页 侧边栏目标或独立的全局搜索页面
  • 返回应用程序从导轨固定的底部操作返回聊天外壳
  • 仅开发者可用的目的地作为一个整体加入导轨、页面和设置搜索,也同样一起离开: 开发者模式关闭时导轨省略该行,设置搜索不返回它的命中,打开的远程主机页面会 返回到常规

4. 验收 ​

1.打开设置隐藏编码应用侧边栏(全页接管) 2. 导轨顶部显示搜索药丸,底部固定返回应用程序操作并与主侧边栏底部图标行同一条线, 并精确显示常规、AI、快捷键、指令、模型、技能、MCP、 子智能体、导入、项目和信息(开发者模式开启时,远程主机位于项目与信息之间), 并按偏好、智能体、工作区、系统分组。没有 用量设置目的地。 3.外观是常规的一部分,没有独立的导轨目的地 4. Providers 是 Agent 的一部分,没有独立的导轨目的地 5. 插件没有设置目的地; app-shell 插件页面支持 加载、启用、禁用和卸载 6. 常规仅显示主机支持的外观卡;人工智能 目的地显示权限和默认项(包括命令 Shell 行);快捷方式 目的地显示键盘快捷键卡;信息显示开发者卡。 不呈现其他设置目的地 7. 提供商机密从不显示原始密钥值 8.模型配置显示提供程序工作室(英雄+默认+添加对话框+卡片)而不是密集的始终在线表单转储 9.行描述使用语义辅助文本并保持至少4.5:1 与浅色和深色主题的卡片表面形成对比 10. 从“设置”两侧拖动空白顶部区域可移动本机 窗口,不会阻塞后退、搜索或导航控件 11. 调整窗口大小可扩展或收缩内容卡 可用内容窗格;固定导轨和窗格排水沟保持完好无损 页面没有水平溢出 12. 项目归档始终公开归档记录,并且可以在无需修复的情况下恢复它们 在应用程序 shell 中复制索引 13. 项目存档不呈现说明行 —— 没有英雄区块、横幅或页面级计数器串 —— 其下方是一个搜索+排序工具栏,以及带有 固定/所有项目/存档分组标题的单列工作台;每个分组的计数与其呈现的行数一致, 索引初始不展开任何内容,单击一行打开其卡片且不离开设置页, 排序对每个部分内的行重新排序而不隐藏任何内容, 清除搜索即可恢复完整索引 14.信息呈现禁用、检查、最新、可用、下载、 已下载,并且错误更新状态而不添加其他目标 15. 本机选择选项列表在浅色和深色主题中仍然可读, 包括 Chromium 将打开的列表表面委托给 Windows 时;的 相同的全局规则涵盖非设置本机选择 16.快捷录音拒绝无修饰符的非功能键,保留 editor/OS 和弦,以及冲突;成功覆盖立即驱动 应用程序行为和 macOS 菜单加速器并在重新启动后继续存在 17. 开发者工具默认不可用;启用开发者模式 解锁本地化设置操作和平台快捷方式,持续存在 重新启动后,禁用它会关闭打开的控制台 18. 上下文管理根本不公开任何设置;保护始终开启并且 其预算随着活动模型的上下文窗口而变化,因此不会持续存在 值可能会使小窗口模型无法压缩或防护被禁用 19. 默认操作模式选择器包含 Agent、Plan 和 Goal;遗产 聊天值迁移到 Plan 并且不会重新显示为可选选项 20. 命令 Shell 选择保留平台有效的目录 ID,仅在状态有额外信息时公开 默认、不可用、回退或无实际 Shell 文案,并且从不授权过时的 ID/dialect 21. 信息页提供「问题反馈」,打开已预填版本和操作系统的 GitHub bug 表单;设置搜索可索引该行 22. 技能页的市场视图浏览公网 HTTPS 目录、预览组装后的文档,并只通过 skills.create 安装;超限展开文档拒绝写入,来源角标跟随 sourceId;预览失败时面板给出可读原因与重试入口(安装按钮可以禁用,但不得无解释地禁用);来源被公网策略守卫拒绝时明确说明,而不是笼统报「不可达」

5. Chrome 指标常规 ​

外壳保留了 Codex 金铬,同时允许内容窗格使用 当前窗口宽度:

代币价值
导轨宽度〜275像素(--ds-settings-nav-width,由导轨与顶部带的内缩共用)
导航背景与主侧栏共享材质;浅色不透明回退为 #f3f3f3,macOS 使用原生毛玻璃
顶部带仅内容窗格,按导轨宽度内缩;导轨保留自己的表面
主动导航药丸更密集的 6px/10px 焊盘,~8px 半径,轨道上的灰色混合
章节标题28px / 560,第一条基线 ~y70
内容宽度栏杆和天沟后的完整可用窗格宽度
卡半径~14px 升高行程
切换32×20 拇指 16,中性重音(非绿色)
开放靶点药丸前导 VS Code 字形

本地优先 · 模型可替换 · 插件可扩展。 AIUO.NET