跳转到内容
全部开发指南

Windows PowerShell 调用 AIGoCode:别把 Cmd 命令直接粘进来

AIGoCode发布于 更新于

封面:两种终端入口通过结构化数据连接服务端

在 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.exeInvoke-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。