Skip to content
| Marketplace
Sign in
Visual Studio Code>AI>君の星辰 AI · 模型提供程序New to Visual Studio Code? Get it now.
君の星辰 AI · 模型提供程序

君の星辰 AI · 模型提供程序

Vinvi

|
2 installs
| (0) | Free
把「君の星辰」中转站(ai.centos.hk,OpenAI 兼容网关)的数百个模型接入 VS Code Copilot Chat,支持 Agent 模式工具调用、图片输入与流式输出。
Installation
Launch VS Code Quick Open (Ctrl+P), paste the following command, and press enter.
Copied to clipboard
More Info

君の星辰 AI · 模型提供程序

把 君の星辰 中转站(OpenAI 兼容网关)的数百个模型接入 VS Code 的 Copilot Chat, 让它出现在模型选择器里,并且可以像 GPT‑4o / Claude 那样用于 Ask / Edit / Agent 模式。

本扩展通过 VS Code 官方稳定 API vscode.lm.registerLanguageModelChatProvider

  • contributes.languageModelChatProviders 实现,不是"外挂",无需改动 Copilot 本身。

功能

能力 说明
模型选择器集成 在 Copilot Chat 的模型下拉里出现"君の星辰"分组
按分组过滤模型 只列出你指定的计费分组下的模型(选择器与看板口径一致)
Agent 模式 支持 OpenAI 风格 function calling,可用内置工具(读写文件、跑终端等)
MCP 工具 MCP 工具名会自动转义以符合 OpenAI 的[a-zA-Z0-9_-]{1,64} 约束,并在返回时还原
流式输出 手写 SSE 解析,逐字上屏;服务端忽略stream 时自动降级为非流式
断线续写 流被中途掍断时,自动把已输出内容回填并让模型接着写
上下文自动裁剪 历史超出模型上下文时丢弃较早部分,保证工具调用与结果成对删除
参数自动降级 服务端因max_tokens 等参数报 400 时,自动去掉该参数重试
双接口 /v1/chat/completions 与 /v1/responses(Codex 专用)自动切换
代理 HTTP CONNECT +SOCKS5;自动探测系统代理 / 环境变量 / VS Code http.proxy
图片输入 粘贴/拖入图片时按image_url 的 data URL 上传(需模型支持)
思维链 DeepSeek / GLM / Kimi 等返回的reasoning_content 可选择性显示
模型管理 可视化控制显示/隐藏、重命名、上下文长度与工具/图片能力
多账号 同时配置多枚密钥(不同分组/线路),模型合并展示、按模型自动路由
余额与价格 状态栏实时显示余额,悬停弹出看板(余额、会话消耗、可用分组、模型单价、用量预测)
用量预测 每小时采样「累计已用」,估算剩余额度还能用几天(最小单位为天)
用量统计 记录请求次数与 token(stream_options.include_usage,不支持时自动降级)
模型自动发现 启动时调用/v1/models 拉取账号可用模型,并缓存 6 小时
429 / 5xx 重试 GET 请求带指数退避重试

快速开始

  1. 安装依赖并编译:

    npm install
    npm run compile
    
  2. 打包成 .vsix 并安装:

    npm run package
    code --install-extension xingchen-ai-copilot-0.3.6.vsix
    

    或者直接在 VS Code 里按 F5 启动「扩展开发宿主」调试。

  3. 配置 API 密钥:

    • 命令面板(Ctrl+Shift+P)运行 君の星辰: 设置 API 密钥,粘贴 sk- 开头的密钥;
    • 也可以点右下角状态栏的 君の星辰 打开管理面板。
  4. 打开 Copilot Chat,在模型下拉里选择 君の星辰 → 某个模型,开始对话或切到 Agent 模式。

自测

npm test          # 离线,不需要网络与密钥
  • tools/selftest.js(18 项):用本地模拟的 New API 网关验证客户端——SSE 跨包分片、工具调用增量、 流中错误、非流式降级、401/400 映射、503 重试、取消、HTTP 代理回退、SOCKS5 握手与转发、 用量预测的线性外推与边界。
  • tools/wiretest.js(28 项):验证协议层——消息转换(工具调用/图片)、上下文裁剪、 工具名转义与还原、工具名分片累积、Responses 事件解析、请求体构造、 billing_expr 解析(分档 / 时段两种形状)、定价换算、金额格式化。

真机联调(需要密钥):

命令 作用
npm run test:live 端到端打真网关:模型列表 / 流式对话 / 工具调用 / 工具结果回传 / 计费 / 定价 //v1/responses
npm run test:group 验证分组过滤:直接 newXingchenProvider,打印选择器与面板实际会收到的模型,并做三项校验
npm run test:price 验证实际单价链路:请求 → 结算 → 持久化
npm run inspect 打印/v1/models、/api/user/groups、/api/pricing、/api/status
npm run pricecard 按当前分组算出各模型四项价格,用于跟站点「模型广场」对账

联网脚本需要 XC_KEY(必需)与 XC_PROXY(本机必须走代理)。 全部脚本的详细说明见 tools/README.md(不随插件发布,仓库里有)。

设置项

设置 默认值 说明
xingchen.baseUrl https://ai.centos.hk/v1 API 地址;也可用https://api.centos.hk/v1(EO 加速)、https://frapi.centos.hk/v1(三网优化)
xingchen.modelListMode auto auto 从服务器拉取;preset 只用内置清单
xingchen.excludeModels 一串通配符 从选择器中隐藏生图/视频/语音模型
xingchen.models [] 覆盖/追加模型元数据(上下文长度、是否支持工具等)
xingchen.overrideMaxOutputTokens 8192 实际请求发送的最大输出 token(0 = 不发送,由服务端决定)
xingchen.maxTokensParam max_tokens 可改为max_completion_tokens(部分新模型要求)
xingchen.temperature / xingchen.topP -1 -1 表示不发送
xingchen.reasoningMode ignore 设为text 可把思维链当普通文本输出
xingchen.extraBody {} 合并进请求体的额外字段
xingchen.extraHeaders {} 附加 HTTP 头
xingchen.connectTimeoutMs / xingchen.idleTimeoutMs 10000 / 300000 建连超时(TCP/TLS 握手) / 连上之后的静默容忍(等响应头与流空闲,站点上游 prefill 常要 7~50 秒)
xingchen.proxy 自动 HTTP/SOCKS5 代理,例如socks5://127.0.0.1:7897;留空自动探测,填 none 关闭
xingchen.proxyProtocol auto 隧道协议:按地址判断 / 强制http / 强制 socks5
xingchen.apiStyle auto 接口风格:chat / responses,auto 失败会自动回退
xingchen.group 空 计费分组名。填了以后:① 用该分组的倍率换算准确单价;②把模型列表限定在这个分组内(选择器与看板都生效)。可用「选择计费分组」命令从站点定价表里选
xingchen.autoTrimContext true 超出上下文时自动裁剪较早历史
xingchen.resumeOnInterruption true 流式输出断开时自动续写
xingchen.autoDegradeOnParamError true 参数被拒时自动去掉重试
xingchen.statusBar true 状态栏显示入口与余额
xingchen.balanceRefreshMinutes 3 余额与模型的自动刷新间隔(分钟)
xingchen.currencySymbol ¥ 金额货币符号
xingchen.noProxy 自动 不走代理的主机,逗号分隔
xingchen.rejectUnauthorized true 是否校验 TLS 证书
xingchen.maxRetries 2 GET 请求重试次数
xingchen.debug false 输出详细日志(含请求体,可能包含代码内容)

命令

命令 说明
君の星辰: 管理面板 所有操作的入口(也能点状态栏图标,或Ctrl+Alt+X)
君の星辰: 设置 API 密钥 / 清除 密钥保存在 VS Code 的 SecretStorage 中,不写入 settings.json
君の星辰: 管理账号(多密钥) 增删改账号,含导出 / 导入配置(跨电脑迁移)
君の星辰: 导出账号配置(迁移到其它电脑) 把账号与密钥打包成一段文本,可复制或存文件
君の星辰: 导入账号配置(从其它电脑迁移) 粘贴或读取导出文本,恢复账号与密钥
君の星辰: 测试连接 计时并验证密钥,返回模型数量、线路与使用的代理(Ctrl+Alt+T)
君の星辰: 切换线路 主线路 / EO 加速 / 三网优化 / 自定义
君の星辰: 代理与线路测速 实测直连 / HTTP 代理 / SOCKS5 的耗时,可一键应用最快方案
君の星辰: 刷新模型列表 立即重新拉取/v1/models
君の星辰: 管理模型 可视化控制显示 / 隐藏 / 重命名 / 上下文长度 / 工具与图片能力
君の星辰: 查看模型清单 列出模型及四项单价(输入 / 补全 / 缓存读 / 缓存写),可直接搜价格
君の星辰: 查看用量统计 累计请求数与 token 消耗,可重置
君の星辰: 查看账户余额 调用 OpenAI 兼容计费接口
君の星辰: 刷新余额 立即刷新状态栏上的余额
君の星辰: 设置刷新频率 余额与模型的自动刷新间隔(1 / 2 / 3 / 5 / 10 / 15 / 30 / 60 分钟或自定义)
君の星辰: 选择计费分组 指定你的密钥所属分组;选定后模型列表也会跟着过滤
君の星辰: 打开官网 / 打开控制台 浏览器打开 ai.centos.hk 与站点控制台
君の星辰: 打开扩展设置 直接跳到本扩展的设置页
君の星辰: 显示日志 打开输出面板的输出通道「君の星辰 AI」
君の星辰: 复制诊断信息 把版本、线路、代理、密钥状态与最近错误一键复制到剪贴板

多账号(多密钥)

同一个账号分组能用的模型是固定的(例如 Codex/GPT 分组只有 5 个)。配置多枚属于不同分组的密钥,就能在模型选择器里同时看到所有分组的模型。

用命令 君の星辰: 管理账号(或管理面板 →「管理账号」):

  • 添加账号:填名称 → 可选独立接口地址 → 粘贴密钥
  • 每个账号可以单独设置接口地址(留空则沿用全局 xingchen.baseUrl)
  • 支持重命名、停用/启用、删除、单独测试连接

行为说明:

  • 模型会合并展示;同名模型会自动加后缀 (账号名) 区分,并在 detail 里显示所属账号
  • 调用时按模型自动路由到对应账号的密钥与地址,无需手动切换
  • 各账号的余额会在悬停面板里分别列出(同一站点的多枚令牌只会显示一次)
  • 密钥存在 VS Code 的 SecretStorage 中,不会写进 settings.json;xingchen.accounts 只保存名称与地址
  • xingchen.accounts 为空时,自动使用单个默认账号(兼容升级前的配置)

在另一台电脑上使用同一份密钥

密钥是每台电脑各存一份的:VS Code 的 Settings Sync 只同步 settings.json,不同步 SecretStorage,这是微软刻意的设计。所以换电脑有两条路:

  1. 手输一次:在新电脑上执行「君の星辰: 设置 API 密钥」,粘同一串 sk- 即可(同一个密钥可以同时在多台电脑使用,扩展没有任何机器绑定)
  2. 配置搬家(多账号时更省事):
    • 旧电脑:「君の星辰: 导出账号配置」→ 设置口令(留空则不加密)→ 复制到剪贴板或存成 .txt
    • 新电脑:「君の星辰: 导入账号配置」→ 从剪贴板 / 文件读取 → 输口令 → 选「合并」或「覆盖」

导出格式:XCA1.<Base64>(未加密,谁拿到都能读出密钥)或 XCA1E.<密文>(口令加密,AES-256-GCM + scrypt)。加密强度取决于口令,请勿把未加密的文本发到公开场合。

「合并」会跳过已存在的密钥;「覆盖」会先删除本机现有账号与密钥,操作前有二次确认。

状态栏信息面板

状态栏右侧会实时显示当前余额(如 ✨ 君の星辰 ¥9.77),鼠标悬停会弹出看板:

### ✨ 君の星辰 🏠 官网 🎫 管理面板
────────────────────────────────────────
### 💰 剩余 ¥9.77 总额度 ¥10.00 累计已用 ¥0.22 更新于 07:31:07

🔄 立即刷新 ⏱️ 每 3 分钟

📅 按最近 12 小时的消耗速度,剩余额度还能用约 18 天 日均 ¥0.53
────────────────────────────────────────
#### 📊 本次会话 📈 用量详情
#### 🔑 账号(1/1) 👤 管理账号     ← 表格:账号 | 密钥 | 可用分组 | 模型
#### 🌐 连接 🔀 切换线路 ⚡ 测速
#### 🧠 可用模型(分组「codex测试」 ×0.08 · 5 个) 🔢 计费分组 🔃 重新拉取

要点:

  • 余额:剩余 = 总额度 − 累计已用。注意计费接口返回的 hard_limit_usd 是总额度而不是剩余
  • 刷新频率可配(xingchen.balanceRefreshMinutes,默认 3 分钟);每次对话结束后还会自动补一次
  • 用量预测:每小时采样一次「累计已用」,按 剩余 ÷ 日均 估算还能用几天(单位为天)
  • 可用分组:按「模型集」聚簇,每簇只列一个代表,同模型集的兄弟分组放在分隔条下方
  • 模型表:列为 模型 | 挂牌 | 实际 | 已用;实测过的模型用加粗显示余额差值实算的单价, 没实测过的用 ≈ 显示折算值

计费与价格

站点的价格体系比 new-api 文档写的复杂,以下是 2026-09 用真实请求逐条定标得到的结论 (定标脚本:tools/pricingcalib.js、tools/pricecard.js):

结论 说明
1 美元 = 1,000,000 quota 站点/api/status 声明的 quota_per_unit = 500000,但实测扣费恰好是它的一半,按文档算会整体偏大一倍
分层计费要用 billing_expr billing_mode = tiered_expr 的模型,卡片上那个「模型倍率 × 补全倍率」是装饰性的,真正计费用表达式(如 p*5 + c*30)。用错会差 7.5~15 倍
billing_expr 有两种形状 ①分档:len <= 272000 ? tier("standard", …) : tier("long_context", …);②时段:(tier("base", …)) * (hour(…) >= 22 \|\| hour(…) < 8 ? 0.5 : 1)
存在夜间折扣 形状②里的? 0.5 : 1 表示 22:00–08:00 打五折,面板显示的是白天基准价(跟站点卡片一致)
prompt 缓存很便宜 cr 系数通常是 c 的 1/10。重复发同样的长 prompt 时,「实际」会明显低于「挂牌」——这是正常的

单价换算(USD/1M = 系数 × 分组倍率):

  • 按量:输入 = model_ratio × group_ratio,输出 = × completion_ratio,缓存读 = × cache_ratio
  • 分层:从 billing_expr 的 p / c / cr / cc 系数取
  • 按次:model_price × group_ratio

拿站点「模型广场」的卡片对账:npm run pricecard(需要把 XC_GROUP 设成卡片上写的分组)。 实测 gpt-5.6-sol / deepseek-v4-flash-0731 / deepseek-v4.1-flash 三项全部逐位吻合。

常见问题

Q:模型选择器里看不到"君の星辰"? A:确认 Copilot Chat 已安装并登录;运行"测试连接"确认密钥可用;然后 Ctrl+Shift+P → Developer: Reload Window。

Q:提示「连接超时」,但浏览器/其他工具能访问 ai.centos.hk? A:先看提示里的那个毫秒数:

  • 等待 … 响应超时:连接是好的,只是站点的上游 prefill 太慢。真机实测 2 万 token 输入要 14~57 秒 (看模型心情),把 xingchen.idleTimeoutMs 调大(默认 5 分钟)或调小 xingchen.maxPromptTokens。
  • 连接 … 超时(10000ms):建连阶段就没过。Node 不会读取 Windows 的"系统代理",本扩展已内置自动探测 (环境变量 → VS Code http.proxy → Windows 系统代理注册表)。 若仍失败,手动指定:"xingchen.proxy": "http://127.0.0.1:7897"(换成你自己的代理端口); 反过来说,如果你的代理是 TUN / 系统路由模式(进程里看不到端口),请显式写 "xingchen.proxy": "none", 免得插件自己又建一层隧道。 国内直接连不上 ai.centos.hk 是常态,必须走代理(或 TUN 模式)。

Q:报 403 "无权访问"? A:君の星辰有「仅限 Codex / Claude Code 使用」的分组(如 gpt-pro)。这类分组不能走 /v1/chat/completions。 请换用通用分组(DeepSeek / Qwen / GLM / Kimi / MiniMax 等),或在 xingchen.extraHeaders 里尝试 {"originator": "codex_cli_rs"}。

Q:报 401? A:密钥失效或被禁用,重新在控制台复制令牌。

Q:上下文长度显示不准? A:元数据按模型名前缀推断。用 xingchen.models 精确指定:

{
  "xingchen.models": [
    { "id": "gpt-5.5", "maxInputTokens": 400000, "maxOutputTokens": 128000, "toolCalling": true }
  ]
}

Q:为什么不用 fetch? A:扩展里直接使用 Node 原生 http/https,规避 undici 在某些中转站上出现的 terminated: TypeError 连接被中断问题。

目录结构

src/
  extension.ts   激活入口,注册提供程序与命令
  provider.ts    LanguageModelChatProvider 实现(模型列表、分组过滤、余额与用量、纠错重试)
  wire.ts        协议层:消息转换、上下文裁剪、请求体构造、流式响应解析
  pricing.ts     站点定价解析(含 billing_expr 两种形状)与单价换算
  client.ts      HTTP/SSE 客户端(node:http/https,直连优先 + 自动回退代理)
  proxy.ts       HTTP CONNECT 与 SOCKS5 隧道、系统代理探测
  models.ts      模型元数据推断与内置清单
  config.ts      设置读取与规范化
  commands.ts    命令、悬停看板、模型与账号管理 UI、测速
  logger.ts      输出面板日志
images/
  icon.png       扩展图标(由 tools/make-icon.js 生成)
docs/
  账号表预览.html  看板 UI 的设计稿(不随插件发布)
tools/           全部自测与调试脚本(说明见 tools/README.md,不随插件发布)

第三方说明与数据流向

  • 本扩展是第三方项目,与 Microsoft、GitHub、GitHub Copilot 官方均无隶属或背书关系;"Copilot Chat" 仅用于说明所对接的 VS Code 功能。
  • 扩展本身不收集任何遥测数据。你在 Copilot Chat 中产生的对话内容、图片与工具调用结果,会经由你配置的 API 密钥发送到你所填写的服务地址(默认 https://ai.centos.hk)以获取模型回复。
  • API 密钥保存在 VS Code 的 SecretStorage 中,不会写入设置文件或日志。
  • 使用前请自行确认所填服务地址的隐私政策与合规性;不使用时可随时禁用或卸载本扩展。

许可

MIT

  • Contact us
  • Jobs
  • Privacy
  • Manage cookies
  • Terms of use
  • Trademarks
  • Your Privacy Choices
  • Consumer Health Privacy
© 2026 Microsoft