面板扩展

浏览已安装和在线扩展

  1. 在右侧面板标签栏中打开自定义右侧面板。
  2. 展开分隔线下方的扩展。
  3. 使用搜索扩展搜索已安装附加组件和官方在线目录组成的单一列表。悬停或聚焦条目查看元数据。

每次打开自定义弹出框时,折叠区域都默认关闭。已安装和在线条目按扩展 ID 合并;没有单独的管理窗口或已安装/在线模式。浏览目录元数据不会下载或执行作者的面板代码。目录维护于 CodeNomad Extensions;收录及声明的作者姓名并非签名或信任证明。

目录不可用时,已安装扩展和**从 ZIP 安装…**仍可使用。刷新可重试发现。折叠或关闭弹出框会放弃待处理检查/确认界面;不会静默安装任何内容。

检查并安装但不启用

  1. 在目录条目上选择安装…,或对另行获得的软件包选择从 ZIP 安装…。
  2. 检查软件包 ID、作者、仓库、版本、API/权限和 SHA-256 摘要。需要时展开技术详情。
  3. 验证发布者,并在可用时通过可信渠道比较摘要。
  4. 只有信任代码时,才选择我信任此软件包及其作者,然后选择安装但不启用。

检查会下载/重新验证所选软件包;不会执行作者代码。摘要标识精确字节,而非作者身份。目录软件包来自精确声明的 GitHub 发行版资源,而非任意 URL。手动软件包是仅包含 manifest.json 和自包含 panel.html 的 ZIP;无效或不受支持的软件包会被拒绝。

安装无需重启 OpenCode,且绝不自动授予激活权限。验证失败、冲突或存储操作失败不意味着允许以不同字节重试。新一次安装尝试前请重新检查软件包。

激活并了解范围

  1. 返回自定义右侧面板中扩展折叠区域上方的附加组件行。已安装但禁用的组件仍在该列表中。
  2. 勾选复选框激活。取消同一复选框即可禁用。

该复选框是唯一激活控件:没有额外管理器开关或按窗口的可见性开关。激活作用于整个配置下的所有项目,而非按文件夹生效。远程连接时,它影响服务器已安装扩展存储,而非仅影响查看设备。

扩展存储是所选 CodeNomad 配置旁的 panel-extensions/。如果不同桌面数据配置文件使用同一配置目录,它们不会隔离扩展。反过来,打开不同配置也不代表获准运行安装在其他位置的附加组件。区别请参阅桌面窗口与数据。

启用的面板可在选中时挂载;隐藏可能清除其临时界面状态。禁用会撤销激活。自定义中的重置只恢复内置布局,不会启用、禁用或卸载扩展。

替换或移除

  1. 使用更换版本…,或检查同 ID 的另一个 ZIP,替换已安装软件包。
  2. 检查新摘要和权限,确认信任,然后安装但不启用。
  3. 只有决定信任替换版本后,才通过普通复选框重新激活。
  4. 卸载时,检查目标后使用移除…和确认移除。

每次替换都会撤销所有项目中的激活,即使权限列表未变。验证/冲突/存储失败会保留已安装软件包。扩展不会静默更新。移除会删除软件包及其激活设置,而非 OpenCode 会话或项目文件。出现不想要的代码时,先禁用;只重新安装已验证可信的软件包。

上下文、资源同意和沙箱限制

契约 激活允许的内容
API 1 / session.context 当前会话标识符(或无)、界面语言和外观。无对话文本或文件系统访问。
API 2 / session.assets.read 加上下文 显式审查过的权限,用于列出有界的当前会话工具结果图片/附件元数据,并读取受支持的嵌入字节。不提供通用对话、文件或 URL 访问。

资源访问跟随当前挂载的宿主/会话,而非作者选择的会话。本地/远程引用可能列为不可用;资源 API 不获取任意远程 URL 或打开本地文件。切换会话、断开连接或撤销同意会使旧访问失效。

作者代码在受限 iframe 中运行,而非可信应用渲染器。它无法获得原生/OpenCode 桥接、凭据访问、通用 RPC、表单、弹出窗口或下载;网络 API 和外部资源受限。扩展是界面附加组件,而非 OpenCode 插件。

沙箱不是进程/CPU 隔离,也不保证获批代码无害。恶意扩展可能干扰其渲染器。只安装可信作者的扩展,不提供秘密,行为异常时禁用/移除组件。