diff --git a/README.md b/README.md index 054c6ae..d12ece9 100644 --- a/README.md +++ b/README.md @@ -207,7 +207,6 @@ chatwoot-ai-agent/ ├── provision_server.py # HTTP 开通服务(555 行) ├── start_provision_v2.sh # Provision Server 环境变量 wrapper ├── chatwoot_ws_ctl.sh # 进程管理脚本 -├── start_agent.sh # 启动脚本(旧,推荐用 supervisor) ├── gateway/ # Platform Gateway 库(5 平台 API 集成) │ ├── __init__.py # 入口 + 6 种错误路径统一处理 │ ├── base.py # 基础通道抽象类 + 限流/熔断 @@ -227,62 +226,14 @@ chatwoot-ai-agent/ ├── requirements.txt # Python 依赖 ├── chatwoot_auth.example.json # Session 认证文件模板 ├── inboxes.example.json # 路由配置模板 -├── fastadmin/ # FastAdmin 用户端 PHP 插件 (v1.8+) -│ └── chathub/ # 用户注册/付费/会员中心 + 渠道绑定 UI -│ ├── controller/Index.php # 2108 行 (HTML 内联, 14 个 action) -│ ├── model/ChathubTenant.php -│ ├── config.php # 17 个后台可填配置项 -│ ├── install.sql # 5 张表 (tenant/log/order/channel_account/gateway_log) -│ ├── MIGRATIONS.md # v1.0 → v1.6 schema 升级脚本 -│ ├── assets/css|js/ # 样式 + 表格初始化 -│ └── README.md # 安装 + 路由表 + 生命周期 └── .gitignore ``` -## FastAdmin 用户端 (`fastadmin/chathub/`) +## 许可证 -PHP 前端 (ThinkPHP 5 / FastAdmin addon),为整个系统提供用户面:注册 → 选套餐 → 支付 → 会员中心 → 渠道绑定。所有 HTML 都在 `controller/Index.php` 里以 PHP heredoc 形式内联,不依赖 FastAdmin 模板引擎。 +**GNU Affero General Public License v3 (AGPL-3.0)** -### 路由表 - -| URL | Auth | 用途 | -|---|---|---| -| `/addons/chathub/index/landing` | public | 落地页 | -| `/addons/chathub/index/register` | public | 注册 + 选套餐 | -| `/addons/chathub/index/login` / `doLogin` / `logout` | public | 登录登出 | -| `/addons/chathub/index/my` | user (session) | 会员中心 (租户列表 + 嵌入代码 + 重新开通) | -| `/addons/chathub/index/channelList` / `channelAuth` / `channelCallback` | user | 5 平台渠道绑定 | -| `/addons/chathub/index/reprovision` | user | 用户主动补建资源 | -| `/addons/chathub/index/payAlipay` / `payWechat` | user | 发起支付 | -| `/addons/chathub/index/payNotify` | public (webhook) | 支付宝/微信异步回调 (验签 + 开户) | -| `/addons/chathub/index/payReturn` | public (webhook) | 支付宝/微信同步跳转 (3 分支 smart redirect) | - -### 与 chathub-provision 的契约 - -`payNotify` 和 `register` 调用 `chathub-provision` 服务的 `/provision` 端点: - -```http -POST {provision_server_url}/provision -Headers: X-API-Key, Idempotency-Key, Content-Type: application/json -Body: {"name": "...", "domain": "...", "email": "...", "type": "web_widget", "max_agents": 3} -``` - -`Idempotency-Key` 用 `reprov-{tenant_id}-{md5(domain|channel_type)}` 计算,允许 PHP 重试时 chathub-provision 端去重 (5 分钟 TTL)。 - -### 状态机 - -``` -register → status='provisioning' ─┬─ success → status='active' (embed_code 写入) - │ - └─ failure → status='pending' (用户点"重新开通") - -payNotify → _markOrderPaid() + _provisionAsync() (若 embed_code 为空) - └─ success → status='active' - -reprovision → 用户主动重试 -``` - -详见 `fastadmin/chathub/README.md`。 +本许可证要求:如果您修改了代码并向用户提供服务(包括通过网络提供),您必须公开您的修改。 ## 版本历史 @@ -292,19 +243,4 @@ reprovision → 用户主动重试 | v1.1 | Amazon API 集成,人工/AI 切换修复 | | v1.2 | 热加载配置架构 | | v1.3 | 代码清理优化,Metrics 监控 | -| v1.4 | 多租户架构,Provision Server,状态持久化,安全性重构 | -| v1.5 | 消息防抖(5s 累积合并),AI 错误重试(指数退避)| -| v1.6 | Platform Gateway 库——Amazon/JD/Taobao/PDD/TikTok 5 平台统一 API 集成 | -| v1.7 | 对话上下文(`--session-id`)+ 对话摘要 + 客户画像 + WebSocket 指数退避重连 | -| v1.8 | FastAdmin 用户端 PHP 插件 (`fastadmin/chathub/`) ——注册/选套餐/支付/会员中心/5 渠道绑定, 支付完成后自动调 chathub-provision 补建资源, 修复 `payNotify` HTTP 500 (ENUM schema + log status bug), 新增 `reprovision` 用户主动重试 | - -## 许可证 - -**GNU Affero General Public License v3 (AGPL-3.0)** - -本许可证要求:如果您修改了代码并向用户提供服务(包括通过网络提供),您必须公开您的修改。 - -选择 AGPL v3 的原因: -- 与 Chatwoot(本系统依赖的客服平台)保持许可证一致 -- 防止竞争对手直接复制本代码提供相同商业服务 -- 如果您需要闭源或商业许可,请联系作者 +| v1.4 | 多租户架构,Provision Server,状态持久化,安全性重构 | \ No newline at end of file