如何配置 Oh My Posh GitHub Copilot 段落认证并显示配额用量?
如何配置 Oh My Posh GitHub Copilot 段落认证并显示配额用量【免费下载链接】oh-my-poshThe most customisable and low-latency cross platform/shell prompt renderer项目地址: https://gitcode.com/GitHub_Trending/oh/oh-my-posh如果你想在 shell 提示符里直接看到 GitHub Copilot 的配额消耗——包括 premium interactions高级交互、inline completions行内补全和 chat聊天三项用量——就需要配置 Oh My Posh 的copilot段落。这个段落通过 GitHub 接口拉取你的 Copilot 用量统计因此有一个明确的前置条件必须先用内置的 OAuth 设备码流程完成 GitHub 认证认证通过后段落才能获取并展示配额数据。本文的适用对象是已经安装了 Oh My Posh 的任意 shell 用户目标是完成认证 配置段落 验证提示符显示配额这一条连续路径。第一步用设备码流程完成 GitHub 认证copilot段落要求先通过 GitHub 认证才能访问用量数据认证使用 Oh My Posh 内置的 OAuth device code flowoh-my-posh auth copilot执行后会发生以下事情终端显示一个设备码device code和验证 URL打开浏览器跳转到 GitHub 的授权页面提示你输入设备码成功后访问令牌access token被安全存储供后续自动使用。令牌保存在本机安全存储中之后每次段落渲染时会自动读取无需在配置文件里手动填写 token也不需要在配置中额外指定认证相关字段。如果认证过期或失败重新运行一次上面的命令即可。第二步在配置文件中添加 copilot 段落编辑你的config.omp.json将下面的段落加入segments数组示例来自官方文档可按需调整颜色和字体字形{ type: copilot, style: diamond, leading_diamond: \ue0b6, trailing_diamond: \ue0b4, foreground: #111111, background: #fee898, template: \uec1e {{ .Premium.Percent.Gauge }} , cache: { duration: 5m, strategy: session }, options: { http_timeout: 1000 } }各字段与当前任务相关的说明type: copilot指定段落类型是整个配置生效的前提template决定提示符里显示什么示例使用默认模板\uec1e {{ .Premium.Percent.Gauge }}即 Copilot 图标加 premium 配额的用量仪表条其中\uec1e等是字形码点属于文档示例的默认值你可以换成自己的模板表达式见下一节cache的duration: 5m表示用量数据最多 5 分钟刷新一次避免每次渲染提示符都请求接口options.http_timeout是段落发起 HTTP 请求的超时时间毫秒默认值为20示例中放宽到1000。自定义模板显示具体配额数字段落的模板可以使用以下数据属性引自 copilot 段落文档属性类型含义.PremiumCopilotUsagepremium interactions 用量数据.Premium.Usedint已使用的 premium 交互次数.Premium.Limitint可用的 premium 交互总次数.Premium.PercentPercentage已用配额百分比0-100.Premium.RemainingPercentage剩余配额百分比0-100.Premium.Unlimitedboolpremium 配额是否无限制.Inline.Used/.Inline.Limit/.Inline.Percent/.Inline.Remaining/.Inline.Unlimited同上inline completions 用量.Chat.Used/.Chat.Limit/.Chat.Percent/.Chat.Remaining/.Chat.Unlimited同上chat 用量.BillingCycleEndstring当前计费周期的结束日期Percentage类型除了数值外还提供三个方法方法返回说明.Gauge()string显示剩余容量的 5 格仪表条如▰▰▰▰▱.GaugeUsed()string显示已用容量的 5 格仪表条如▰▱▱▱▱.String()string数值百分比如75文档给出的仪表条可视化示例表示剩余容量0% 已用100% 剩余▰▰▰▰▰20% 已用80% 剩余▰▰▰▰▱40% 已用60% 剩余▰▰▰▱▱60% 已用40% 剩余▰▰▱▱▱80% 已用20% 剩余▰▱▱▱▱100% 已用0% 剩余▱▱▱▱▱如果想在仪表条之外同时显示具体数字可以用文档中的示例模板template: {{ .Premium.Percent.Gauge() }} {{ .Premium.Used }}/{{ .Premium.Limit }}或者用.GaugeUsed()显示已用方向的仪表条template: {{ .Premium.Percent.GaugeUsed() }} {{ .Premium.Used }}/{{ .Premium.Limit }}验证配置是否生效保存配置后回到 shell观察提示符配置正确且认证有效时copilot段落会显示上面对应的仪表条或你自定义的模板输出用量数据按cache设定定期刷新如果提示符里看不到这个段落最常见的原因是尚未认证。段落实现中在未找到令牌时会直接跳过渲染错误信息为no access token available, use oh-my-posh auth copilot to authenticate见 src/segments/copilot.go此时重新执行oh-my-posh auth copilot完成认证即可。两点限制需要注意认证和配额请求都依赖 GitHub 网络接口接口不可达或响应中没有配额数据时段落不会显示http_timeout默认只有20毫秒如果网络延迟较高而段落长时间不显示可按示例把该值调大。完成认证与段落配置后提示符即可持续展示当前计费周期内的 Copilot 配额用量如需查看完整的属性与模板写法可参考 GitHub Copilot 段落文档 和 模板文档。【免费下载链接】oh-my-poshThe most customisable and low-latency cross platform/shell prompt renderer项目地址: https://gitcode.com/GitHub_Trending/oh/oh-my-posh创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考