| FazBrowse GitHub Viewer | Trending | | Home |
| Tools: [Download Repo ZIP] [Original HTTPS Page] |
| Name | Name | Last commit date | ||
|---|---|---|---|---|
English | 中文
通过集成国内主流原生大模型提供商,为开发者提供更加丰富、更适合本土需求的 AI 编程助手选择。 目前已内置支持 智谱AI、MiniMax、MoonshotAI、DeepSeek、阿里云百炼、快手万擎、火山方舟、腾讯云、Xiaomi MiMo、百度千帆、阶跃星辰、蚂蚁百灵、讯飞星辰、LongCat 等原生大模型提供商。 此外,扩展插件已适配支持 OpenAI 与 Anthropic 的 API 接口兼容模型,支持自定义接入任何提供兼容接口的第三方云服务模型。
在VS Code扩展市场搜索 GCMP 并安装,或使用扩展标识符:vicanent.gcmp
VS Code 1.128+:启动时将自动检测 chat.utilityModel 与 chat.utilitySmallModel 是否已配置。若两者均未配置,会弹窗引导设置。使用非官方 Copilot 模型(BYOK/自定义提供商)时,缺少配置的辅助模型会触发 "No utility model is configured" 报错。
VS Code 在后台使用轻量级模型执行标题生成、提交信息创建、搜索、意图检测等实用任务;GCMP 的提交消息生成、视觉分析等功能也需要独立指定模型。若未手动配置,VS Code 会回退到 Copilot 内置模型,这会消耗月度额度(尤其是免费用户的有限配额);将这些任务指向 GCMP 提供的模型可节省 Copilot 额度给更重要的用途。
展开查看各参数详细说明💡 快速配置入口:悬停状态栏的 Token 消耗图标,在弹出的每日统计底部文本菜单点击「设置辅助工具模型」,即可打开可视化面板统一配置下列全部模型;也可通过命令面板执行 GCMP: 设置辅助工具模型。
推荐规格:utilitySmallModel 选择响应快的模型(如 deepseek-v4-flash),可配合 maxInputTokens: 16384 等低规格满足快捷任务即可。通用任务(标题生成、摘要等)使用 chat.utilityModel。
在 settings.json 中编辑时,将光标置于值位置,使用 VS Code 智能提示从已注册的模型中选择即可。若未配置这些设置,VS Code 会使用 Copilot 内置模型执行实用任务,这可能会消耗免费用户的 Copilot 月度额度。推荐配置为 GCMP 模型,可避免实用任务占用 Copilot 配额。
也可通过命令面板执行 GCMP: 设置辅助工具模型,在可视化面板中统一配置上述所有模型。
入口快捷方式:悬停状态栏的 Token 消耗图标,在弹出的每日统计底部文本菜单中点击「设置辅助工具模型」即可进入同一面板。
本扩展仅预置存在自有模型的一线大模型提供商(如具备模型自研能力的主流云厂商),第三方模型接入请使用「OpenAI / Anthropic Compatible」兼容模式。
蚂蚁集团开源的 MoE 架构大语言模型家族,采用 Anthropic 模式接入。
科大讯飞旗下大模型服务平台,采用 Anthropic SDK 模式接入,支持双套餐密钥管理。
LongCat API 开放平台的 Agentic 模型,采用 Anthropic SDK 模式接入。
以下提供商本身是开源或商业的 AI 编程 CLI 工具(类似 Claude Code),开放了 API 接口供第三方调用其聚合的模型能力。
⚠️ 风险警告:以下提供商通过模拟官方 CLI 工具的 OAuth 身份验证方式来实现对应的 API 访问,可能涉嫌滥用第三方服务条款,存在被官方检测封禁账号的风险。请仅在确保知情并自愿承担风险的前提下使用。
OpenAI 官方编程助手 Codex 的命令行工具,支持通过 codex CLI 进行身份验证(需要本地安装 codex CLI)。
npm install -g @openai/codex@latest{
"gcmp.providerOverrides": {
"codex": {
"proxy": "http://127.0.0.1:10808"
}
}
}xAI 官方 Grok Build 编程助手命令行工具,支持通过 grok CLI 进行 OAuth 身份验证(需要本地安装 Grok Build CLI)。
# macOS / Linux
curl -fsSL https://x.ai/cli/install.sh | bash
# Windows PowerShell
irm https://x.ai/cli/install.ps1 | iexGCMP 支持通过 VS Code 设置来自定义AI模型的行为参数,让您获得更个性化的AI助手体验。
展开查看高级配置说明📝 提示:settings.json 所有参数修改会立即生效。
{
"gcmp.retry.enabled": true, // 启用自动重试(默认 true),关闭后请求失败直接停止
"gcmp.retry.maxAttempts": 3 // 1-10,仅对可重试错误生效
}通过 gcmp.providerOverrides.{provider}.retry 可为每个提供商独立设置重试策略,覆盖全局 gcmp.retry.* 行为。maxAttempts 不受全局 1-10 上限约束,允许设置为任意正整数或 -1(无限重试)。
{
"gcmp.providerOverrides": {
"xfyun": {
"retry": {
"enabled": true,
"maxAttempts": 15, // 不受 1-10 上限约束
"maxDelayMs": 30000 // 最大延迟上限 30s
},
"retry.xfyun-coding": {
// 子 provider 独立策略(优先级更高)
"enabled": true,
"maxAttempts": 20,
"maxDelayMs": 60000
}
}
}
}合并优先级(字段级合并,每个字段独立回退):
providerOverrides["retry.{subProvider}"] → providerOverrides.retry → 内置预置 → 全局默认
特殊语义:
| 字段值 | 含义 |
|---|---|
| maxAttempts = -1 | 无限重试(仅由可重试错误判断决定退出) |
| maxAttempts = 0 | 禁止重试(override 路径,等价于 enabled: false) |
| preset.maxAttempts = 0 | 不会压低全局 maxAttempts;若需强制禁用应使用 override |
| enabled = false | 按 enabled 字段合并优先级生效 |
通过 gcmp.providerOverrides.{provider}.limit 可为每个提供商独立设置请求限流。支持四个维度,0 或缺省表示该维度不限;任一维度触顶即自主延迟(匀速 pacing)或排队等待。
| 字段 | 含义 |
|---|---|
| rpm | 每分钟请求数上限(匀速 pacing) |
| rps | 每秒请求数上限(匀速 pacing) |
| tpm | 每分钟 token 数上限(按输入估算,匀速 pacing) |
| parallel | 最大并发在途请求数,超限请求按 FIFO 排队等待槽位 |
{
"gcmp.providerOverrides": {
"dashscope": {
"limit": { "rpm": 60, "parallel": 3 },
// 子 provider 独立限流(优先级更高)
"limit.dashscope-coding": { "rpm": 30 },
"models": [
// 模型级限流:字段级覆盖 provider 级同名维度,并使用独立的 provider::model 限流桶
{ "id": "deepseek-v4-pro", "limit": { "tpm": 100000 } }
]
}
}
}合并优先级(与 retry 一致,字段级合并):
providerOverrides["limit.{subProvider}"] → providerOverrides.limit → 内置预置
跨实例行为:多个 VS Code 窗口共享 Leader 权威限流桶(窗口间自动选举),维度以 Leader 本机配置为准,配置修改即时生效;Leader 不可用时自动降级为单窗口本地桶并每 60 秒探测恢复,恢复后自动回到跨实例严格模式;窗口关闭或断线时,其排队请求与持有的配额会被自动回收,不会阻塞其他窗口。Remote(SSH/WSL 等)场景跨实例通道不可用,各窗口始终使用本地桶。
各功能专属设置(如 gcmp.commit.enabled、gcmp.vision.model、gcmp.zhipu.search.enableMCP)分别在其对应的功能章节中说明,不在此处展开。
{
"gcmp.debug.captureHar": false, // 是否将所有 HTTP 请求记录为 HAR 文件(默认关闭)
"gcmp.debug.harRetentionCount": 7 // 每个 VS Code 进程保留的最近 HAR 文件数量(0 表示仅禁用按数量清理,2 小时硬删除仍生效)
}{
"gcmp.proxy": "http://127.0.0.1:7890", // 全局代理(可选),推荐使用完整 URL
"gcmp.tls.useSystemCertificates": true // 追加系统根证书(默认开启)
}⚠️ 不支持 PAC (Proxy Auto-Config) 代理协议。若系统代理设为 PAC,扩展将忽略该配置,需要时请改为显式代理地址。
GCMP 支持通过 gcmp.providerOverrides 配置项来覆盖提供商的默认设置,包括 baseUrl、proxy、customHeader 等。
支持范围因提供商类型而异:
| 提供商类型 | 支持覆盖的字段 | models[] |
|---|---|---|
| 内置提供商(deepseek/zhipu 等) | baseUrl、customHeader、proxy、retry、models[] | ✅ 支持新增和覆盖模型 |
| 已知提供商(aihubmix/openrouter 等) | customHeader、proxy、retry | ❌ 不支持(走 gcmp.compatibleModels) |
| 自定义提供商(compatibleModels 中自定义 provider) | customHeader、proxy、retry | ❌ 不支持(走 gcmp.compatibleModels) |
| compatible 自身 | customHeader、proxy、retry | ❌ 不支持(走 gcmp.compatibleModels) |
已知/自定义/compatible 提供商不支持 models[],模型定义统一通过 gcmp.compatibleModels 配置。
配置优先级:
模型自身设置 > providerOverrides.{provider} > providerOverrides.compatible
配置示例:
{
"gcmp.providerOverrides": {
"dashscope": {
"proxy": "http://127.0.0.1:7890", // 可选:提供商级默认代理
"models": [
{
"id": "deepseek-v3.2", // 增加额外模型:不在提示可选选项,但允许自定义新增
"name": "Deepseek-V3.2 (阿里云百炼)",
"tooltip": "DeepSeek-V3.2是引入DeepSeek Sparse Attention(一种稀疏注意力机制)的正式版模型,也是DeepSeek推出的首个将思考融入工具使用的模型,同时支持思考模式与非思考模式的工具调用。",
// "sdkMode": "openai", // 阿里云百炼已默认继承提供商设置,其他提供商模型可按需设置
// "baseUrl": "https://dashscope.aliyuncs.com/compatible-mode/v1",
"maxInputTokens": 128000,
"maxOutputTokens": 16000,
"capabilities": {
"toolCalling": true,
"imageInput": false
}
}
]
},
"aihubmix": {
"proxy": "http://127.0.0.1:7890", // 已知或自定义提供商也支持代理覆盖
"customHeader": { "X-Custom": "value" },
"retry": {
// 提供商级重试覆盖
"enabled": true,
"maxAttempts": 5,
"maxDelayMs": 30000
}
},
"compatible": {
"proxy": "http://127.0.0.1:7890" // 全局默认代理,所有 Compatible Provider 模型生效
}
}
}GCMP 提供 Compatible Provider,用于支持任何 OpenAI 或 Anthropic 兼容的 API。通过 gcmp.compatibleModels 配置,您可以完全自定义模型参数,包括扩展请求参数。
聚合转发类型的提供商可提供内置特殊适配,不作为单一提供商提供。
若需要内置或特殊适配的请通过 Issue 提供相关信息。
已知提供商支持通过 gcmp.providerOverrides.{providerId} 覆盖 customHeader、proxy。
| 提供商ID | 提供商名称 | 提供商描述 | 余额查询 |
|---|---|---|---|
| aiping | AI Ping | 用户账户余额 | |
| aihubmix | AIHubMix | 可立享 10% 优惠 | ApiKey余额 |
| openrouter | OpenRouter | 用户账户余额 | |
| siliconflow | 硅基流动 | 用户账户余额 |
配置示例:
{
"gcmp.compatibleModels": [
{
"id": "glm-4.7",
"name": "GLM-4.7",
"provider": "zhipu",
"model": "glm-4.7",
"sdkMode": "openai",
"baseUrl": "https://open.bigmodel.cn/api/coding/paas/v4",
// "proxy": "http://127.0.0.1:7890", // 可选:仅对该模型生效,也用于“获取模型”探测请求
// "sdkMode": "anthropic",
// "baseUrl": "https://open.bigmodel.cn/api/anthropic",
"maxInputTokens": 128000,
"maxOutputTokens": 4096,
"capabilities": {
"toolCalling": true, // Agent模式下模型必须支持工具调用
"imageInput": false
},
// customHeader 和 extraBody 可按需设置
"customHeader": {
"X-Model-Specific": "value",
"X-Custom-Key": "${APIKEY}"
},
"extraBody": {
"temperature": 0.1,
"top_p": 0.9,
// "top_p": null, // 部分提供商不支持同时设置 temperature 和 top_p
"thinking": { "type": "disabled" }
}
// "webSearchTool": true, // 可选:启用联网搜索(仅 sdkMode=anthropic / openai-responses 生效)
// "nativeTools": [{ "type": "web_search" }] // 可选:注入原生工具(仅 sdkMode=openai-responses 生效)
// "cacheTtl": "1h" // 可选:Anthropic 提示缓存 TTL(仅 sdkMode=anthropic 生效),省略为默认 5m;1h 缓存写入约为基础输入价 2 倍
}
]
}提示:如果你使用 OpenAI Responses / 兼容转发,并且不想回传加密思考(reasoning.encrypted_content),可显式设置 extraBody.include 为 null 或 [];此时历史思维链会以明文 reasoning_text 通道回传,且 ThinkingPart 被剥离时会从 StatefulMarker 恢复。需要回传密文时请包含 reasoning.encrypted_content。
gcmp.compatibleModels[*].sdkMode 指定请求/流式解析方式,可选值:openai(默认)、openai-sse、openai-responses、anthropic。
sdkMode=anthropic 的模型可配置 gcmp.compatibleModels[*].cacheTtl:
注意:extraBody 中的顶层 cache_control 会被剥离并提示告警(它会与自动注入的 4 个块级断点叠加超限或混 TTL 报 400),请改用 cacheTtl。
对于 Compatible 自定义 provider,可在 gcmp.providerOverrides.{providerId} 下配置:
fields.balance 这类计算字段现在支持 sum / subtract / multiply / divide,paths 里既可以写 JSON 路径,也可以直接写常量数值(例如 500000),适合 Ticket / 500000 这类余额换算。
也就是说:
内置已知 provider 的 usage / usages 参考配置方式,可直接查看源码 src/utils/knownProviders.ts。
注意:gcmp.providerOverrides 的 provider key 必须与 gcmp.compatibleModels[*].provider 完全一致,包括大小写。
例如,下面这个更贴近实际 settings.json 的 NekoCode 相关配置片段表示:
{
"gcmp.compatibleModels": [
{
"id": "nekocode:gpt-5.5",
"name": "GPT-5.5 (NekoCode)",
"provider": "NekoCode",
"model": "gpt-5.5",
"sdkMode": "openai-responses",
"baseUrl": "https://api2.nekoapi.ai/v1",
"proxy": "noproxy",
"maxInputTokens": 272000,
"maxOutputTokens": 128000,
"capabilities": {
"toolCalling": true,
"imageInput": true
},
"reasoningDefault": "xhigh",
"reasoningEffort": ["none", "low", "medium", "high", "xhigh"],
"extraBody": {
"store": false,
"reasoning": {
"effort": "xhigh",
"summary": "auto"
}
},
"useInstructions": true,
"customHeader": {
"version": "0.134.0",
"user-agent": "codex-tui/0.134.0 (Windows 10.0.26200; x86_64) unknown (codex-tui; 0.134.0)",
"originator": "codex-tui"
}
}
],
"gcmp.providerOverrides": {
"NekoCode": {
"usage": {
"url": "https://api2.nekoapi.ai/v1/usage",
"fields": {
"balance": "balance"
}
},
"usages": {
"pay": {
"displayName": "余额",
"url": "https://api2.nekoapi.ai/v1/usage"
},
"sub": {
"displayName": "订阅",
"url": "https://api2.nekoapi.ai/v1/user/balance",
"fields": {
"balance": "remaining"
}
}
}
}
}
}该配置的实际效果是:
最终状态栏会按两个命名模式进行查询与展示:
展开查看详细配置说明使用前必读:需先在对话模型中配置并验证 ApiKey;在输出面板选择 GitHub Copilot Inline Completion via GCMP 可查看调试信息。接入的是通用大模型,未针对代码补全专门训练,效果可能不及 Copilot 原生 Tab 补全。
FIM 和 NES 补全都使用单独的模型配置,可以分别通过 gcmp.fimCompletion.modelConfig 和 gcmp.nesCompletion.modelConfig 进行设置。
代理配置:FIM 和 NES 支持通过 proxy 字段单独设置代理地址(如 http://127.0.0.1:7890),方便在不同网络环境下调试。支持带认证的代理,日志中会自动脱敏用户凭据。
{
"gcmp.fimCompletion.enabled": true, // 启用 FIM 补全功能
"gcmp.fimCompletion.debounceMs": 500, // 自动触发补全的防抖延迟
"gcmp.fimCompletion.timeoutMs": 5000, // FIM 补全的请求超时时间
"gcmp.fimCompletion.modelConfig": {
"provider": "deepseek", // 提供商ID,其他请先添加 OpenAI Compatible 自定义模型 provider 并设置 ApiKey
"baseUrl": "https://api.deepseek.com/beta", // ⚠️ DeepSeek FIM 必须使用 beta 端点才支持
// "baseUrl": "https://api.siliconflow.cn/v1", // 硅基流动(provider:`siliconflow`)
// "baseUrl": "https://dashscope.aliyuncs.com/compatible-mode/v1", // 阿里云百炼(provider:`dashscope`)
// "proxy": "http://127.0.0.1:7890", // 可选:单独设置代理地址
"model": "deepseek-chat",
"maxTokens": 100
// "extraBody": { "top_p": 0.9 }
}
}{
"gcmp.nesCompletion.enabled": true, // 启用 NES 补全功能
"gcmp.nesCompletion.debounceMs": 500, // 自动触发补全的防抖延迟
"gcmp.nesCompletion.timeoutMs": 10000, // NES 补全请求超时时间
"gcmp.nesCompletion.manualOnly": true, // 启用手动 `Alt+/` 快捷键触发代码补全提示
"gcmp.nesCompletion.modelConfig": {
"provider": "zhipu", // 提供商ID,其他请先添加 OpenAI Compatible 自定义模型 provider 并设置 ApiKey
"baseUrl": "https://open.bigmodel.cn/api/coding/paas/v4", // OpenAI Chat Completion Endpoint 的 BaseUrl 地址
// "proxy": "http://127.0.0.1:7890", // 可选:单独设置代理地址
"model": "glm-4.7", // 推荐使用性能较好的模型,留意日志输出是否包含 ``` markdown 代码符
"maxTokens": 200,
"extraBody": {
// GLM-4.7 默认启用思考,补全场景建议关闭思考以加快响应
"thinking": { "type": "disabled" }
}
}
}
- 自动触发 + manualOnly: false:根据光标位置智能选择提供者
- 光标在行尾 → 使用 FIM(适合补全当前行)
- 光标不在行尾 → 使用 NES(适合编辑代码中间部分)
- 如果使用 NES 提供无结果或补全无意义,则自动回退到 FIM
- 自动触发 + manualOnly: true:仅发起 FIM 请求(NES 需手动触发)
- 手动触发(按 Alt+/):直接调用 NES,不发起 FIM
- 模式切换(按 Shift+Alt+/):在自动/手动间切换(仅影响 NES)
{
"gcmp.compatibleModels": [
{
"id": "codestral-latest",
"name": "codestral-latest",
"provider": "mistral",
"baseUrl": "https://codestral.mistral.ai/v1",
"sdkMode": "openai",
"maxInputTokens": 32000,
"maxOutputTokens": 4096,
"capabilities": {
"toolCalling": true,
"imageInput": false
}
}
],
"gcmp.fimCompletion.enabled": true,
"gcmp.fimCompletion.debounceMs": 500,
"gcmp.fimCompletion.timeoutMs": 5000,
"gcmp.fimCompletion.modelConfig": {
"provider": "mistral",
"baseUrl": "https://codestral.mistral.ai/v1/fim",
// "proxy": "http://127.0.0.1:7890", // 可选:单独设置代理地址
"model": "codestral-latest",
"extraBody": { "code_annotations": null },
"maxTokens": 100
}
}FIM 与 NES 补全请求连续失败时,熔断器会暂时停止请求,避免无限重试浪费资源和费用。
三态模型:
| 状态 | 说明 |
|---|---|
| Closed | 正常通行,请求通过并累计失败次数 |
| Open | 熔断断开,拒绝所有请求,进入冷却倒计时 |
| HalfOpen | 冷却结束后允许一次探测请求,成功则恢复 Closed,失败则重新熔断 Open |
工作流程:
熔断通知:Open 状态首次触发时弹出通知提示(30 秒内不重复),支持「立即重试」恢复服务或「查看设置」跳转配置页。
配置项:
{
// FIM 熔断器配置(默认启用)
"gcmp.fimCompletion.circuitBreaker": {
"enabled": true, // 启用熔断
"failureThreshold": 10, // 默认 10,范围 2-60
"cooldownSeconds": 30 // 默认 30,范围 10-300
},
// NES 熔断器配置(默认启用)
"gcmp.nesCompletion.circuitBreaker": {
"enabled": true, // 启用熔断
"failureThreshold": 5, // 默认 5,范围 2-20
"cooldownSeconds": 30 // 默认 30,范围 10-300
}
}配置修改即时生效,无需重启 VS Code。
| 快捷键 | 操作说明 |
|---|---|
| Alt+/ | 手动触发补全建议(NES 模式) |
| Shift+Alt+/ | 切换 NES 手动触发模式 |
GCMP 提供上下文窗口占用比例状态栏显示功能,以饼图图标直观反映当前会话的上下文窗口占用比例。
展开主要特性说明GCMP 内置了完整的 Token 消耗统计功能,帮助您追踪和管理 AI 模型的使用情况。
展开查看详细功能说明{
"gcmp.usages.retentionDays": 100 // 历史数据保留天数(0表示永久保留)
}GCMP 支持在提交前自动读取当前仓库的改动(已暂存/未暂存/新文件),提取关键 diff 片段并结合相关历史提交与仓库整体提交风格(auto 模式下)来生成更贴合你项目习惯的提交信息。
为避免将无关噪音或潜在敏感内容发送给模型,Commit 消息生成功能会在分析 diff 前做一层过滤:
多仓库工作区:如果当前工作区包含多个 Git 仓库,GCMP 会尝试根据你点击的 SCM 区域推断仓库;无法推断时会弹出仓库选择。
该功能基于 VS Code Language Model API 调用模型。
{
"gcmp.commit.enabled": true, // 启用内置提交消息生成功能(默认 true,将在下个主版本移除)
"gcmp.commit.language": "chinese", // 生成语言:chinese / english(auto 模式语言不明确时的回退值)
"gcmp.commit.format": "auto", // 提交消息格式:auto(默认) / 见下方 format 说明
"gcmp.commit.customInstructions": "", // 自定义指令(仅当 format=custom 时生效)
"gcmp.commit.sensitiveFiles": ["*.pem", "**/.env.local", "secrets/**"], // 额外排除在 diff 分析之外的敏感文件路径模式
"gcmp.commit.model": {
"provider": "zhipu", // 生成模型的提供商(providerKey,例如 zhipu / minimax / compatible)
"model": "glm-4.7" // 生成模型的 ID(对应 VS Code Language Model 的 model.id)
}
}gcmp.commit.sensitiveFiles 用于补充内置敏感文件过滤规则。它接收一组简单的类 glob 字符串:
命中后,该文件不会参与 Commit diff 分析,也不会被发送给模型用于生成提交消息。
说明:以下示例仅用于展示格式形态;实际内容会根据你的 diff 自动生成。
auto:自动推断(会参考仓库历史的语言/风格;不明确时回退为 plain + gcmp.commit.language),默认推荐。
plain:简洁一句话,不含 type/scope/emoji(适合快速提交)。
custom:完全由你的自定义指令控制(gcmp.commit.customInstructions)。
conventional:Conventional Commits(可带 scope,常见写法是“标题 + 可选正文要点”)。
feat(commit): 新增提交消息生成
- 支持 staged / 未暂存分别生成
- 自动补充相关历史提交作为参考
feat(commit): 新增 SCM 入口
- 在仓库标题栏与更改分组栏增加入口
fix(commit): 修复多仓库选择
feat: 新增提交消息生成
- 自动识别本次变更的关键 diff
✨ 新增提交消息生成
✨ feat(commit): 新增提交消息生成
- 更贴合仓库既有提交习惯
Feat: 新增提交消息生成
- 支持按仓库风格自动选择语言与格式
:sparkles: 新增提交消息生成
GCMP 内置一组专用视觉分析工具,用于把图片/截图转换为可直接落地的开发产物、提取文字、诊断错误、理解技术图纸、分析数据可视化以及对比 UI 差异。所有视觉分析完全委托给原生支持多模态的 GCMP 模型,不依赖第三方 MCP 后端。
展开查看视觉分析工具详细说明| 工具引用 | 用途 |
|---|---|
| #gcmpUiToArtifact | 将 UI 截图转换为前端代码、AI 提示词、设计规范或自然语言描述 |
| #gcmpExtractTextFromScreenshot | 从截图中提取和识别文字(OCR),支持代码、终端输出、文档等 |
| #gcmpDiagnoseErrorScreenshot | 分析错误弹窗、堆栈和异常截图,定位根因并给出修复建议 |
| #gcmpUnderstandTechnicalDiagram | 分析架构图、流程图、UML、ER 图和系统设计图 |
| #gcmpAnalyzeDataVisualization | 从图表、图形和仪表盘中提取趋势、异常和可操作建议 |
| #gcmpUiDiffCheck | 对比预期/参考 UI 截图与实际实现截图,识别视觉差异和实现偏差 |
| #gcmpAnalyzeImage | 通用图像分析,适配未被专项工具覆盖的视觉内容 |
视觉工具通过 # 引用调用,例如 #gcmpUiToArtifact。调用时可直接粘贴图片、截图或引用图片文件路径,模型会基于图片内容生成对应产物或分析结果。所有工具共用同一个视觉分析模型配置。
视觉工具依赖 gcmp.vision.model 指定的多模态模型。首次调用视觉工具时若未配置,会自动拉起选择向导;也可手动运行命令 GCMP: 选择视觉分析模型,或通过 GCMP: 设置辅助工具模型 面板统一配置。
{
"gcmp.vision.model": {
"provider": "zhipu",
"model": "glm-4.6v"
}
}GCMP 提供统一的 API Key 管理面板,可按提供商/槽位维护多套配置(站点 + Key + 备注),并在多套配置之间随时切换。
通过 VS Code 命令面板执行 GCMP: API Key 管理。
GCMP 提供基于 GitHub Secret Gist 的 API Key 跨设备同步功能,支持在同一 GitHub 账号的不同设备之间同步 API 密钥,无需手动逐一配置。
打开「API Key 管理」面板(命令 GCMP: API Key 管理),在「Gist 同步」下拉菜单中选择 旧版密钥同步;或通过 VS Code 命令面板直接执行 GCMP: 管理/同步 API Key。
该旧版同步界面保留一个主版本供迁移,将于 0.28 移除;新数据请使用管理面板的 Gist 备份与恢复。
| 分组 | 操作 |
|---|---|
| 同步操作 | 上传到 Gist — 加密上传至 GitHub Gist / 从 Gist 下载 — 恢复到本地 |
| 密钥管理 | 管理本地密钥 — 查看和删除本地 API Key / 管理云端密钥 — 查看和删除 Gist 中的 API Key |
| 安全设置 | 设置/更改口令 / 清除口令 — 管理自定义加密口令 |
查看详细加密原理与安全说明上传 / 下载时支持按提供商选择并显示一致性状态(新增/更新/无需变更)。上传时新增和待更新的默认勾选;下载时与本地一致的项默认不勾选。部分上传不会覆盖远端未选中的密钥。
| 层级 | 说明 |
|---|---|
| 远端存储 | GitHub Secret Gist(私有 Gist),文件名为 gcmp-sync.json |
| 配置集备份 | API Key 管理面板的配置集备份使用独立 Gist 文件 gcmp-configsets.json(描述以 GCMP ConfigSets 开头),元数据明文、仅 apiKey 字段单独加密 |
| 加密算法 | AES-256-GCM(认证加密,保证机密性 + 完整性) |
| 密钥派生 | scrypt(N=16384, r=8, p=1),输入为 GitHub 用户 ID + 固定 pepper + 可选自定义口令 |
| 认证方式 | VS Code 内置 GitHub OAuth,通过 vscode.authentication API 获取 token |
| 认证复用 | 首次授权 gist scope;后续操作静默复用已授权 session |
GitHub 数字ID + pepper + [自定义口令] → scrypt(N=16384, r=8, p=1) → AES-256 密钥
↓
每个 API Key → 随机 Salt(32B) + 随机 IV(16B) → AES-256-GCM 加密 → Salt+IV+Tag+密文 → JSON
由于扩展是开源项目,加密方式(pepper、scrypt 参数等)均可在源码中直接查看。若希望把 Gist 同步数据视为真正的跨设备机密,必须设置自定义加密口令。
下载时如果本地口令与上传时不匹配,会自动弹出提示:
设置口令时会弹出提示,告知多设备同步需要所有设备使用相同口令:
我们欢迎社区贡献!无论是报告bug、提出功能建议还是提交代码,都能帮助这个项目变得更好。
# 克隆项目
git clone https://github.com/VicBilibily/GCMP.git
cd GCMP
# 安装依赖
npm install
# 在 VsCode 打开后按下 F5 开始扩展调试如果您觉得这个项目对您有帮助,欢迎通过 查看赞助二维码 支持项目的持续开发。
本项目采用 MIT 许可证 - 查看 LICENSE 文件了解详情。
| Back | FazBrowse Home | New Git URL |
{ // 通用实用任务:标题生成、摘要、意图分类、重命名建议、终端命令/修复/解释、搜索助手、VS Code 问答 "chat.utilityModel": "gcmp.deepseek/gcmp.deepseek:::deepseek-v4-pro", // 轻量实用任务:提交信息、分支名生成、进度消息、待办跟踪(建议用快速低成本模型) "chat.utilitySmallModel": "gcmp.deepseek/gcmp.deepseek:::deepseek-v4-flash", // 内联聊天(Inline Chat)默认模型 "inlineChat.defaultModel": "GLM-4.7 (CodingPlan) (gcmp.zhipu)", // Agent 模式中的探索/规划子 Agent(如代码库搜索、方案规划) "chat.exploreAgent.defaultModel": "GLM-4.7 (CodingPlan) (gcmp.zhipu)", "chat.planAgent.defaultModel": "GLM-4.7 (CodingPlan) (gcmp.zhipu)", // GitHub Copilot Chat 各专用 Agent(Ask / Implement / Explore) "github.copilot.chat.askAgent.model": "GLM-4.7 (CodingPlan) (gcmp.zhipu)", "github.copilot.chat.implementAgent.model": "GLM-4.7 (CodingPlan) (gcmp.zhipu)", "github.copilot.chat.exploreAgent.model": "GLM-4.7 (CodingPlan) (gcmp.zhipu)", // GCMP 内置 Commit 消息生成模型 "gcmp.commit.model": { "provider": "zhipu", "model": "glm-4.7" }, // GCMP 内置视觉分析模型(必须支持图像输入) "gcmp.vision.model": { "provider": "zhipu", "model": "glm-4.6v" } }