# 项目状态 — Digi Kedai Bot(公开仓库) > 最后更新:2026-09-06 > 本文件是此**公开仓库**的当前状态快照,供访客/协作者快速了解:这是什么、已完成什么、下一步做什么。 > 敏感信息(token/密码/内网拓扑)**永不**出现在此公开仓库,全部留在私有仓库 `dsm-resource-management`。 --- ## 一、这是什么 Digi Kedai([digikedai.com](https://www.digikedai.com))的多通道 AI 客服机器人,从私有仓库 `hoelee/dsm-resource-management` 的 `bot/` 子目录抽取而来,作为**独立公开仓库**发布,用于展示作品 + 供他人学习/复用。 - 通道:**Telegram**(grammY webhook)+ **WhatsApp**(WA Toolbox 适配器);Shopee/Lazada 已预留接口。 - 公开原则:只含机器人的代码、测试、文档;**不含**任何敏感信息(webhook secret、token、内网 IP 已全部清除)。 --- ## 二、已完成(公开仓库内可见) | 项 | 说明 | |---|---| | 核心架构 | 共享核心 + 通道适配器(`src/core` + `src/channels/*`) | | 检索 | `CatalogRetriever` 三档关键词检索(SKU token → 整句子串 → 分段匹配),top-5 facts 注入提示词 | | 免费试用开通 | 直接写 NocoDB(`Customers` + `CustomerProducts`),幂等 + 账号复用 + 多账号选择 | | 确定性状态机 | 购买意图、试用领取、深链(`buy-`/`ask-` 前缀)均在 LLM 之前拦截 | | 用户长期记忆 | `user_memory` KV 表 + 异步 LLM 摘要(`MemoSummarizer`) | | 测试 | 175+ vitest 用例(检索/试用/购买/记忆/WhatsApp 契约) | | 文档 | ARCHITECTURE / DEVELOPMENT / DECISIONS / OPERATIONS / ROADMAP / MEMORY_FEATURE / PURCHASE_FLOW_REDESIGN / TRIAL_ACCOUNT_SELECTION_REDESIGN | | README | 英文 `README.md` + 中文 `README.zh-CN.md`,含在线体验、欢迎语、自我介绍、收益、目录结构、联系方式 | | 仓库元数据 | 公开 + 12 个 topics + MIT 许可证(© Lee Teong Hoe,展示用途) | --- ## 三、私有仓库仍保留(不公开) 以下内容**只在**私有仓库 `hoelee/dsm-resource-management`,永不出现在这里: - 真实 webhook secret、BOT_TOKEN、LiteLLM master key、Postgres 密码(`SECRETS.md` §6) - DSM 内网拓扑(`mem0_net` / `bridge_hoelee` / 宿主路径 `/volume1/...`) - 部署脚本 `scripts/deploy_bot_dsm.py` / `verify_bot_dsm.py`(依赖 SSH 凭据) - 商品图片、完整 catalog 生成脚本 `gen_catalog.py`(公开仓库只含生成的 `catalog.ts` 数据) --- ## 四、下一步(待办 / 开放决定) 1. **内部拓扑脱敏(可选)**:代码/文档中仍引用 Docker 服务名(`mem0-postgres`、`litellm`、`nocodb`、`n8n`)——这些只是容器名、非敏感,但若主人想彻底隐藏内部结构,可统一改为 `postgres` / `llm-gateway` 等通用名。 2. **双仓库同步机制**:目前公开仓库是**一次性抽取**;私有仓库 `bot/` 后续改动需手动同步过来(或引入子模块 / 自动镜像)。 3. **Shopee/Lazada 适配器**:私有仓库 ROADMAP 的 Phase 3,实现时需同步到公开仓库。 4. **GitHub 镜像**:主人习惯「先 Gitea 后 GitHub」——此公开仓库后续可推 GitHub 提升可见度。 --- ## 五、维护约定 - 改 README / 加文档 → 同步更新本文件「二、已完成」与「四、下一步」。 - 私有仓库 `bot/` 有新改动 → 评估是否需同步到公开仓库,并更新本文件。 - 敏感信息检查:任何提交前跑 `grep -rniE "secret|token|sk-|192.168|/volume1" src/ docs/`(排除误报)确认零泄漏。