本地转发调试

集群里的服务(数据库、缓存、内部 API、内置 LLM 网关)默认不对公网开放。nae forward 把它们转发回你的开发机,让你在本地像访问 127.0.0.1 一样调试。

两种模式:

两者都前台常驻、Ctrl-C 退出,且都需先 nae login(登录态失效会直接拒绝,不开转发)。

nae forward app

把应用的端口转发到本地一个端口,前台常驻。运行后本地直连这个端口,就等于连到了集群里的应用;Ctrl-C 退出。运行期实时显示「活动连接数 / 上行 / 下行」流量。

# 把应用容器端口转发到本地一个自动选择的空闲端口
nae forward app myredis

# 指定应用侧端口 6379、本地固定用 16379
nae forward app myredis --port 6379 --local 16379
选项 说明
--port <n> 应用侧端口。缺省取应用的容器端口。
--local <n> 本地监听端口。缺省自动选一个空闲端口(启动时会打印实际端口)。

启动后输出示例:

本地 127.0.0.1:16379 → 应用 myredis:6379
前台常驻转发中,Ctrl-C 退出。
活动连接 1 | ↑ 1.2KB | ↓ 3.4KB

随后用任意客户端连本地端口即可,例如:

redis-cli -p 16379 ping
psql -h 127.0.0.1 -p 15432 -U appuser appdb

说明:

nae forward llm

把内置 LLM 网关转发到本地,前台常驻(和 forward app 一样,Ctrl-C 退出)。运行后本地代码用和应用内完全相同的两个环境变量直接调试,运行期间实时显示已代理请求数与流量。

nae forward llm              # 前台常驻;另开一个终端,本地代码即可经环境变量调试
选项 说明
--local <n> 本地监听端口。缺省自动选一个空闲端口。

启动后会写入两个全局环境变量(退出时自动清除):

变量
NAE_LLM_GATEWAY 本地网关地址 http://127.0.0.1:<端口>。OpenAI 兼容客户端用 ${NAE_LLM_GATEWAY}/v1;Anthropic SDK 直接用 ${NAE_LLM_GATEWAY}
NAE_LLM_API_KEY 本次会话的临时本地令牌(由命令生成)。

本地调用与应用内一致——读同样两个变量即可:

from openai import OpenAI
import os

client = OpenAI(
    base_url=os.environ["NAE_LLM_GATEWAY"] + "/v1",
    api_key=os.environ["NAE_LLM_API_KEY"],
)
resp = client.chat.completions.create(
    model="deepseek-v4-flash",
    messages=[{"role": "user", "content": "你好"}],
)
print(resp.choices[0].message.content)

说明: