No description
- Go 79.3%
- HTML 6.8%
- CSS 6.2%
- JavaScript 4.8%
- Python 1.4%
- Other 1.5%
Without published plans the section showed only the enterprise card and a note asking visitors to sign in for prices. Now the section and its navigation link stay hidden until the plan list returns at least one plan; a visitor arriving at #pricing is taken there once it appears. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> |
||
|---|---|---|
| .forgejo/workflows | ||
| assets | ||
| cmd | ||
| deploy | ||
| design/duqiao-v1 | ||
| docs | ||
| internal | ||
| output | ||
| saas | ||
| scripts | ||
| skills | ||
| website/duoqiao | ||
| .dockerignore | ||
| .env.example | ||
| .env.saas.example | ||
| .env.standalone.example | ||
| .gitignore | ||
| assets.go | ||
| compose.saas-test.yaml | ||
| compose.saas.registry.yaml | ||
| compose.saas.yaml | ||
| compose.standalone.yaml | ||
| Dockerfile.native | ||
| go.mod | ||
| go.sum | ||
| Makefile | ||
| README.md | ||
渡桥:Telegram ↔ 飞书客服
一个原生 Go 服务,在同一工作台按接待账号选择两种 Telegram 模式。网页、数据库迁移、翻译、飞书接收与发送队列均由该服务提供;数据库沿用 PostgreSQL。
| 模式 | 回复与联系能力 | 接入方式 |
|---|---|---|
| 机器人授权 | 客户最后来信后 24 小时内回复 | Telegram Business 机器人授权 |
| 个人账号登录 | 跨天回复、指定客户主动联系 | 工作台扫码确认及按需两步验证,也可验证码登录 |
一个工作台 / 一个 Go 服务
+-- 账号 A:机器人授权 ---+
+-- 账号 B:个人账号登录 -+--> 共用飞书话题、翻译、客服权限、消息队列
已有客户在对应 Thread 回复。新客户通过 /联系 @用户名 建立话题,核对身份后发送首条消息。实际发送受 Telegram 账号状态、隐私与限流约束。
同一个客服群绑定多个个人账号时,主动联系需使用 /联系 接待账号ID @用户名;未指定时会提示选择,不会向多个账号分发。已有 Thread 回复仍按保存的会话自动路由。
多平台演进正在进行:统一渠道、飞书卡片、档案同步和 WhatsApp Cloud API 渠道已进入线上工作台(2026.09.16-go.4)。WhatsApp 尚缺真实应用凭据与测试号码,不能称为已接通。参见 目标与验收、WhatsApp 渠道记录 和 本次发布。
飞书客户卡片已加入本地版本,可在接待设置开启认领、转交、解决和跟进日期;默认关闭。状态更新独立排队,过期卡片在原话题续接,异常发送不自动重复。尚未进行真实飞书卡片验收,参见 卡片阶段记录。
配置与部署
使用 .env.saas.example 和 compose.saas.yaml。个人模式在同一份配置中增加 SAAS_TELEGRAM_API_ID 与 SAAS_TELEGRAM_API_HASH,不需要另一个服务或 Python 运行环境。已有账号默认机器人模式,不自动登录或切换。
开发验证
make saas-test
make check
正式测试全部使用 Go;saas-test 启动已有隔离 PostgreSQL 测试库,不接触正式商家数据。旧密文兼容性使用静态夹具在 Go 中验证,不需要 Python。
Python 旧实现已从仓库删除(2026-09-25),需要时查 git 历史。