大数跨境

300美金到手,手把手教你把 Gemini 4 Argon 装进本地 DSH

300美金到手,手把手教你把 Gemini 4 Argon 装进本地 DSH 跟雷哥探究HR领域的AI
2026-10-19
6
导读:300美金到手,手把手教你把 Gemini 4 Argon 装进本地 DSH

AGENT ENGINEERING · 排障记录

2026.10

官方直连总比中转省心?

我把 Google Gemini 4 Argon 接进了本地 DSH


试用赠金 · 服务账号密钥 · 推理权限 · DSH 配置 · 输出复读

DSH × Google Cloud Vertex AI

GEMINI 4 ARGON全流程记录

📦 7 Parts + Conclusion

👉 滑动

PART 01

账号怎么选

三套体系的区别

PART 02

领赠金

抄下项目 ID

PART 03

开 API

Agent Platform

PART 04

服务账号

密钥被挡住了

PART 05

Cloud Shell

改策略拿密钥

PART 06

接进 DSH

配置与两处笔误

PART 07

花括号复读

两层拦截

PART ///

检查单

照着走一遍

这篇没有「私信关键词领配置包」

命令和配置全在正文里,截图是我自己一步步截的

这两天我拿本地的 DSH 跑多 Agent 编排,主力模型走的是第三方中转的 gemini-4-argon。用下来有三个地方不太舒服:高峰期排队;上下文和思维链在有的中转上会被缩水;还有跑得久了,回答末尾会拖出一长串 *]}}}}]}}}}] 的花括号。

Google Cloud 新用户有 300 美元赠金,90 天有效,我就把它接成了官方直连。从上午 10 点 42 截第一张图,到 11 点 22 把最后一项权限绑完,前后四十分钟,中间卡住三次:一次是密钥创建被组织策略挡住,一次是 location 填错一直 404,一次是配置文件里多写了一行 api。这篇按顺序记下来,命令都是我自己跑过的,可以直接照抄。

01

PART


先把三套账号分清

ACCOUNT TYPES

Google 这边和模型接口沾边的东西有三样,很容易绕晕,先分清楚再动手:

Google AI Pro

每月 20 刀的网页会员,没有 API

AI Studio

能拿 key,免费层限流比较严

GCP Vertex AI

按量计费,新账号送 $300 赠金,这篇走它

两张定心丸都是官方页面上写明的:绑卡只做一笔 1 美元的预授权,验证完就撤;赠金花完或者 90 天到期,服务自动停下来,只要你不手动升级成付费账号,不会从卡里扣钱。卡种方面我用的是实体双币 Visa,虚拟卡好像容易在验证那步被拒,没敢试。

02

PART


领赠金,抄下项目 ID

CLAIM CREDIT & PROJECT ID

注册本身没什么可说的:官网点「免费试用」,选地区,填卡,赠金当场到账。

— 免费试用第 1 步,页面上写明 $300 赠金、到期不自动收费

进了控制台,有一件事必须在这一屏做完:把项目 ID 抄下来。项目名称和 project- 开头的项目 ID 是两回事,配置和环境变量里要填的是后者。这两个名字长得很像,报错的时候却完全不指向这里,我后来在 403 上绕的那圈路就和它有关。

— 欢迎页中间那张卡片直接给出项目 ID,点旁边的图标复制

— 左上角项目选择器里也能看到名称和 ID 的对应关系

03

PART


开齐平台 API

ENABLE APIS

Vertex AI 在控制台里改名了,现在叫 Agent Platform。从欢迎页点进去,第一件事是页面上的「启用 API」提示。弹窗里列了十八项左右的服务,Agent Platform API、IAM API 这些都在里面。我一次全开了,省得后面缺一个报一个。

— 概览页的启用提示

— 推荐服务清单一键全部启用

开完之后它会问你用哪种方式验证身份,推荐的是 ADC(应用默认凭据),说白了就是走服务账号 JSON 密钥这条路。下一篇要折腾的就是它。

— 身份验证引导页,推荐 ADC

04

PART


建服务账号,撞上密钥停用

SERVICE ACCOUNT & ORG POLICY

服务账号入口在「IAM 和管理 → 服务账号」。名字我填了 dsh-argon,一路「创建并继续」。

— 创建服务账号,名字会自动带出账号 ID

角色那一步,我当时漏了

第二个页面是选角色。搜索框里输 Vertex AI User,排在前面的全是 Vertex AI Service Agent 这类内部服务角色,真正的 User 那一条要往下翻。我当时没细看就点了跳过,这个账在后面才算:密钥明明拿到了,调用却报 403,绕回来查才发现角色没绑。

— 搜索结果的排序很有迷惑性,选角色时留意往下面翻翻

然后遇到了这条硬性规定

进服务账号详情切到「密钥」标签,点「添加键 → 创建新密钥 → JSON」,弹出来的不是下载,是一条停用提示:某条组织政策阻止了创建密钥,政策 ID 叫 iam.disableServiceAccountKeyCreation。

— 新建的组织默认开着这条策略,密钥导出直接没门

想着换条路,去 API 密钥那边建一个,结果同样被组织安全政策拦着,页面提示改用 ADC。

— API 密钥这条路也被同样的策略挡着

后来弄明白了:新的组织默认带这一套安全策略;策略本身可以在后台调整,但操作者需要 orgpolicy.policyAdmin 角色,而组织创建者账号默认没有这个角色,页面上直接点就是权限不足。这不算什么特殊操作:角色补齐之后,这就是账号主人本来就能改的一项常规设置。

05

PART


用 Cloud Shell 改策略拿密钥

CLOUD SHELL WALKTHROUGH

解决办法不用装 gcloud。控制台网页右上角有个 >_ 图标,点开就是 Cloud Shell,登录态就是你本人。第一次打开会弹一个授权框,点授权就行。

— 顶部导航栏右侧的 >_ 图标

— Cloud Shell 的首次授权

先给自己加组织政策管理员角色

...bash

ORG_ID=$(gcloud organizations list --format="value(ID)" | head -n 1)

gcloud organizations add-iam-policy-binding $ORG_ID \

  --member="user:你的邮箱@gmail.com" \

  --role="roles/orgpolicy.policyAdmin"

— 命令跑完,回显里能看到角色已经绑上

— 去组织级 IAM 页面确认,能看到 Organization Policy Administrator

关策略,建密钥,浏览器直接开始下载

...bash

gcloud resource-manager org-policies disable-enforce \

  iam.disableServiceAccountKeyCreation --organization=$ORG_ID

gcloud resource-manager org-policies disable-enforce \

  iam.disableServiceAccountKeyCreation --project=你的项目ID

sleep 5 && gcloud iam service-accounts keys create ~/vertex-key.json \

  --iam-account=dsh-argon@你的项目ID.iam.gserviceaccount.com \

  && cloudshell download ~/vertex-key.json

中间那个 sleep 5 不是装饰。策略同步要一点时间,我第一次手快连着跑,建密钥那步报的还是原来那句错;隔几秒再跑就过了。看到终端打出 created key,浏览器跟着就把 2,402 字节的 vertex-key.json 存下来了。此后网页上的「创建新密钥」按钮也恢复正常。

— created key 回显,右上角下载同时完成

— 策略调整后,网页端创建密钥也恢复正常了

最后把推理角色绑给服务账号

光有密钥说明不了「你是谁」,还得说明「你能干什么」。不绑这个角色的时候,请求会被 403 PERMISSION_DENIED 挡回来,报错里点缺的就是 aiplatform.endpoints.predict。一行补上:

...bash

gcloud projects add-iam-policy-binding 你的项目ID \

  --member="serviceAccount:dsh-argon@你的项目ID.iam.gserviceaccount.com" \

  --role="roles/aiplatform.user"

— 回显 Updated IAM policy 之后,云端这边就算齐了

06

PART


接进本地 DSH

LOCAL DSH CONFIG

密钥文件我挪到了 C:\Users\你的用户名\.gcp\vertex-key.json。路径别带中文,也别留在下载目录,回收和清理软件扫到它就白配了。

引擎这边,DSH 升到 0.2.1-rc.2 之后,底层 pi-ai 已经带上了 gemini-4-argon 的定义和思考档位映射(google-shared.js 里那条匹配 Gemini 4 及以后的规则),早前网上说的「手改正则」那步不用做了。

环境变量:四个,其中一个是备用的

...powershell

[Environment]::SetEnvironmentVariable("GOOGLE_APPLICATION_CREDENTIALS", "C:\Users\你的用户名\.gcp\vertex-key.json", "User")

[Environment]::SetEnvironmentVariable("GOOGLE_CLOUD_PROJECT", "你的项目ID", "User")

[Environment]::SetEnvironmentVariable("GCLOUD_PROJECT", "你的项目ID", "User")

[Environment]::SetEnvironmentVariable("GOOGLE_CLOUD_LOCATION", "global", "User")

两个点。项目那栏填 project- 开头的 ID;location 填 global。我第一次填的 us-central1,请求打到 us-central1 上返回 404 NOT_FOUND。这个模型官方到底开了哪些区域我没去查证,反正我机器上 global 能通、us-central1 不通。还有一点容易漏:如果你和我一样有 relaunch-dsh.cmd 或者 VBS 启动脚本,脚本里写死的 GOOGLE_CLOUD_LOCATION 会盖掉系统变量,两处要一起改。

配置文件:目录路由不写 api 字段

编辑 C:\Users\你的用户名\.dsh\profiles\web\cordis.patch.yml(用桌面端的话还有 desktop 那份),在 llm-pi-ai 插件的 providers 下面加这段:

...yaml

      google-vertex:

        displayName: Google Vertex AI

        defaultInput:

          - text

          - image

        models:

          - id: gemini-4-argon

            name: Gemini 4 Argon (Vertex global)

            input:

              - text

              - image

我第一版照着 OpenAI 兼容中转的写法补了一行 api: google-vertex,重启之后模型下拉整个空了。这个 api 字段的枚举只认 openai-completions、openai-responses、anthropic-messages 三个值,写了别的,同一插件下配置的几十个 provider 全部作废,不止这一个模型报错。删掉那行就都回来了:路由名撞上内置目录(google-vertex)而且不写 api 时,DSH 会自己复用内置实现,凭据走上面的环境变量。

07

PART


末尾那串花括号

BRACE REPEAT TAIL

接回开头说的第三个毛病。我原以为末尾那串花括号是中转拼 JSON 拼漏了,换成官方直连之后它还是会在长会话里冒出来,所以这个锅不能全扣给中转,跟通道关系不大,具体成因我也没有定论。

我做的是两层拦截。第一层在请求上:给 gemini-4 系模型的 generationConfig 带上停止序列,服务端采样到就直接收尾,实测接口认这个参数:

...javascript

if (typeof model.id === "string" && model.id.includes("gemini-4")) {

  generationConfig.stopSequences = ["}}}}]}}}}]", "*]}}}}]"];

}

第二层在本地兜底:守卫插件里对流式上屏和落盘历史各加了一道正则清理,漏网的尾巴在界面和会话存档里都会被切掉。改完之后到今天这两个小时,没再看到那串花括号。不敢说以后永远不出,至少目前是干净的。

///

LAST


检查单

CHECKLIST

最后把流程压成一张单子,从领金到跑通照着走就行:

1

注册领金:免费试用绑实体双币卡,在欢迎页抄下 project- 开头的项目 ID,别抄成项目名称。

2

开齐 API:Agent Platform 概览页点「启用 API」,弹窗里的推荐服务全部启用。

3

Cloud Shell 改策略:加 orgpolicy.policyAdmin → 关 iam.disableServiceAccountKeyCreation → 建 key 下载 vertex-key.json → 给服务账号绑 roles/aiplatform.user。

4

环境变量:凭证路径、项目 ID、GOOGLE_CLOUD_LOCATION=global;启动脚本里有同名变量的一起改,系统变量会被它盖掉。

5

配置写入:cordis.patch.yml 里加 google-vertex 和 gemini-4-argon,不写 api 字段;想省心可以给 gemini-4 带上 stopSequences。

配置类的问题,报错信息经常指不到真正的病根,比如密钥那一步报的是「密钥创建功能已停用」,根子却在角色。真卡住了就把报错原文整段丢给搜索引擎和下拉列表,多数时候缺的那一条就藏在下面几行里。

我是雷神。这篇里的每张截图都是当天流程里顺手截的,命令都是跑过的原样。有问题评论区说。

如果这篇帮你省了查资料的时间,点个「赞」或「在看」吧。

点赞
在看

THANKS FOR READING


【声明】内容源于网络
0
0
跟雷哥探究HR领域的AI
致力于推动企业人力资源数字化转型。提供实用的案例分析和专业的咨询服务,帮助企业在数字化转型中取得成功。分享经验和知识,让企业管理者更好地理解人力资源数字化的重要性,提高企业的数字化能力。共同探索人力资源数字化转型的未来。
内容 317
粉丝 0
跟雷哥探究HR领域的AI 致力于推动企业人力资源数字化转型。提供实用的案例分析和专业的咨询服务,帮助企业在数字化转型中取得成功。分享经验和知识,让企业管理者更好地理解人力资源数字化的重要性,提高企业的数字化能力。共同探索人力资源数字化转型的未来。
总阅读2.4k
粉丝0
内容317