大白话版 · 照着做就能装上、配好、验通 · 给老板和技术一起看
一句话:装的是一个门店营销工作台网站,和账神同域名,老板进店后点「智能营销」就能用。
https://agqqs.com/ims/https://agqqs.com/api/health-imshttps://agqqs.com/ims-promo.html(给微信出图文卡)IMS_INDEX_HTTP_URL。| 你是谁 | 目标 | 看哪一章 |
|---|---|---|
| 老板 | 确认线上能打开、会进自己的店 | §5 验收 + 《用户操作手册》 |
| 老板+技术 | 把新版本推到网上 | §6 一键部署 |
| 技术 | 本机调试、改配置、查日志 | §7 本机 + §8~§17 |
图:浏览器 → Nginx → ag-ims(3780) → 数据;左边本机、中间一键上版、右边关键配置
图:生产站实时看板(装好后应长这样,版本以健康检查为准)
图:左边菜单 + 顶部按钮 + GEO 卡片(对照用)
store_id,常见格式:手机号_店名)| 项 | 要求 |
|---|---|
| 本机代码 | E:\zbs\zbs_cursor\AG\ag-ims,旁有 ag-app |
| Node.js | 建议 18+(能跑 npm start) |
| 生产机 | 已有 VPS(如 root@47.98.18.240),装好 Nginx、pm2、Node |
| SSH | 本机可 ssh root@47.98.18.240 / scp |
| 域名证书 | agqqs.com HTTPS 已通(账神同机) |
E:\zbs\zbs_cursor\AG\ag-imsE:\zbs\zbs_cursor\AG\ag-app/opt/ag-ims 静态落地页:/var/www/agqqs/
如果技术已经部署过,老板不用装软件,按下面验一遍即可。
https://agqqs.com/api/health-ims"ok":true 和 "version"(当前应为 40.0.0 或更新)https://agqqs.com/ims/?store_id=13810836570_求阙粉店https://agqqs.com → 进店 → 更多 → 智能营销,应打开同域 /ims 并带上当前店
图:健康检查返回示例(以线上实时 JSON 为准)
ok:true;不是就找技术看 pm2 / Nginx。store_id= 的完整链接,或从账神「更多」进。目标:把本机最新代码推到 VPS,重启服务,老板马上能在网上测。
E:\zbs\zbs_cursor\AG\ag-imscd /d E:\zbs\zbs_cursor\AG\ag-ims 一键部署生产.bat
server/public → VPS 上 npm + pm2 重启 → 重载 Nginx → 可选同步账神静态站桥接cd E:\zbs\zbs_cursor\AG\ag-ims npm run smoke:v36 npm run deploy:vps
| 本地 | 生产 |
|---|---|
server/ public/ package.json | /opt/ag-ims/ |
ag-app/public/ims-promo.html | /var/www/agqqs/ims-promo.html |
ag-app/public/ims-promo-og.jpg | /var/www/agqqs/ims-promo-og.jpg |
| Nginx 片段 | /etc/nginx/snippets/ag-ims.locations |
/opt/ag-ims/.env(没有会从示例复制)。务必含 IMS_UI_BASE=/ims/,否则样式/脚本路径会错。
cd /d E:\zbs\zbs_cursor\AG\ag-ims
npm install
npm run seed
npm start
http://127.0.0.1:3780/?store_id=13810836570_求阙粉店
http://127.0.0.1:3780/api/health
C:\Users\ASUS\AppData\Roaming\ag-ims\logs\ag-ims.logdata/*.json,按 store_id 隔离。可在账户页导出备份。
$env:IMS_PORT=3781 npm start同时把账神侧打开地址改成对应端口(见 §11)。
生产文件:/opt/ag-ims/.env(可参考 deploy/.env.production.example)
| 变量 | 推荐值 | 大白话 |
|---|---|---|
IMS_PORT | 3780 | 服务端口,给 Nginx 反代 |
IMS_HOST | 127.0.0.1 | 只监听本机,外网走 Nginx |
IMS_UI_BASE | /ims/ | 页面挂在 /ims/ 下时必须设,不然 CSS 丢 |
IMS_PUBLIC_ORIGIN | https://agqqs.com | 对外域名,拼短链/分享用 |
IMS_LOG_DIR | /var/log/ag-ims | 生产日志目录 |
| 变量 | 默认 | 大白话 |
|---|---|---|
IMS_OPS_TOKEN | ag-ims-ops | 运维调套餐口令,务必改成自己的强口令 |
IMS_ATTR_INGEST_TOKEN | ag-ims-attr | 账神回传「到店/入会」口令,两边要一致 |
IMS_INDEX_MODE | smart | 收录:mock / smart / http |
IMS_INDEX_HTTP_URL | (空) | 真探针地址;空则不用 http |
| 变量 | 说明 |
|---|---|
IMS_AI_API_KEY 或 DASHSCOPE_API_KEY | 真模型改写;不配=本地模板 |
IMS_AI_MODEL | 默认 qwen-plus |
IMS_AI_BASE_URL | OpenAI 兼容网关 |
IMS_AI_FORCE_LOCAL | 设 1 强制本地模板 |
IMS_EXPIRE_WEBHOOK | 钉钉/企微机器人,到期提醒 |
IMS_EXPIRE_WARN_DAYS | 默认 30 天内算将到期 |
IMS_EXPIRE_SCAN_MS | 扫描间隔,默认 6 小时 |
IMS_ATTR_WINDOW_DAYS | 归因窗口天数,默认 7 |
IMS_PORT=3780 IMS_HOST=127.0.0.1 IMS_UI_BASE=/ims/ IMS_PUBLIC_ORIGIN=https://agqqs.com IMS_LOG_DIR=/var/log/ag-ims IMS_OPS_TOKEN=请改成你的运维口令 IMS_ATTR_INGEST_TOKEN=请改成你的归因口令 IMS_INDEX_MODE=smart # IMS_AI_API_KEY= # IMS_INDEX_HTTP_URL=
.env 必须重启:pm2 restart ag-ims(或重新跑一键部署)。
营销台和账神共用 agqqs.com。关键是:/api/ims/ 必须抢在通用 /api/ 前面,否则会进错后端。
| 路径 | 作用 |
|---|---|
/ims/ | 页面与静态资源 → 3780 |
/api/ims/ | 接口 → 3780 |
/api/health-ims | 对外健康检查 |
/go/ | 推广短链点击跳转 |
片段文件:ag-app/nginx/snippets/ag-ims.locations
部署脚本会同步到:/etc/nginx/snippets/ag-ims.locations
nginx -t systemctl reload nginx
include 进主站 conf。
pm2 status pm2 logs ag-ims --lines 80 pm2 restart ag-ims pm2 describe ag-ims
| 环境 | 路径 |
|---|---|
| Windows 本机 | C:\Users\ASUS\AppData\Roaming\ag-ims\logs\ag-ims.log |
| Linux 生产 | /var/log/ag-ims/ag-ims.log |
| pm2 实时 | pm2 logs ag-ims |
START | AG账神智能营销 SaaS v40.0.0 ... ui_base=/ims/
https://agqqs.com,进入自己的门店/ims(无需再写本机 3780)。VITE_IMS_URL=http://127.0.0.1:3780VITE_IMS_ATTR_TOKEN 必须与营销台 IMS_ATTR_INGEST_TOKEN 一致。npm run build 并部署静态站(一键 bat 第 3 步会做)。cd /d E:\zbs\zbs_cursor\AG\ag-ims npm run seed
演示店:13810836570_求阙粉店
打开:https://agqqs.com/ims/?store_id=13810836570_求阙粉店
?store_id=手机号_店名&store_name=店名
图:演示店打开后的首页实拍
| 模式 | 何时用 | 怎么设 |
|---|---|---|
mock | 纯演示、固定结果 | IMS_INDEX_MODE=mock |
smart | 默认:智能模拟,够老板演示 | IMS_INDEX_MODE=smart |
http | 接外部真探针 | mode=http + 填 IMS_INDEX_HTTP_URL |
页面里也可在运维相关入口保存「收录引擎」配置(需运维权限/口令)。改完重启或按页面提示保存。
.env 写入 IMS_AI_API_KEY=你的密钥(或 DASHSCOPE_API_KEY)IMS_AI_MODEL=qwen-pluspm2 restart ag-imsIMS_OPS_TOKEN:调套餐、部分运维接口需要。默认值务必改掉,只给内部。
账神把「到店/入会」推给营销台时,请求头带 X-Ims-Attr-Token,值= IMS_ATTR_INGEST_TOKEN。
IMS_EXPIRE_WEBHOOK = 钉钉/企微机器人地址IMS_EXPIRE_WARN_DAYS=30顶栏 分享微信 依赖根站落地页出图文卡:
| 文件 | 作用 |
|---|---|
/var/www/agqqs/ims-promo.html | 分享纯链接落地(带 OG) |
/var/www/agqqs/ims-promo-og.jpg | 微信卡片缩略图 |
图:ims-promo-og.jpg(微信链接卡右侧小图)
/opt/ag-ims/data/(按店文件)再跑一遍 一键部署生产.bat 即可(覆盖代码,一般保留 data 与 .env)。
/opt/ag-ims 打包;或 git 切回旧提交再部署/api/health-ims → ok + version 正确/ims/ 有样式、有菜单、不是白屏多半是 IMS_UI_BASE 没设成 /ims/。改 .env 后重启 pm2,硬刷新浏览器。
检查 Nginx 是否 include 了 ag-ims.locations,且 /api/ims/ 在通用 /api/ 之前。
生产应走同域 /ims;重新 build+部署账神静态站。本机联调才用 3780。
确认 ims-promo.html 与 ims-promo-og.jpg 在根站;微信内用「发图片卡」或右上角分享(见 v40)。
v39 已改为本站 /ims/vendor/qrcode.min.js;硬刷新。仍失败看该文件是否 200。
本机:%APPDATA%\ag-ims\logs\ag-ims.log;生产:/var/log/ag-ims/ag-ims.log。
npm installnpm run seednpm start
配套文档:
· 使用:账神AI广告营销用户操作使用手册
· 版本脉络:docs/versions/README.md(v1→v41)