跳转至

GitHub

内置 GitHub 插件为 Control UI 添加公共仓库链接预览和只读阅读器。它与 GitHub Copilot 模型提供商 相互独立。

使用现有插件允许列表升级

之前位于核心中的 GitHub 预览现在属于捆绑的 github 插件。非空的 plugins.allow 列表仍然具有权威性:如果其中省略了 github,悬停卡片和阅读器都将不可用,并且链接会在外部打开。OpenClaw 在升级或 Doctor 修复期间不会向现有允许列表添加插件。

要恢复预览,请将 github 追加到现有的 plugins.allow 列表中,同时不要删除其中的其他条目,然后在 插件 中启用 GitHub。请保持 plugins.deny 和显式禁用条目与您的选择一致。当隐式允许列表排除阻止该功能时,Doctor 会解释此恢复操作。若要有意保持关闭并消除该提示,请设置 plugins.entries.github.enabled: false。

在聊天旁查看条目

该插件默认启用。连接到 Gateway 后,点击聊天中的公共 GitHub 议题、拉取请求或提交链接。阅读器会在对话旁边打开,并带有 GitHub 图标和 在 GitHub 上打开 链接。将鼠标悬停在议题或拉取请求链接上或聚焦该链接,即可查看其预览。登录、OAuth、个人资料、仓库以及其他通用 GitHub 页面仍保持为普通链接:原生条目预览和通用页面预览回退机制都不会获取它们。登录重定向查询参数中的 PR 或议题 URL 不会使登录链接可预览。

每个阅读器标签页都有自己独立的“后退”和“前进”历史记录。打开相同 URL 会选中其现有标签页。阅读器内部的链接会在当前标签页中导航;+ 按钮会启动另一个标签页。最多十个标签页保留在内存中。关闭页面会丢弃文档和历史记录。阅读器遵循会话面板的响应式布局;在手机上,它可以位于聊天下方,或随面板展开。

阅读器包含描述、讨论评论、已发布的内联 PR 审查评论(含文件和差异上下文)、提交评论以及可展开的文件差异。页眉会区分条目状态、作者、变更数量和 PR 分支。概览、检查、文件和讨论快捷方式可跳转到相关部分,而无需离开阅读器。

拉取请求会显示确切 head 提交的检查运行和提交状态。展开检查摘要以查看单个结果并打开其源日志。失败的检查默认展开。待定、失败、通过、跳过、空和不可用的结果保持区分;部分响应绝不意味着所有检查均已通过。这些结果描述的是 CI,而不是批准或合并就绪状态。使用 刷新 重新获取当前 PR 及其检查。

描述和回复中的 HTML 注释保持隐藏,与 GitHub 保持一致;代码中的字面注释示例仍可见。Markdown 图片和独立的 HTML 图片附件可以内联显示。GitHub 插件通过 Gateway 匿名获取公共用户附件,包括 GitHub 的附件重定向,因此它们不需要浏览器 CORS 头。请求不会发送任何 GitHub 凭据、cookie 或 referrer。解析器支持最大 2 MiB 的 PNG、JPEG、GIF 和 WebP 附件。如果解析失败,阅读器会保留原始匿名 CORS 图片路径;仍然无法加载的图片会保留全尺寸外部链接。每个已加载文档都会限制并发请求和缓存图片数据;关闭其标签页或替换文档会使该缓存失效。脚本和连接策略保持不变;远程内容无法运行脚本或应用小部件。

启用或禁用插件

在 Control UI 中打开 插件 以管理 GitHub 插件。对应的配置为:

{
  plugins: {
    entries: {
      github: { enabled: false },
    },
  },
}

通过正常的 Gateway 配置流程应用配置。能力更新会移除已禁用的阅读器,而不需要浏览器重新连接。禁用时,该插件不提供阅读器或悬停卡片,并且 GitHub 链接会在外部打开。

限制和不可用内容

  • 阅读器仅支持公共内容且为只读。对于私有仓库、发布评论或合并拉取请求,请使用 在 GitHub 上打开。
  • 预览和阅读器文档使用所选代理的受管 GitHub 身份;如果未选择受管身份,则使用已配置的 Control UI GitHub token 和 Gateway 环境回退。没有凭据时,它们使用 GitHub 的共享匿名 IP 配额。已认证的文档仍仅限公共内容:阅读器在返回新内容或缓存内容之前会检查仓库可见性和身份。身份变更会中止过期请求。附件图片仍保持匿名。
  • 每个评论集合限制为 20 条;PR 讨论和内联审查评论有单独的限制。最多显示 30 个已更改文件。
  • PR 检查最多各使用一页检查运行和提交状态,并显示最多 100 个结果。不完整或不可用的检查会保留指向 GitHub 的链接。
  • 长文本和补丁有边界。不完整的内容会被标记,而不是作为完整对话或差异呈现。
  • 刷新 会重新请求当前条目。速率限制、已删除条目和不可用服务会在阅读器和悬停卡片中显示其具体说明,包括 GitHub 的重试延迟(如果可用)。缓存的预览详情会与失败通知一起保持可见。使用阅读器的 重试 操作或 在 GitHub 上打开;服务器的 API 配额与您已登录的浏览器会话是分开的。

插件作者集成

GitHub 使用 Plugin SDK 中的通用停靠链接阅读器贡献。插件负责 URL 匹配、GitHub API 请求、缓存,以及将源数据映射到被动阅读器模型。Control UI 负责标签页、布局、安全渲染和键盘交互。

本页原文 Markdown:在 AtomGit 查看·内容源自开源项目 cl/openclaw