
在 Windows 上,先确认打开的是哪种 Shell
准备在 Windows 里调用 AIGoCode,复制了一份能用的命令,终端却先报变量或语法错误?先检查复制的是哪个环境的示例。AIGoCode《第一次请求》分别提供 macOS/Linux、Cmd 和 PowerShell 页签;Windows 用户也要在后两者之间作选择。
本文帮助你把官方 PowerShell 示例完整地放进正确环境运行,重点检查变量、JSON 序列化和发送步骤。这里没有代你在 Windows 实测,也不根据终端语法错误判断账号是否有效。
Cmd 与 PowerShell 的示例不是同一段命令
官方 Cmd 示例使用 set 设置变量,通过 %AIGOCODE_API_KEY% 引用它,用 curl.exe 发请求,并使用 ^ 把命令续到下一行。PowerShell 示例则先构建对象,再调用 Invoke-RestMethod,变量通过环境变量语法读取。
| 检查对象 | Cmd 示例 | PowerShell 示例 |
|---|---|---|
| 请求入口 | curl.exe | Invoke-RestMethod |
| 变量引用 | %AIGOCODE_API_KEY% | $env:AIGOCODE_API_KEY |
| 多行连接 | ^ | 反引号 |
| 请求体组织 | 命令参数里的 JSON 字符串 | 对象转换为 JSON 后传入 Body |
这张表用于识别示例风格。具体操作时打开官方第一次请求,选好协议和 PowerShell 页签,复制完整示例。不要只把 Cmd 的 curl.exe 换成另一个命令,同时留下原来的变量符号和续行字符。
把构造对象、序列化和发送分成三步看
PowerShell 的 OpenAI Compatible 示例先定义 body 对象,里面含模型与消息,再用 ConvertTo-Json 转成 JSON。之后 Invoke-RestMethod 通过 Method Post、Uri、Headers、ContentType 和 Body 组织请求,ContentType 指定 application/json。
排查时按相同顺序确认:对象是否构造完成,JSON 字符串是否生成,发送命令是否拿到了这份字符串。如果终端在构造对象时就报错,先核对括号、引号和所用 Shell;不要直接把这类错误归因于服务端拒绝。
如果你想修改输入文字,可以先保留完整示例,只替换其中的业务文本。请求字段本身不在这里展开:messages 与 contents 的区别,另见对应协议文档。本文讨论的是 PowerShell 怎样构造和发送这份数据。
两个 ConvertTo-Json 用途不同,Depth 也要分别核对
官方示例中,发送前和收到响应后都能看到 ConvertTo-Json,但它们处理的是两个不同对象。
发送前,它把你的请求对象转成 JSON:OpenAI Compatible 与 Claude Messages 示例使用深度 3,Gemini generateContent 示例使用深度 7。Gemini 示例含 contents、parts 以及 generationConfig 中的 thinkingConfig 等嵌套结构。按你选择的示例保留相应 Depth,不要把三个页签统一改成同一个值。
响应后的 ConvertTo-Json 则用于把返回对象显示成 JSON,三份 PowerShell 示例在此处使用深度 10。修改显示响应的这一步,不会替你修正发送前的请求体。检查记录里可以分成两行:请求序列化用的 Depth,以及响应显示用的 Depth,避免看见同名命令就改错地方。
这些数字描述的是本次读取的官方示例,不是账号额度,也不是所有自定义请求都适用的固定值。如果你另加了嵌套字段,应重新检查生成的 JSON 是否保留了预期结构,再考虑发送。
切换协议时,回到完整的 PowerShell 示例
即使都用 Invoke-RestMethod,三种协议的 Headers 和 Uri 也不能直接当成同一套配置。OpenAI Compatible 示例设置 Bearer 认证;Claude Messages 示例使用 x-api-key 和 anthropic-version;Gemini 示例把 Key 放在请求地址的查询参数中。按所选协议复制整套示例,再改业务内容,比在原命令上逐个猜字段更容易核对。
Gemini 的 PowerShell 示例还以 $false 表示 includeThoughts 的布尔值。写 PowerShell 对象时沿用该语言示例,别把其他语言的字面量未经核对地贴进去。
验证时先确认终端成功执行到了发请求这一步,再记录实际返回的状态码和错误信息。若 API 已能返回 JSON,只是界面取不到文字,可以继续读本站三种响应结构怎么读。这时应转向响应解析,不必重新改一遍 Shell。