Commit Graph

7 Commits (main)

Author SHA1 Message Date
fengruixiang 232a571157 feat: S2 IP 白名单场景(token 端点 + send-txt,经真 IIS)
临时改 oauth_client(setsail).ip_whitelist 与 run\ixserver\Web.config 的 Http_TrustedProxyIps,
验证:白名单不含本机时 token 401 / send-txt 401、伪造 XFF 无效、真链路回复不漏发;
127.0.0.1 与 ::1 不互通;分隔符与 CIDR;可信代理下 XFF 取最右的非代理段。结束(含异常)还原。
S2 其余鉴权负例(错 secret / 没 scope / 过期 token / 别的服务号)未包含。

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-29 15:56:14 +08:00
fengruixiang 327dee9f33 feat: epro_ig_demo 常开 IG 条款同意,闭环 ABP 补上 Agree 按钮
- db/ixserver/loop_patch.sql:epro_ig_demo 写 T_and_C_Setting(NeedSendAfterMinutes 10080),
  条款流程对第三方 chatbot 与人工状态都生效
- db/abp/loop_patch.sql 第 3 节:把模板「Agreement Button (Line IG)」追加到 epro_ig_demo
  条款组第二位。staging 的 IG 条款组漏了这条(Line 从问候模板按位置切、带着它),
  用户收到条款无按钮可点;闭环在这一处与 staging 不同。补丁可重复执行,末尾列出条款组
- scenarios/_lib.ps1:Complete-LoopTnC 替新用户走完条款 → 同意 → 选语言 → 问候,
  有 Agree 按钮就点按钮、没有退回裸 payload postback;默认选 English,保持 S5 的 Yes 问句
- S1 改为每次新 IGSID;S1 / S5 / S8 开头先走条款同意
- README 说明条款常开与 ABP 补丁

winbox 上 reset + reset-abp -Init 后 S1 / S5 / S8 均通过。

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-23 16:08:13 +08:00
fengruixiang e7f656cb99 feat: S5 IG 客服上线转人工场景
- scenarios/s5-ig-handoff.ps1:机器人状态建单 → SCRM 开工 + 客服上线(GetCheckResult 判合格)→ 下一条 echo 在前、问句在后
  → 点 Yes → 等待语、新人工工单推给 SCRM → 客服回复送达 → 第三方只收到转人工前的 2 条 → 旧单迟到回复 409 → 下班;
  失败也会客服下线、切回机器人
- loop_patch.sql 第 3 节:打开 epro_ig_demo 的 DisconnectChatbotFlowSetting(服务号在机器人状态时不合格,不影响 S1)
- README:S5 用法与前提

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-21 20:15:00 +08:00
fengruixiang d3c6dd07a9 feat: 场景跑完生成报告,loop.ps1 reports
- scenarios/_lib.ps1:Start-LoopRun / Add-LoopStep / Set-LoopTicket / Save-LoopReport,请观察台把这次运行存成 run\reports\ 下的单文件 HTML
- S1、S8 每个断言都记成一步,通过和失败都出报告;-NoReport 只断言不出报告
- S1 增加「Graph 应答 200」断言:之前 Graph 返回 400 时 IG 侧也记了出站,要到 send-txt 502 才判失败,原因不直观
- loop.ps1:观察台传 --reports-dir;新增 reports 命令列出最近的报告

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-21 16:29:39 +08:00
fengruixiang e0bfe6ed3a fix: deploy 不再清掉 iXserver 日志
robocopy /MIR 把运行时生成的 run\ixserver\Log、Logs 当成多余文件删掉,每次完整部署都丢日志(观察台也就断了内部步骤)。排除这两个目录。

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-21 16:12:11 +08:00
fengruixiang ff0e390238 feat: 闭环观察台角色、补齐 Web.config 路径覆盖、修 S1 竞态
- loop.ps1 新增 console 角色(:5090),传入 ABP / iXserver 日志目录与库连接
- overrides.psd1 补 WebchatPath、OffLineFormPath、AppConfigManager_AppConfigJsonFile(新增 config/ixserver/config.json)
- loop.psd1 新增 Ports.Console、QuotaName
- S1 等第三方回复记录改为轮询,失败时打印最新的记录
- README:观察台、iXserver 主日志位置

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-21 15:34:07 +08:00
fengruixiang ad136a9d53 feat: 闭环测试环境 loop.ps1、配置、数据库补丁与 S1/S8 场景
- loop.ps1:deploy / up / down / restart / reset / reset-abp / status / logs,WMI 起进程
- config:端口与闭环专用假凭据、iXserver Web.config 覆盖项、ABP appsettings.Loop.json
- db:iXserverLoop 与 iCONAbpFX 的闭环补丁(凭据换假值、外部地址进黑洞并自检)
- tools/CreateLoopDb.cs:按部署出来的 Model.dll 建库
- scenarios:S1(IG → 第三方 echo)、S8(SCRM 人工链路)

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-21 14:13:02 +08:00