lawandrorder/mate
效率与系统工具一个可本地运行的文本优先购物助手示例,演示返现、折扣码、包裹追踪和降价提醒的对话流程。
项目介绍
Mate 是一个文本优先的购物助手:购物前发消息给它,可以处理返现、专属折扣码、包裹追踪和降价提醒。线上产品 mate.fm 会把这些请求接入商户网络。
这个仓库是开源起步版,不是生产服务:包含一个可运行的小型代理、网页聊天演示、文档、原创图标集,以及明确标注的演示 provider。它没有接入线上商户网络,起步版里的每条回复都标有 [demo]。
适合想了解购物助手如何组织意图解析和 provider 接口、在本地跑演示,或复用图标集的人。它不会提供真实返现、折扣码或物流数据。
快速使用
需要 Python 3.10 或更高版本,运行时无需第三方包。克隆仓库并进入目录后,可以运行 CLI 或网页聊天:
git clone https://github.com/lawandrorder/mate.git
cd mate
python -m mate chat "cashback at Demo Shop"
python -m mate serve
然后打开本地服务 http://127.0.0.1:8080。其他示例输入覆盖折扣码、追踪和降价监控,例如 python -m mate "code for Demo Shop"、python -m mate "track DEMO-123456"、python -m mate watch --simulate-drop。测试套件用 python -m unittest discover -s tests -v 运行。
也可以用 Docker:
docker build -t mate-starter .
docker run --rm -p 8080:8080 mate-starter
本地演示的所有设置都是可选的。如果希望未识别消息走可选的 OpenRouter 回退,复制 .env.example 并设置 OPENROUTER_API_KEY;MATE_HOST、MATE_PORT 和 MATE_DATA_DIR 分别控制服务地址、端口和 JSON 存储目录。
运行方式
代理把收到的消息解析成意图——返现、折扣码、追踪、降价监控——再交给对应的 provider。本仓库里的 provider 都是演示实现:占位链接、DEMO-… 折扣码、写死的物流状态,以及不会抓取真实商品页的本地降价监控。可选的 LLM 回退只在意图解析失败时触发,代码里没有硬编码 API 密钥。
网页聊天是演示界面;POST /webhooks/twilio 下的 Twilio 适配器只是 stub,读取 Body 和 From 并用 TwiML 回复,不会自己发真实短信。签名校验默认关闭(TWILIO_VALIDATE_SIGNATURE=0),设为 1 可要求校验。
使用约束
- 起步版是演示,不提供真实返现、折扣码、配送或返现优惠;演示回复都标有
[demo]。 - 生产投递和商户网络仍在 mate.fm;本仓库保留短信和网页路径,没有实现线上 provider 适配器。
- 需要 Python 3.10+;本地部署也可以用 Docker 镜像。
- Twilio 适配器不会发送短信,在没有接入自己的服务前只是 webhook stub。
- 许可证为 MIT。
HotRepo 点评
该项目在 2026-11-12 进入 HotRepo 新项目榜,从首次观测快照到统计时点约 1 小时 40 分钟内获得 116 个 Star 和 3 个 Fork。站内没有记录到全语言日榜名次,也没有讨论数据。README 明确说明这是起步版而非线上 Mate 服务:有用的部分是意图路由骨架、可本地运行的演示、文档和一套原创图标。想找可用返现或追踪的读者应把它当作脚手架,实际功能需要看线上产品。
本文由 AI 根据项目 README 生成,更新于 ,以项目官方文档为准。