Grok Bot 全面开放:从 API 接入到微信 Bot 部署的完整踩坑实践
如果你最近关注 Grok 生态,应该能明显感觉到一个趋势:Grok Bot 相关工具更新的速度明显加快了。grok build 从 v1.0.7 到 v1.0.9 的间隔非常短,微信 bot 接入、API 订阅配置、文本导出 Word 这类需求集中出现,说明这个生态已经不再停留在“能不能调通”的阶段,而是进入“怎么用得顺手、怎么稳定跑批量任务”的阶段。
这篇文章不追热点,只解决三个实际工程问题:第一,怎么拿到 Grok 的 API 凭证并快速验证连通性;第二,怎么把 Grok Bot 部署成可用的服务,包括接入微信 bot 的通用思路;第三,怎么处理批量任务、接口报错、文本导出 Word 这类高频操作。全文会给出可复制的命令和代码示例,但所有地址、模型名、密钥都需要按你实际申请到的信息替换,不要直接照抄。
整个部署链路不依赖本地显卡,Grok Bot 本质上是将消息转发到 Grok API,所以显存占用为 0,真正需要关注的是内存、网络连通性、API 速率限制和进程稳定性。这套方案适合做个人助理、群聊机器人、内容批处理脚本,也适合想快速把 Grok 接入到现有工具链的开发者。
1. Grok Bot 核心能力速览
在开始部署之前,先把 Grok Bot 的能力边界和资源要求整理清楚,方便判断它适不适合你的场景。
| 能力项 | 说明 |
|---|---|
| 项目类型 | 基于 Grok 大模型 API 的聊天机器人/自动化工具 |
| 核心功能 | 对话问答、上下文理解、长文本生成、批处理调用 |
| 平台支持 | 命令行、服务端 API、微信 Bot、其他消息平台(需自行适配) |
| 硬件要求 | 本地不需要 GPU,纯 API 调用;服务器至少 1 核 2G 内存可跑轻量 Bot |
| 显存占用 | 本地无显存占用,需关注 API 配额和使用量 |
| 启动方式 | Python 脚本 / Node 脚本 / 进程管理器 / systemd 服务 |
| 接口方式 | OpenAI 兼容的 Chat Completions 接口,具体端点和模型名以官方文档为准 |
| 批量任务 | 支持循环调用与并发调用,需自行控制并发上限 |
| 更新节奏 | 从 grok build v1.0.7 到 v1.0.9 的更新节奏看,迭代较快 |
| 适合场景 | 个人助理、群聊机器人、内容生成、批量文本处理、自动化工作流 |
这里要特别说明:Grok 的接口地址、模型名称、鉴权方式以官方文档为准。Grok API 提供 OpenAI 兼容格式,所以大多数基于 OpenAI SDK 的现有代码只需要替换base_url和api_key就能跑起来,这是整个接入过程中最方便的一点。但仍不建议在未确认官方文档的情况下盲改生产代码,尤其是模型名写错会导致 404 或 400 错误。
2. 适用场景与使用边界
Grok Bot 适合谁?首先是个人开发者,想在自己的服务器上跑一个可以随时对话、帮忙写文案、总结文本的机器人。其次是内容运营,需要批量生成标题、摘要、公众号段落,人工复制粘贴效率太低,用脚本批量调 API 会快很多。再次是群聊运营,想给微信群或 Telegram 群接入一个自动问答助手,处理常见问题。
不适合什么场景?如果你的需求是私有化部署、数据完全不出内网,那么直接调用 Grok API 的方案就不合适。如果业务对响应时间要求极高,API 的网络抖动和限流可能成为瓶颈,需要设计重试和降级方案。如果只是偶尔用一次,也没必要自己搭 Bot,直接用官方网页或客户端即可。
使用边界要特别注意三点。第一,微信 Bot 接入属于灰色地带,微信官方没有开放个人号机器人能力,市面上大多数个人号机器人方案都基于非官方协议,存在账号被限制的风险。建议优先使用企业微信、Telegram、飞书、Discord 等有官方 Bot API 的平台。第二,调用大模型 API 生成内容时,必须遵守服务商的使用条款,不要用机器人批量生成违法、侵权、虚假信息。第三,如果你的 Bot 会处理用户输入,要考虑隐私问题,不要将用户消息明文写入日志或发送到不信任的第三方服务。
3. 环境准备与前置条件
3.1 基础运行环境
Grok Bot 本身不挑硬件,普通云服务器、家用 NAS、甚至树莓派都能跑。操作系统建议使用 Linux 或 macOS,Windows 也可以,但进程托管和长驻服务在 Linux 上更省心。以下环境是通用要求:
- Python 3.9 及以上,或 Node.js 16 及以上,取决于你选的 Bot 框架
- pip 或 npm 包管理器
- curl 命令行工具,用于接口连通性验证
- systemd(Linux)或 pm2(Node)用于进程托管
- 至少 1G 可用内存,磁盘空间按日志和缓存大小预留
如果你打算跑微信 Bot,还需要一台能长期在线且能登录微信的终端设备,这会增加不少运维成本。我的建议是:第一版先在命令行验证 API,再接入消息平台,不要一上来就上微信,否则出问题时分不清是 API 的问题还是微信协议的问题。
3.2 申请 API 密钥与订阅配置
要让 Grok Bot 正常工作,必须具备两个条件:一个可用的 Grok API 密钥,以及一个能访问 API 的网络环境。API 密钥通常需要先在官方平台注册账号,然后进入开发者控制台创建。创建后立即复制保存,因为很多平台只在创建那一刻显示完整密钥,后面再打开就看不到了。
关于订阅配置,热词中出现了“cliproxyapi 配置 grok 订阅”的用法。这类工具的核心逻辑是:把 Grok 的订阅信息或 API 地址统一写到一个配置文件里,然后在多个命令行工具、Bot 或脚本中复用。这么做的好处是密钥不用散落在多个脚本里,更新订阅地址时只需要改一处。下面是一个通用配置模板,字段名具体以你用的工具为准:
provider: name: grok api_key: "YOUR_XAI_API_KEY" base_url: "https://api.x.ai/v1" model: "MODEL_NAME" timeout: 60 max_retries: 3配置完成后,先用 curl 做一次最小验证,确认密钥和地址没问题,再进入正式部署。
3.3 网络与端口检查
Grok Bot 是典型的 API 调用型应用,不需要对外开放 80/443 端口也能跑。如果只是本地或内网使用,服务监听127.0.0.1就足够了。如果要在公网使用,建议在服务前面加一层 Nginx 或其他反向代理,并开启 HTTPS,避免 API 密钥在传输过程中泄露。
启动前先检查端口是否被占用:
# 检查 8000 端口是否被占用 lsof -i :8000 # 或使用 netstat netstat -tunlp | grep 8000如果端口被占用,启动脚本通常会直接报Address already in use,这时换一个端口即可。另外,云服务器安全组规则也要确认放行了对应端口,否则服务即使启动了,外部也访问不到。
4. 验证 API 连通性:第一个 Grok 对话
正式部署 Bot 之前,强烈建议先用 curl 或 Python 脚本验证一下 API 连通性。这样可以把问题拆开:API 不通就排查凭证和网络,Bot 不回复就排查逻辑代码。
4.1 使用 curl 发送第一个请求
Grok API 提供 OpenAI 兼容的 Chat Completions 接口,一个最小请求如下:
curl https://api.x.ai/v1/chat/completions \ -H "Authorization: Bearer YOUR_XAI_API_KEY" \ -H "Content-Type: application/json" \ -d '{ "model": "MODEL_NAME", "messages": [ {"role": "system", "content": "你是一个有用的助手"}, {"role": "user", "content": "用一句话介绍你自己"} ], "stream": false }'执行后如果返回一段 JSON,里面包含choices字段,说明 API 连通正常。如果返回 401,说明密钥错误;返回 404,说明接口地址或模型名不对;返回 429,说明触发了速率限制;返回超时,说明网络不通或需要调整代理设置。注意:上面的https://api.x.ai/v1和MODEL_NAME只是示例值,真实值必须从你申请到的 API 文档里确认。
4.2 使用 Python SDK 调用
如果你打算用 Python 写 Bot,可以直接使用openai库。Grok API 兼容 OpenAI 接口,所以只需要改base_url和api_key:
pip install openaiimport os from openai import OpenAI client = OpenAI( api_key=os.environ.get("XAI_API_KEY"), base_url="https://api.x.ai/v1" ) resp = client.chat.completions.create( model="MODEL_NAME", messages=[ {"role": "system", "content": "你是 Grok Bot"}, {"role": "user", "content": "今天有什么值得关注的科技趋势?"} ], temperature=0.7, timeout=60 ) print(resp.choices[0].message.content)运行前先设置环境变量:
export XAI_API_KEY="YOUR_XAI_API_KEY" python grok_test.py能打印出文本,说明 Python 调用链路已经打通。到这里,Grok Bot 最难的部分已经完成了一半,剩下的只是把消息来源接进来。
5. Grok Bot 部署与启动
5.1 拉取或编写项目
如果你的目标是快速验证,可以直接写一个单文件脚本,不需要引入复杂框架。下面是一个最小可用的 Grok Bot 服务骨架,使用 FastAPI 暴露 HTTP 接口:
pip install fastapi uvicorn openaiimport os from fastapi import FastAPI from pydantic import BaseModel from openai import OpenAI app = FastAPI() client = OpenAI( api_key=os.environ.get("XAI_API_KEY"), base_url="https://api.x.ai/v1" ) class ChatRequest(BaseModel): message: str system_prompt: str = "你是 Grok Bot,请简洁回答用户问题。" class ChatResponse(BaseModel): reply: str @app.post("/chat", response_model=ChatResponse) def chat(req: ChatRequest): resp = client.chat.completions.create( model="MODEL_NAME", messages=[ {"role": "system", "content": req.system_prompt}, {"role": "user", "content": req.message} ], timeout=60 ) return ChatResponse(reply=resp.choices[0].message.content) if __name__ == "__main__": import uvicorn uvicorn.run(app, host="127.0.0.1", port=8000)这个脚本做了三件事:启动 HTTP 服务、接收用户消息、调用 Grok API 返回结果。先把这个跑通,后面无论接微信、飞书还是 Telegram,都只需要把消息转发到这个/chat接口。
启动方式:
export XAI_API_KEY="YOUR_XAI_API_KEY" python bot_server.py看到Uvicorn running on http://127.0.0.1:8000说明服务启动成功。用 curl 测试一下:
curl -X POST http://127.0.0.1:8000/chat \ -H "Content-Type: application/json" \ -d '{"message": "你好"}'返回 JSON 中包含reply字段就说明服务正常。
5.2 使用 systemd 托管进程
如果想让 Bot 长期运行不中断,不要只用python bot_server.py跑前台,建议使用 systemd 托管。创建一个服务文件/etc/systemd/system/grokbot.service:
[Unit] Description=Grok Bot Service After=network.target [Service] Type=simple User=your_user WorkingDirectory=/opt/grokbot Environment="XAI_API_KEY=YOUR_XAI_API_KEY" ExecStart=/usr/bin/python3 /opt/grokbot/bot_server.py Restart=always RestartSec=5 [Install] WantedBy=multi-user.target然后执行:
sudo systemctl daemon-reload sudo systemctl enable grokbot sudo systemctl start grokbot用systemctl status grokbot查看运行状态,用journalctl -u grokbot -f实时查看日志。如果 API Key 过期或账号欠费,运行日志会很快暴露问题。
6. 接入微信 Bot 的实践方案
微信 Bot 是很多人最关心的场景,也是最容易踩坑的地方。先说结论:微信官方没有开放个人号机器人 API,市面上的个人号机器人大多依赖非官方协议或 Hook 方案,存在被限制登录的风险。如果你只是做私域自动化,优先选企业微信或服务号。如果只是个人测试,可以用开源微信机器人框架,但需要有随时被封号的心理准备。
从工程逻辑上看,微信 Bot 接入 Grok 的思路是一致的:监听微信消息 -> 提取文本 -> 调用 Grok API -> 把回复发回聊天窗口。核心代码可以用伪代码表示:
# 伪代码,实际接口取决于你使用的微信机器人框架 async def on_message(msg): # 只处理普通文本消息 if msg.type != "text": return # 过滤掉群聊中与自己无关的消息 if msg.is_group and not msg.is_mentioned(): return # 调用 Grok API reply = await grok_client.chat(msg.text) # 回复消息 await msg.reply(reply)接入时建议先做两个限制:第一,配置一个管理员白名单,只有白名单里的用户才能触发 Grok 回复,避免 Bot 被陌生人刷爆;第二,设置频率限制,例如同一用户在 5 秒内只能触发一次,防止微信群里的 @ 消息把 API 额度快速耗尽。
常见 Python 微信机器人框架有 wechaty、ntchat、wechaty-puppet-wechat 等,但具体安装方式、协议稳定性、是否收费都有差异,不要在没确认文档的情况下直接跑。最稳妥的路径:先在命令行把 API 验证好,再写一个“模拟微信消息”的测试脚本,最后再接真实微信。真出问题时,逐步排查消息链路比一次性全接通容易得多。
7. 功能测试与效果验证
Grok Bot 部署完成后,不要急着接一堆渠道,先用一套标准测试用例把基本能力验证清楚。
7.1 基础对话测试
输入一组覆盖不同场景的测试消息,观察输出质量:
- 普通人设问题:“你好,你是谁?”
- 中文写作:“帮我把这句话改成更正式的表达:这个功能很好用。”
- 知识问答:“解释一下什么是 API 速率限制。”
- 多轮上下文:“推荐一部科幻电影。那再推荐一部适合和小孩一起看的版本。”
判断标准:回复内容与问题相关,语气符合系统提示词要求,没有明显幻觉和错误。如果第二问基于第一问的下文回答失败,说明上下文没有正确传递,需要检查消息数组是否完整保留历史记录。
7.2 长文本生成测试
Grok 在长文本生成上的表现还需要实测。测试时给一个需要输出超过 1000 字的提示词,例如“写一篇 1000 字的科技新闻评论”。如果输出在中间被截断,可能是触发了max_tokens限制,调大参数再测。如果接口超时,说明单次请求耗时较长,需要延长网络超时时间。
7.3 并发与批量测试
写一个批量脚本,准备 10 条测试消息,同时发起 3 个并发请求,观察是否出现 429 限流错误。如果出现,说明并发超过账号配额,需要降低并发数或实现退避重试。批量测试的脚本建议独立保存,后续每次改完配置都跑一轮,作为回归测试。
7.4 稳定性验证
让 Bot 连续运行 30 分钟,每隔 1 分钟发送一条消息,观察进程是否崩溃、内存是否持续增长。如果内存不停上涨,排查是否缓存了过多的聊天历史没有清理。大模型 API 调用本身不会让本地内存爆炸,但 Bot 框架如果没有限制历史消息列表长度,时间长了会吃掉不少内存。
8. 接口 API 与批量任务示例
8.1 通用请求参数说明
GroK API 的具体请求参数需要按官方文档来,但 OpenAI 兼容接口通常包含以下字段:
| 参数 | 类型 | 说明 |
|---|---|---|
| model | string | 使用的模型名称,务必从官方文档确认 |
| messages | array | 会话消息列表,按时间顺序排列 |
| temperature | float | 采样温度,0 到 1 之间,控制随机性 |
| max_tokens | integer | 最大生成 token 数,避免超长输出 |
| stream | boolean | 是否流式返回,实时对话建议开启 |
| timeout | integer | 请求超时时间,单位秒 |
不要把timeout设得太短。大模型生成长文本时,响应时间可能超过 30 秒,建议设置为 60 到 120 秒。
8.2 Python 批量任务脚本
下面是一个通用的批量任务脚本模板。核心思路是:从 JSON 文件读取任务列表,使用线程池控制并发,将结果写入输出文件。这个模板不依赖特定 Bot 框架,可以在任何 Grok API 场景下使用。
import json import time import concurrent.futures from openai import OpenAI client = OpenAI( api_key="YOUR_XAI_API_KEY", base_url="https://api.x.ai/v1" ) def generate(item): try: resp = client.chat.completions.create( model="MODEL_NAME", messages=[ {"role": "user", "content": item["prompt"]} ], timeout=120 ) return { "id": item["id"], "prompt": item["prompt"], "output": resp.choices[0].message.content, "status": "success" } except Exception as e: return { "id": item["id"], "prompt": item["prompt"], "output": None, "error": str(e), "status": "failed" } def main(): with open("tasks.json", "r", encoding="utf-8") as f: tasks = json.load(f) results = [] with concurrent.futures.ThreadPoolExecutor(max_workers=3) as pool: futures = {pool.submit(generate, item): item for item in tasks} for future in concurrent.futures.as_completed(futures): result = future.result() results.append(result) if result["status"] == "success": print(f"任务 {result['id']} 完成") else: print(f"任务 {result['id']} 失败: {result['error']}") with open("results.json", "w", encoding="utf-8") as f: json.dump(results, f, ensure_ascii=False, indent=2) if __name__ == "__main__": main()tasks.json的格式:
[ {"id": 1, "prompt": "写一句欢迎语"}, {"id": 2, "prompt": "写一段短视频脚本,主题是本地部署"}, {"id": 3, "prompt": "总结下面这段文字的主要内容:..."} ]批量任务的退出逻辑要谨慎:失败任务不能静默跳过,至少写入日志,方便事后补跑。如果 API 返回 429,脚本应该在捕获异常后等待一段时间再重试,而不是疯狂循环。
8.3 常见错误处理
| 错误码 | 可能原因 | 处理方式 |
|---|---|---|
| 401 | API Key 无效或过期 | 检查环境变量,确认密钥是否正确 |
| 404 | 接口路径或模型名错误 | 查阅官方文档,修正 base_url 和 model |
| 429 | 触发速率限制 | 降低并发、增加等待时间、升级配额 |
| 500/503 | 服务端临时不可用 | 指数退避重试,最多重试 3 次 |
| timeout | 请求超时 | 增大 timeout,检查网络连通性 |
9. 把 Grok 生成的文本导出到 Word
热搜词里有“Grok 怎么把生成的文本加入 Word”,这个问题在内容生产场景中很常见。推荐三种方式,按效率从高到低排列。
9.1 方式一:Markdown 保存后使用 pandoc 转换
Grok 生成的内容通常是 Markdown 格式,包含标题、列表、代码块等结构。最简单的做法是让 Grok 直接输出 Markdown,保存为.md文件,然后用 pandoc 转换成.docx:
# 将 Markdown 转换为 Word pandoc output.md -o output.docxpandoc 安装方式:
# Ubuntu/Debian sudo apt install pandoc # macOS brew install pandoc # Windows choco install pandoc转换后打开 Word,标题、列表、引用块基本能保留,比直接粘贴干净得多。
9.2 方式二:Python 脚本写入 docx
如果你希望自动化处理,例如批量生成 100 个文档,就需要用 Python 脚本完成。安装python-docx:
pip install python-docxfrom docx import Document from docx.shared import Pt doc = Document() doc.add_heading("Grok 生成内容", level=1) text = "把 Grok 返回的文本粘贴到这里。" p = doc.add_paragraph() run = p.add_run(text) run.font.size = Pt(12) doc.save("grok-output.docx") print("已生成 grok-output.docx")这种方式适合做模板化输出。你可以先定义标题、正文、落款的样式,然后把 Grok 返回的内容填进去,实现真正的批量化。
9.3 方式三:直接粘贴到 Word
最简单的方式是把 Grok 返回的文本复制后粘贴到 Word,然后在底部选择“只保留文本”或“保留源格式”。缺点是 Markdown 的标题和列表不会自动转为 Word 样式,需要手动调整。适合偶尔使用、不需要格式化的场景。
不管用哪种方式,都要注意:Grok 生成的超长文本可能包含语法错误或格式混乱,导出 Word 后建议做一轮人工校对,尤其是涉及对外发布的文档,不能完全依赖模型生成的原始内容。
10. 稳定性与资源观察
Grok Bot 是纯 API 调用型应用,本地资源开销不大,但稳定的工程化运行仍然需要关注几个指标。
内存和 CPU:一个单进程 FastAPI 服务加上并发调用,内存占用通常在 100 到 300MB 之间,CPU 占用很低。如果内存持续增长,优先检查是否有历史消息列表无限追加、日志是否写入到内存缓存。
API 速率限制:这是最容易翻车的点。Grok API 通常有每分钟请求数限制和每月 token 配额限制。批量任务如果一次性提交太多并发请求,很容易触发 429。建议在代码里加一个全局信号量或速率限制器:
import threading import time class RateLimiter: def __init__(self, max_per_minute): self.interval = 60.0 / max_per_minute self.last = 0 self.lock = threading.Lock() def wait(self): with self.lock: now = time.time() wait_time = self.interval - (now - self.last) if wait_time > 0: time.sleep(wait_time) self.last = time.time() limiter = RateLimiter(max_per_minute=30) # 每次请求前调用 limiter.wait()日志和监控:日志至少记录用户输入摘要、请求耗时、返回状态、错误信息。不要记录完整的 API Key,也不要记录完整的用户隐私消息。使用journalctl、pm2 logs或loguru都可以,关键是出现问题时有迹可循。
11. 常见问题与排查方法
| 问题现象 | 可能原因 | 排查方式 | 解决方案 |
|---|---|---|---|
| 调用 API 返回 401 | API Key 错误或过期 | 检查环境变量和代码中的密钥 | 重新生成密钥并更新 |
| 调用 API 返回 404 | 接口地址或模型名错误 | 对比官方文档 | 修正 base_url 和 model |
| 调用 API 返回 429 | 触发速率限制 | 查看响应头中的限流信息 | 降低并发,增加退避重试 |
| Bot 服务启动失败 | 依赖缺失或端口被占用 | 查看启动日志 | 安装依赖或更换端口 |
| 微信 Bot 不回复 | 消息监听没生效 | 先测试 HTTP 接口 | 分解链路,逐段调试 |
| 生成的文本被截断 | max_tokens 设置太小 | 检查返回内容 | 调大 max_tokens |
| 批量任务卡住 | 单个请求超时 | 观察日志 | 设置 timeout 并增加重试 |
| 系统提示词不生效 | 消息结构顺序错误 | 打印实际发送的消息 | 确保 system 消息在第一条 |
| 输出质量不稳定 | temperature 过高 | 对比不同温度结果 | 降低 temperature |
| 服务频繁重启 | 内存不足或进程崩溃 | 查看 journalctl | 增加内存或优化代码 |
如果遇到 "we're experiencing high demand for cursor grok 4.6 right now. please switch" 这类提示,说明目标模型当前负载较高,或通过某些第三方客户端访问时被限流。建议先稍等重试,降低请求频率,或切换到官方 API 而不是依赖第三方插件。如果仍然不行,换一个模型版本或时段再试,这类高负载提示通常不是本地配置问题。
12. 最佳实践与使用建议
第一,第一次不要追求功能完整。先把 API 用 curl 调通,再写一个命令行脚本跑通对话,最后再接 Bot 框架。每一步都做一次最小验证,可以大幅减少排错时间。
第二,密钥管理要规范。不要把 API Key 硬编码在脚本里,也不要提交到 Git 仓库。使用环境变量、.env文件或密钥管理服务。.env文件要加入.gitignore。
第三,批量任务要有完整的失败重试机制。建议每次批量任务输出一个结果文件,包含每个任务的 id、消耗 token 数、耗时、状态和错误信息。任务失败后,支持从上次断点继续,而不是整个重新跑。
第四,Bot 上线前设置白名单和频率限制。尤其是群聊机器人,要能配置触发关键词或 @ 触发,避免在群里被用户连续刷屏。个人使用场景下,也可以对单用户配置日调用上限,防止密钥被滥用。
第五,内容合规必须放在第一位。不要用 Grok Bot 生成违法、暴力、色情、歧视性内容;不要伪造他人言论;不要批量制造垃圾信息。大模型 API 的调用记录都在服务端,违规使用不仅会导致账号被封,还可能承担法律责任。涉及人脸、声音、版权素材时,必须确认自己有权使用这些内容。
13. 总结
Grok Bot 全面开放带来的直接好处是:接入门槛降低,使用方式从单纯的网页聊天扩展到 API 调用、消息机器人、批量脚本、内容工作流。整个部署链路不需要显卡,不需要本地大模型,一台低配服务器就能跑起来,真正的成本在于 API 配额和使用策略设计。
我最建议你先做这几件事:申请 API Key 后用 curl 打通第一个请求;然后部署一个最小 HTTP 服务;最后根据实际需求决定接入微信还是先做命令行批处理。最容易踩的坑有三个——模型名写错、并发过高触发 429、直接把微信 Bot 接入生产环境导致账号风险。
下一步可以扩展的方向很多:把 Grok Bot 接入飞书或企业微信,开发自定义工具调用,实现自动摘要和定时任务,或者把 Grok 返回的结构化内容直接写入数据库和文档系统。这个生态迭代很快,版本更新密集,建议收藏这篇文章,等官方文档更新后再对照调整接口参数。