vnpy-01 服务器图形化环境与 AI Agent 部署文档
vnpy-01 服务器图形化环境与 AI Agent 部署文档
服务器: <公网IP> (vnpy-01) | 用户: ubuntu | 日期: 2026-06-16
一、服务器基础信息
| 项目 | 详情 |
|---|---|
| 操作系统 | Ubuntu 24.04.4 LTS (Noble Numbat) |
| 内核 | 6.8.0-101-generic |
| CPU | Intel Xeon Platinum 8255C @ 2.50GHz × 2 |
| 内存 | 1.9 GiB(可用 1.3 GiB) |
| 磁盘 | 50 GB(已用 20 GB,可用 28 GB) |
| 内网 IP | 10.0.0.12 |
| 公网 IP | <公网IP> |
| SSH 端口 | 22 |
| 防火墙 | UFW inactive(依赖腾讯云安全组) |
二、部署架构总览
┌─────────────────────────────────────────────────────┐
│ vnpy-01 (<公网IP>) │
│ Ubuntu 24.04 LTS │
├─────────────────────────────────────────────────────┤
│ │
│ ┌──────────────┐ ┌──────────────┐ │
│ │ TigerVNC │ │ XFCE4 │ │
│ │ :1 / 5901 │──▶│ Desktop │ │
│ │ systemd │ │ Environment │ │
│ └──────────────┘ └──────┬───────┘ │
│ │ │
│ ┌─────────────┼─────────────┐ │
│ ▼ ▼ ▼ │
│ ┌────────────┐ ┌────────────┐ ┌──────────┐ │
│ │Chrome 149 │ │ fcitx 拼音 │ │ XFCE终端 │ │
│ │(浏览器) │ │ (中文输入) │ │ │ │
│ └────────────┘ └────────────┘ └──────────┘ │
│ │
│ ┌──────────────┐ ┌──────────────────┐ │
│ │ Hermes Agent │ │ OpenClaw (龙虾) │ │
│ │ v0.16.0 │ │ 2026.2.23-cn │ │
│ │ ~/.hermes/ │ │ ~/openclaw-cn/ │ │
│ └──────────────┘ └──────────────────┘ │
└─────────────────────────────────────────────────────┘
三、XFCE4 桌面环境
3.1 安装
sudo DEBIAN_FRONTEND=noninteractive apt-get update -qq
sudo DEBIAN_FRONTEND=noninteractive apt-get install -y xfce4 xfce4-goodies dbus-x11
3.2 版本信息
| 组件 | 版本 |
|---|---|
| xfce4-session | 4.18.3-1build2 |
3.3 验证
dpkg -l | grep xfce4-session
# xfce4-session 4.18.3-1build2
四、Google Chrome 浏览器
4.1 安装
cd /tmp
wget -q https://dl.google.com/linux/direct/google-chrome-stable_current_amd64.deb -O chrome.deb
sudo DEBIAN_FRONTEND=noninteractive apt-get install -y ./chrome.deb
4.2 版本信息
| 组件 | 版本 |
|---|---|
| Google Chrome | 149.0.7827.114 |
| 安装路径 | /usr/bin/google-chrome |
4.3 验证
google-chrome --version
# Google Chrome 149.0.7827.114
五、TigerVNC 远程桌面
5.1 安装
sudo DEBIAN_FRONTEND=noninteractive apt-get install -y tigervnc-standalone-server tigervnc-common
5.2 版本信息
| 组件 | 版本 |
|---|---|
| tigervnc-standalone-server | 1.13.1+dfsg-2build2 |
5.3 VNC 密码
printf '<VNC密码>\n<VNC密码>\nn\n' | vncpasswd
| 项目 | 值 |
|---|---|
| VNC 密码 | <VNC密码> |
| Display | :1 |
| 端口 | 5901 (RFB) |
| 分辨率 | 1920×1080 |
| 色深 | 24-bit |
5.4 配置文件
~/.vnc/config
## Supported server options to pass to vncserver upon invocation.
desktop=Ubuntu-XFCE
geometry=1920x1080
depth=24
localhost=no
关键:
localhost=no允许远程连接(非仅 127.0.0.1)。
~/.vnc/xstartup
#!/bin/sh
unset SESSION_MANAGER
unset DBUS_SESSION_BUS_ADDRESS
export XKL_XMODKEY_DISABLE=1
export XDG_CURRENT_DESKTOP=XFCE
export XDG_SESSION_TYPE=x11
export GTK_IM_MODULE=fcitx
export QT_IM_MODULE=fcitx
export XMODIFIERS=@im=fcitx
export DefaultIMModule=fcitx
export LANG=zh_CN.UTF-8
export LANGUAGE=zh_CN:en
[ -r $HOME/.Xresources ] && xrdb $HOME/.Xresources
vncconfig -iconic &
fcitx -d &
exec dbus-launch --exit-with-session startxfce4
要点:
exec启动 startxfce4(非后台&),fcitx -d &在 exec 之前启动。
5.5 systemd 自启动服务
/etc/systemd/system/vncserver@.service
[Unit]
Description=TigerVNC server for X display %i
After=syslog.target network.target
[Service]
Type=forking
User=ubuntu
Group=ubuntu
WorkingDirectory=/home/ubuntu
ExecStartPre=-/usr/bin/vncserver -kill :%i > /dev/null 2>&1
ExecStart=/usr/bin/vncserver :%i -geometry 1920x1080 -depth 24
ExecStop=/usr/bin/vncserver -kill :%i
Restart=on-failure
RestartSec=5
[Install]
WantedBy=multi-user.target
启用服务
sudo systemctl daemon-reload
sudo systemctl enable vncserver@1.service
sudo systemctl start vncserver@1.service
5.6 VNC 连接方式
方式一:VNC 客户端直连
| 参数 | 值 |
|---|---|
| 地址 | <公网IP>:5901 |
| 密码 | Vnc@2026 |
推荐客户端:RealVNC Viewer / TigerVNC Viewer / TightVNC
前提: 腾讯云安全组入站规则放行 TCP 5901。
方式二:SSH 隧道(安全,无需开 5901 端口)
# Windows PowerShell
ssh -L 5901:127.0.0.1:5901 ubuntu@<公网IP>
VNC 客户端连接 localhost:5901,流量走 SSH 加密。
方式三:XRDP(Windows 远程桌面)
需额外安装 XRDP(当前未安装):
sudo apt-get install -y xrdp sudo systemctl enable xrdp sudo systemctl start xrdp然后
Win+R→mstsc→ 连接<公网IP>:3389。
5.7 常用管理命令
# 查看运行中的 VNC 会话
vncserver -list
# 手动启动 VNC
vncserver :1
# 关闭 VNC
vncserver -kill :1
# systemd 管理
sudo systemctl start vncserver@1
sudo systemctl stop vncserver@1
sudo systemctl restart vncserver@1
sudo systemctl status vncserver@1
# 查看 VNC 日志
cat ~/.vnc/*.log
六、中文输入法(fcitx)
6.1 安装
sudo DEBIAN_FRONTEND=noninteractive apt-get install -y \
fcitx fcitx-bin fcitx-table-all fcitx-config-gtk \
fcitx-frontend-gtk2 fcitx-frontend-gtk3 fcitx-frontend-qt5 \
fcitx-pinyin fcitx-sunpinyin fcitx-module-dbus fcitx-module-x11 \
im-config
6.2 配置默认输入法
sudo im-config -n fcitx
sudo locale-gen zh_CN.UTF-8
6.3 环境变量
添加到 ~/.bashrc 和 ~/.vnc/xstartup:
export GTK_IM_MODULE=fcitx
export QT_IM_MODULE=fcitx
export XMODIFIERS=@im=fcitx
export DefaultIMModule=fcitx
export LANG=zh_CN.UTF-8
export LANGUAGE=zh_CN:en
6.4 VNC 中自启动
~/.vnc/xstartup 中在 exec startxfce4 之前添加:
fcitx -d &
6.5 使用方法
| 操作 | 快捷键 |
|---|---|
| 切换中/英文 | Ctrl + Space |
| 配置输入法 | 右键系统托盘键盘图标 → 配置 |
七、Hermes Agent(马)
定位: 有脑子的 AI 员工,能总结方法、记住偏好,高风险操作主动确认,适合复杂分析任务。
7.1 安装
# 使用国内镜像源一键安装
curl -fsSL https://res1.hermesagent.org.cn/install.sh | bash
7.2 版本信息
| 项目 | 值 |
|---|---|
| 版本 | v0.16.0 (2026.6.5) |
| upstream | c6b0eb4d |
| 安装路径 | ~/.hermes/hermes-agent/ |
| CLI 路径 | ~/.local/bin/hermes → symlink |
| Python | 3.12.3 (venv) |
| OpenAI SDK | 2.24.0 |
7.3 环境变量
~/.bashrc 中已添加:
export PATH="$HOME/.local/bin:$PATH"
7.4 首次配置
source ~/.bashrc
hermes setup # 交互式配置向导
hermes model # 选择模型(推荐 Kimi,国内免翻墙)
7.5 常用命令
hermes --version # 查看版本
hermes # 启动交互式聊天
hermes start # 后台运行
hermes stop # 停止服务
hermes doctor # 环境诊断
八、OpenClaw(龙虾)
定位: 听话的高级工具,给什么指令干什么,特别适合重复、标准化的活儿,如自动总结公告、生成报表。
8.1 安装
# 从 Gitee 克隆中文版源码
cd ~
git clone https://gitee.com/open-claw/openclaw-cn.git
cd openclaw-cn
# 配置国内 npm 镜像
pnpm config set registry https://registry.npmmirror.com/
# 安装依赖
pnpm install
# 构建
pnpm build
8.2 版本信息
| 项目 | 值 |
|---|---|
| 版本 | 2026.2.23-cn |
| 安装路径 | ~/openclaw-cn/ |
| 构建产物 | ~/openclaw-cn/dist/entry.js |
| Node.js | v18.x(已预装) |
| pnpm | 全局安装 |
8.3 全局命令
创建 /usr/local/bin/openclaw wrapper:
echo '#!/bin/bash
node /home/ubuntu/openclaw-cn/dist/entry.js "$@"' | sudo tee /usr/local/bin/openclaw
sudo chmod +x /usr/local/bin/openclaw
8.4 环境变量
~/.bashrc 中已添加:
export PATH=$HOME/openclaw-cn/node_modules/.bin:$PATH
8.5 首次配置
openclaw --version # 查看版本
openclaw doctor # 环境诊断
openclaw onboard --install-daemon # 首次向导(选 DeepSeek 模型)
8.6 常用命令
openclaw --version # 查看版本
openclaw gateway # 启动网关
openclaw dashboard # 打开管理面板
openclaw doctor # 环境诊断
九、桌面快捷方式创建
VNC 登录 XFCE 桌面后,在桌面上创建快捷方式,方便快速启动常用工具。
9.1 Hermes Agent 桌面快捷方式
在服务器上创建 ~/Desktop/hermes.desktop:
python3 -c "
import os
d = os.path.expanduser('~/Desktop')
with open(os.path.join(d, 'hermes.desktop'), 'w') as f:
f.write('[Desktop Entry]\n')
f.write('Version=1.0\n')
f.write('Type=Application\n')
f.write('Name=Hermes Agent\n')
f.write('Comment=Hermes AI Agent (马)\n')
f.write(\"Exec=xfce4-terminal -e \\\"bash -c 'source ~/.bashrc && hermes; exec bash'\\\"\\n\")
f.write('Icon=utilities-terminal\n')
f.write('Terminal=true\n')
f.write('Categories=Development;\n')
os.chmod(os.path.join(d, 'hermes.desktop'), 0o755)
print('OK')
"
双击桌面图标即可打开终端并启动 Hermes 交互式聊天。
9.2 OpenClaw 桌面快捷方式
在服务器上创建 ~/Desktop/openclaw.desktop:
python3 -c "
import os
d = os.path.expanduser('~/Desktop')
with open(os.path.join(d, 'openclaw.desktop'), 'w') as f:
f.write('[Desktop Entry]\n')
f.write('Version=1.0\n')
f.write('Type=Application\n')
f.write('Name=OpenClaw\n')
f.write('Comment=OpenClaw AI Agent (龙虾)\n')
f.write(\"Exec=xfce4-terminal -e \\\"bash -c 'openclaw gateway; exec bash'\\\"\n\")
f.write('Icon=utilities-terminal\n')
f.write('Terminal=true\n')
f.write('Categories=Development;\n')
os.chmod(os.path.join(d, 'openclaw.desktop'), 0o755)
print('OK')
"
双击桌面图标即可打开终端并启动 OpenClaw 网关服务。
9.3 Chrome 浏览器桌面快捷方式
XFCE 菜单中已有 Chrome,也可在桌面创建快捷方式:
cp /usr/share/applications/google-chrome.desktop ~/Desktop/
chmod +x ~/Desktop/google-chrome.desktop
9.4 快捷方式不信任问题
XFCE 首次双击 .desktop 文件会提示"未信任的应用程序启动器",点击信任即可。
如仍无法启动,执行:
chmod +x ~/Desktop/*.desktop
十、腾讯云安全组配置
| 协议 | 端口 | 来源 | 用途 |
|---|---|---|---|
| TCP | 22 | 0.0.0.0/0 | SSH 登录 |
| TCP | 5901 | 0.0.0.0/0 | VNC 远程桌面(可选,用 SSH 隧道可不开放) |
| TCP | 3389 | 0.0.0.0/0 | XRDP 远程桌面(如安装) |
安全建议: 推荐使用 SSH 隧道访问 VNC,不开放 5901 端口。
十一、端口与服务速查
| 端口 | 服务 | 状态 | 自启动 |
|---|---|---|---|
| 22 | SSH | ✅ 运行中 | ✅ |
| 5901 | TigerVNC (:1) | ✅ 运行中 | ✅ (systemd) |
| — | fcitx 输入法 | ✅ VNC 内运行 | ✅ (xstartup) |
| — | Hermes Agent CLI | ⚙️ 按需启动 | ❌ 手动 |
| — | OpenClaw CLI | ⚙️ 按需启动 | ❌ 手动 |
十二、快速操作指南
12.1 首次登录图形界面
# 1. 本地 PowerShell 建立 SSH 隧道
ssh -L 5901:127.0.0.1:5901 ubuntu@<公网IP>
# 2. 打开 VNC 客户端连接 localhost:5901
# 3. 输入密码: Vnc@2026
# 4. 进入 XFCE 桌面
12.2 打开 Chrome 浏览器
VNC 桌面内:左上角 Applications → Internet → Google Chrome
12.3 切换中文输入
VNC 桌面内按 Ctrl + Space 切换中/英文输入。
12.4 使用 Hermes
source ~/.bashrc # 确保 PATH 生效
hermes # 启动交互式聊天
12.5 使用 OpenClaw
openclaw --version # 验证安装
openclaw gateway # 启动网关服务
十三、故障排查
VNC 连接失败
# 检查 VNC 进程
vncserver -list
ps aux | grep Xvnc
# 重启 VNC
sudo systemctl restart vncserver@1
# 检查端口监听
ss -tlnp | grep 5901
# 应显示 0.0.0.0:5901 或 :::5901
# 查看日志
cat ~/.vnc/*.log | tail -30
黑屏/桌面不加载
# 检查 xstartup 权限
chmod +x ~/.vnc/xstartup
# 确认 startxfce4 使用 exec(非后台 &)
grep startxfce4 ~/.vnc/xstartup
# 应为: exec dbus-launch --exit-with-session startxfce4
fcitx 输入法不生效
# 检查环境变量
echo $GTK_IM_MODULE # 应输出 fcitx
echo $XMODIFIERS # 应输出 @im=fcitx
# 手动启动 fcitx
fcitx -d &
# 重启 VNC(会自动加载 fcitx)
sudo systemctl restart vncserver@1
Hermes 命令找不到
source ~/.bashrc
# 或
export PATH="$HOME/.local/bin:$PATH"
hermes --version
十四、部署命令速查(一键复制)
从零到完整部署的所有命令,按顺序执行:
# ===== 1. XFCE4 桌面 =====
sudo DEBIAN_FRONTEND=noninteractive apt-get update -qq
sudo DEBIAN_FRONTEND=noninteractive apt-get install -y xfce4 xfce4-goodies dbus-x11
# ===== 2. Google Chrome =====
cd /tmp
wget -q https://dl.google.com/linux/direct/google-chrome-stable_current_amd64.deb -O chrome.deb
sudo DEBIAN_FRONTEND=noninteractive apt-get install -y ./chrome.deb
# ===== 3. TigerVNC =====
sudo DEBIAN_FRONTEND=noninteractive apt-get install -y tigervnc-standalone-server tigervnc-common
printf '<VNC密码>\n<VNC密码>\nn\n' | vncpasswd
mkdir -p ~/.vnc
cat > ~/.vnc/config << 'EOF'
desktop=Ubuntu-XFCE
geometry=1920x1080
depth=24
localhost=no
EOF
cat > ~/.vnc/xstartup << 'EOF'
#!/bin/sh
unset SESSION_MANAGER
unset DBUS_SESSION_BUS_ADDRESS
export XKL_XMODKEY_DISABLE=1
export XDG_CURRENT_DESKTOP=XFCE
export XDG_SESSION_TYPE=x11
export GTK_IM_MODULE=fcitx
export QT_IM_MODULE=fcitx
export XMODIFIERS=@im=fcitx
export DefaultIMModule=fcitx
export LANG=zh_CN.UTF-8
export LANGUAGE=zh_CN:en
[ -r $HOME/.Xresources ] && xrdb $HOME/.Xresources
vncconfig -iconic &
fcitx -d &
exec dbus-launch --exit-with-session startxfce4
EOF
chmod +x ~/.vnc/xstartup
# ===== 4. VNC systemd 服务 =====
sudo tee /etc/systemd/system/vncserver@.service > /dev/null << 'EOF'
[Unit]
Description=TigerVNC server for X display %i
After=syslog.target network.target
[Service]
Type=forking
User=ubuntu
Group=ubuntu
WorkingDirectory=/home/ubuntu
ExecStartPre=-/usr/bin/vncserver -kill :%i > /dev/null 2>&1
ExecStart=/usr/bin/vncserver :%i -geometry 1920x1080 -depth 24
ExecStop=/usr/bin/vncserver -kill :%i
Restart=on-failure
RestartSec=5
[Install]
WantedBy=multi-user.target
EOF
sudo systemctl daemon-reload
sudo systemctl enable vncserver@1.service
sudo systemctl start vncserver@1.service
# ===== 5. 中文输入法 =====
sudo DEBIAN_FRONTEND=noninteractive apt-get install -y \
fcitx fcitx-bin fcitx-table-all fcitx-config-gtk \
fcitx-frontend-gtk2 fcitx-frontend-gtk3 fcitx-frontend-qt5 \
fcitx-pinyin fcitx-sunpinyin fcitx-module-dbus fcitx-module-x11 \
im-config
sudo im-config -n fcitx
sudo locale-gen zh_CN.UTF-8
cat >> ~/.bashrc << 'EOF'
# Fcitx Input Method
export GTK_IM_MODULE=fcitx
export QT_IM_MODULE=fcitx
export XMODIFIERS=@im=fcitx
export DefaultIMModule=fcitx
export LANG=zh_CN.UTF-8
export LANGUAGE=zh_CN:en
EOF
# ===== 6. Hermes Agent =====
curl -fsSL https://res1.hermesagent.org.cn/install.sh | bash
echo 'export PATH="$HOME/.local/bin:$PATH"' >> ~/.bashrc
# ===== 7. OpenClaw =====
sudo apt-get install -y nodejs npm
sudo npm install -g pnpm
cd ~
git clone https://gitee.com/open-claw/openclaw-cn.git
cd openclaw-cn
pnpm config set registry https://registry.npmmirror.com/
pnpm install
pnpm build
echo '#!/bin/bash
node /home/ubuntu/openclaw-cn/dist/entry.js "$@"' | sudo tee /usr/local/bin/openclaw
sudo chmod +x /usr/local/bin/openclaw
echo 'export PATH=$HOME/openclaw-cn/node_modules/.bin:$PATH' >> ~/.bashrc
# ===== 完成 =====
source ~/.bashrc
echo "部署完成!VNC: <公网IP>:5901 密码: <VNC密码>"
十五、钉钉机器人 + 大模型接入
将混元大模型(OpenAI 兼容接口)接入钉钉群机器人,实现 AI 问答 → 群消息推送。
15.1 钉钉机器人配置
在钉钉群中添加自定义机器人:
- 群设置 → 智能群助手 → 添加机器人 → 自定义
- 勾选「加签」,复制
Webhook和Secret - 消息签名算法(HMAC-SHA256 + Base64):
签名字符串 = timestamp + "\n" + secret
signature = Base64(HMAC-SHA256(signing_string, secret))
| 配置项 | 说明 |
|---|---|
| Webhook | https://oapi.dingtalk.com/robot/send?access_token=xxx |
| Secret | 加签密钥(防止 webhook 被滥用) |
| 消息类型 | text / markdown(推荐 markdown) |
15.2 混元大模型接入(OpenAI 兼容)
腾讯混元提供 OpenAI 兼容接口,可直接用 openai SDK 调用:
import OpenAI from 'openai';
const client = new OpenAI({
apiKey: '<API_KEY>', // 腾讯云 API Key
baseURL: 'https://tokenhub.tencentmaas.com/v1', // OpenAI 兼容端点
});
const response = await client.chat.completions.create({
model: 'hy3-preview', // 混元模型
messages: [
{ role: 'user', content: '你好,请介绍一下你自己' },
],
});
console.log(response.choices[0].message.content);
| 配置项 | 值 |
|---|---|
| baseURL | https://tokenhub.tencentmaas.com/v1 |
| model | hy3-preview(混元) |
| SDK | openai v4.x(Node.js) |
15.3 完整示例(服务器部署)
在服务器 ~/dingtalk-ai/ 目录下部署:
# 安装依赖
mkdir -p ~/dingtalk-ai && cd ~/dingtalk-ai
npm init -y
npm install openai axios crypto js-base64
# 写入配置(脱敏版,实际使用时替换占位符)
cat > ~/dingtalk-ai/config.json << 'EOF'
{
"dingtalk": {
"webhook": "https://oapi.dingtalk.com/robot/send?access_token=<ACCESS_TOKEN>",
"secret": "<SECRET>"
},
"openai": {
"apiKey": "<API_KEY>",
"baseURL": "https://tokenhub.tencentmaas.com/v1",
"model": "hy3-preview"
}
}
EOF
15.4 示例代码(~/dingtalk-ai/bot.js)
const crypto = require('crypto');
const axios = require('axios');
const { Base64 } = require('js-base64');
const { OpenAI } = require('openai');
const fs = require('fs');
// 加载配置(脱敏,实际填入真实值)
const CFG = JSON.parse(fs.readFileSync(`${__dirname}/config.json`, 'utf8'));
/** 计算钉钉签名 */
function dingSign() {
const ts = Date.now().toString();
const sig = Base64.encode(
crypto.createHmac('sha256', CFG.dingtalk.secret)
.update(`${ts}\n${CFG.dingtalk.secret}`).digest()
);
return { timestamp: ts, sign: sig };
}
/** 发送 Markdown 消息到钉钉 */
async function sendDing(mdTitle, mdText) {
const { timestamp, sign } = dingSign();
const url = `${CFG.dingtalk.webhook}×tamp=${timestamp}&sign=${encodeURIComponent(sign)}`;
const { data } = await axios.post(url, {
msgtype: 'markdown',
markdown: { title: mdTitle, text: mdText },
}, { headers: { 'Content-Type': 'application/json' } });
if (data.errcode !== 0) throw new Error(data.errmsg);
return data;
}
/** 调用混元 */
async function aiChat(question) {
const client = new OpenAI({ apiKey: CFG.openai.apiKey, baseURL: CFG.openai.baseURL });
const res = await client.chat.completions.create({
model: CFG.openai.model,
messages: [{ role: 'user', content: question }],
});
return res.choices[0].message.content;
}
/** 主流程:问 AI → 发钉钉 */
async function ask(question) {
const answer = await aiChat(question);
await sendDing('AI 助手回复', `### 问题\n${question}\n\n---\n### 回复\n${answer}`);
console.log('已发送到钉钉群');
}
// CLI 入口
if (require.main === module) {
const q = process.argv.slice(2).join(' ');
if (!q) { console.error('用法: node bot.js <问题>'); process.exit(1); }
ask(q).catch((e) => { console.error('错误:', e.message); process.exit(1); });
}
module.exports = { ask, aiChat, sendDing };
15.5 使用方法
# 测试:提问并发送到钉钉群
cd ~/dingtalk-ai
node bot.js "今天深圳天气怎么样"
# 定时推送(每天早上 9 点)
# 在 crontab 中添加:
# 0 9 * * * cd ~/dingtalk-ai && node bot.js "今日 AI 资讯摘要"
15.6 脱敏说明
部署文档中所有敏感信息已脱敏:
| 原文 | 脱敏后 |
|---|---|
access_token=090fba1... |
<ACCESS_TOKEN> |
secret = "SEC7acf..." |
<SECRET> |
apiKey: 'sk-wV5...' |
<API_KEY> |
实际部署时,将 <占位符> 替换为真实值,并不要将配置文件提交到公开仓库。
更多推荐


所有评论(0)