Chaojizan
БесплатноНе проверен群众帮群众的超级 App,当大基建来做:消息、视频、小程序和外卖、团购、酒店、跑腿在一个 App 里,平台只修底座。不以盈利为目的:商家总负担 5% 封顶、配送费 100% 归骑手,收支按月公开、结余不分红,账目谁都能核。FastAPI + Flutter + React,AGPL 开源,欢迎部署到你的城市。
Описание
群众帮群众的超级 App,当大基建来做:消息、视频、小程序和外卖、团购、酒店、跑腿在一个 App 里,平台只修底座。不以盈利为目的:商家总负担 5% 封顶、配送费 100% 归骑手,收支按月公开、结余不分红,账目谁都能核。FastAPI + Flutter + React,AGPL 开源,欢迎部署到你的城市。
README

超级赞(chaojizan)
超级赞是一个开源的生活服务平台,出发点是「群众帮群众」:把日常要用的东西装进一个 App —— 聊天、视频、小程序、外卖、到店团购、酒店、跑腿。账号和实名、消息、支付和账本、地图和配送、小程序托管、审核和申诉,这些底座修一次,上面每接一个业务都能直接用。
平台的收入只有几笔固定费用:外卖佣金 5% 封顶,团购核销收 2%,酒店离店收 5%,跑腿收 2%,消息、视频和小程序不收费。配送费一分不抽,账目每月公开,有结余也不分红,用在骑手保障、商家扶持和降费率上。代码 AGPL 开源,一个城市一个月一百多块钱就能跑起来。
现在有什么
| 板块 | 内容 | 状态 |
|---|---|---|
| 消息 | 私聊、群(最多 1000 人)、频道、服务号;订单一单一个群 | 已上线 |
| 通话、机器人 | 1 对 1 语音 / 视频通话;机器人平台(Bot API) | 已完成,线上未开 |
| 视频 | 投稿、弹幕、评论、竖屏流、UP 主空间;探店视频可挂本平台的店 | 已完成,后台开关控制上线 |
| 小程序 · 小游戏 | 开放平台,开发者注册开放,发布免费,没有能花钱买的曝光 | 已上线 |
| AI 助手 | 通过 MCP 让 AI 替你点餐、发视频、发布小程序;付不了款,也过不了审 | 点餐已上线 |
| 身份与信用 | 超级赞号、资料页标签与勋章、信用分(顾客/商家/骑手同一套机制) | 随下一版 |
| 外卖 | 23 个餐饮品类、拼单、到店自取、商家自配送 | 运营中 |
| 到店团购 · 排队 | 核销才收 2%,没用随时全额退;取号叫号 | 运营中 |
| 酒店住宿 | 离店才收 5%,无排他、无竞价排名、无年费 | 运营中 |
| 跑腿代购 | 帮送、帮买,平台收 2%,账单上单列 | 运营中 |
| 打车 | 计价规则公开,司机不被抽走三成 | 筹备中 |
| 网页版 / 电脑版 | 用户端网页版和 Windows、macOS、Ubuntu 电脑版,手机扫码登录 | 随下一版 |
怎么收费
| 业务 | 平台收多少 |
|---|---|
| 外卖 | 商家佣金 5% 封顶,单量大的商家阶梯降到 4%;配送费一分不抽 |
| 到店团购 | 核销才收 2%,未使用随时全额退 |
| 酒店 | 离店才收 5%;取消、未入住不收 |
| 跑腿 | 跑腿费收 2%,账单上单列;帮买的商品款一分不抽 |
| 消息、视频、小程序 | 不收费 |
几句话写在明处:
- 外卖佣金 5% 是上限,不是目标。哪天 3% 能活,就降到 3%。
- 配送费和小费 100% 归骑手,提现不收手续费。
- 每一单的钱去哪了(商家实收 / 骑手所得 / 平台留存),顾客在订单页看得到。
- 平台不以盈利为目的:收入先覆盖服务器、短信、地图和客服的开销,每月收支公开,结余不分红。
- 不做会员等级,不发平台补贴,不卖数据,不竞价排名,不收推广费。
平台收入只有上面这几笔。出了事按谁的问题算谁的:商家有责任,顾客拿回全款(配送费和小费也退),钱由商家出;骑手有责任,先从公开可查的骑手保障金池出,不够的由骑手承担,不封顶,能申诉。平台只在一种情况下出钱:平台判错了,平台自己认。首单立减、超时安抚券这类平台出钱的开关连同代码已经删了,拨不回来;停发之前发出去的券照旧能用。
账目怎么查
| 入口 | 内容 |
|---|---|
| 透明中心 | 每日核账公示(差一分钱都亮红灯)、佣金去向、赔付记录、每 100 元分账实算、实际佣金率、规则变更留痕、系统可用率 |
| 运营大屏 | 实时订单/注册规模/城市分布,店内电视可投屏 |
| 公开账本 | 全部账务流水哈希链锚点,社区见证节点持续复算。改历史上任何一分钱,全网都会知道 |
| 版本公示 | 线上运行的版本 = 本仓 tag,透明中心·最近更新 与本仓提交对得上 |
见证节点有 Python、Go、网页、App 四个实现,跑同一套核账用例(在 witness/testdata/),四个口径分叉的话,平台在某一栏做假就藏不住。
下载
| 端 | 直链 | 定位 |
|---|---|---|
| 🍜 用户端 | chaojizan-user-arm64.apk | 消息、视频、小程序;外卖、团购、酒店、跑腿,每一单分账可查 |
| 🏪 商家端 | chaojizan-merchant-arm64.apk | 入驻免费,总负担 5% 封顶 |
| 🛵 骑手端 | chaojizan-rider-arm64.apk | 配送费 100% 归你 |
| 🖥 用户端网页版 / 电脑版 | 随下一版发布:网页版在 chaojizan.cc/web/,电脑版有 Windows、macOS、Ubuntu |
用手机 App 扫码登录 |
安卓包是 arm64,当前线上版本见上面的 Release 徽章,下载页(带更新说明)在 https://chaojizan.cc/download。安装包由公开 CI 从 tag 构建,Release 页和下载站的 SHA-256 一致,App 内置更新检查,安装前校验 SHA-256。
收集了什么、用了哪几个第三方 SDK(极光推送、腾讯地图、安卓扫码用的 Google ML Kit)都写在隐私政策里。权限清单以三端 AndroidManifest.xml 为准;比如骑手端上线期间 App 在后台或锁屏也要定位(安卓会显示常驻通知),用于抢单大厅按距离排序、顺路判断和配送轨迹,下线就停。
自己部署一个
1. 后端(5 分钟)
docker compose up -d db redis # PostgreSQL(PostGIS) + Redis
cd server
python3 -m venv .venv && source .venv/bin/activate
pip install -r requirements.txt
uvicorn app.main:app --reload # http://localhost:8000/docs 看接口文档
# 另开终端灌演示数据
cd server && source .venv/bin/activate && python -m scripts.seed
或者全容器化:docker compose up -d --build。
2. 演示账号(密码都是 123456)
| 角色 | 手机号 | 说明 |
|---|---|---|
| 用户 | 13800000001 | 用户端登录 |
| 商家 | 13800000002 | 名下「张记面馆」(已过审) |
| 骑手 | 13800000003 | 骑手端登录 |
| 管理员 | 13800000000 | 管理后台 http://localhost:8000/admin |
| 商家 | 13800000004 | 名下「李记烧烤」待审核,演示审核流程 |
3. Flutter 三端
装好 Flutter SDK 后直接跑(平台目录已入库):
cd apps/user_app && flutter run
# merchant_app、rider_app 同理
- iOS 模拟器直连
http://127.0.0.1:8000 - Android 模拟器加
--dart-define=SUPERZ_API=http://10.0.2.2:8000 - 真机换成电脑的局域网 IP
4. 走一遍完整流程
- 用户端:金刚区「点外卖」→ 选品类 → 「张记面馆」加菜 → 支付(模拟一键完成)
- 商家端:新订单响铃 → 接单 → 出餐完成
- 骑手端:上线 → 抢单 → 取餐 → 送达
- 用户端:确认收货,订单完成。点开「钱去哪了」看这一单的分账
5. 改完代码跑什么
make unit # 纯函数单测,秒级
make analyze # Dart 静态检查 + 三端 Dart 单测 + 各 web tsc + 小程序测试
make test # 近 200 套 e2e,跑在真实 HTTP 接口上(需要服务已启动)
make test 的前置条件写在 Makefile 注释里(服务端要用 AUTO_FLOW_ENABLED=false 启动等),少一个都跑不完。e2e 清单在 server/tests/e2e_suites.txt,新写的要加进去,单测会拦漏加的。CI 把这份清单按实测耗时分成 4 组并行跑,每组一个干净库,套件之间不能互相依赖数据。
CI 对每个 PR 跑同样的三件事:服务端 e2e(起真 PostGIS/Redis/MinIO,和生产同一条代码路径)、三端静态检查与 Dart 单测、工作区与全历史的密钥扫描。配置在 .github/workflows/ci.yml,里面的注释解释了每个不显然的选择。
代码结构
chaojizan/
├── apps/
│ ├── user_app/ # 用户端(Flutter):消息、视频、小程序;外卖、团购、酒店、跑腿
│ ├── merchant_app/ # 商家端(Flutter):接单出餐、菜品、对账、营销、打印
│ └── rider_app/ # 骑手端(Flutter):抢单、导航、钱包、实名认证
├── packages/shared/ # 三端共享:模型、API 客户端、登录/开屏/推送/地图
├── packages/miniapp-sdk/ # 小程序 SDK(sz-webapp.js)
├── server/ # 后端(FastAPI + PostgreSQL/PostGIS + Redis)
│ └── app/
│ ├── state_machine.py # 订单状态机(所有状态变更的唯一入口)
│ ├── services/ # 结算/审计/账本锚点/风控/营销/定价……
│ └── routers/ # 业务路由 + 公开数据(screen/transparency)
├── web/ # 官网 + 运营大屏 + 透明中心 + 开发者文档(React + Vite)
├── merchant-web/ # 商家网页工作台(React+TS+AntD):外卖接单/菜品批量、酒店房态
├── admin-web/ # 平台后台(React+TS+AntD):审核、仲裁、社区治理、平台开关
├── developer-web/ # 开发者后台:小程序 / 小游戏 / 机器人的发布与管理
├── miniapps/ # 官方小程序和小游戏源码 + 最小模板
├── mcp-server/ # AI 助手的 MCP 服务(只用 Python 标准库)
├── witness/ # 社区见证节点脚本(任何人可跑,复算公开账本)
├── docs/ # 开发提示词、结构设计、运维手册
└── deploy/ # 生产部署(compose 全栈:api/nginx/frpc)
docs/DEV-PROMPTS-*.md 是这个项目的决策记录:每批功能动手前先写清楚调研结论、要守的边界、不做什么以及为什么。比 commit 信息完整,想看「为什么是这个设计」可以从 docs/INDEX.md 进。
订单状态流:待支付 → 待接单 → 制作中 → 待取餐 → 配送中 → 已送达 → 已完成。骑手在「制作中/待取餐」阶段抢单,每次流转写入 order_events 审计表。
一些设计决定
每条都给了代码坐标,不用信描述,可以直接去读实现(行号会漂移,对不上时按函数名搜):
- 金额一律用「分」存整数,杜绝浮点误差 ——
server/app/models.py的Dish.price_cents,订单侧Order.*_cents同理 - 状态机集中管控:非法流转直接 409,每次变更写审计表 —— 唯一入口
server/app/state_machine.py的assert_transition(),审计表order_events - 账本只追加不修改:冲账 = 追加负数行;每日核账恒等式,篡改 1 分钱会被抓出来 —— 铁律写在
models.py的RiderEarning文档里,冲账在services/settlement.py的reverse_merchant_earning() - 防超卖、防双花、抢单防冲突:一律用数据库条件 UPDATE,并发安全在存储层保证 —— 抢单
routers/riders.py的grab_order(),库存扣减routers/orders.py,提现行锁request_withdrawal() - 支付幂等:模拟支付与微信回调走同一个入账函数,联调只换通道不换逻辑 ——
services/payment_core.py的mark_order_paid() - 快照优于重算:凡是要当证据或当钱的(配送费拆分、申诉证据),一律在下单/送达当时存快照 —— 设计理由写在
models.py的Order.fee_parts字段上 - 样本不足就说不足:分位数、热力图这类统计,低于门槛不给数字只给样本数 ——
services/drop_time.py的MIN_SAMPLE = 20,热力图每格带enough标记
参与
- 提 issue / PR 前请读 CONTRIBUTING.md,提交走 Conventional Commits
- 安全漏洞不要走公开 issue,报告方式与威胁模型见 SECURITY.md
- 任何提交前跑
scripts/security_scan.sh .(仓库公开,密钥与内网信息零容忍) - 跑一个见证节点复算我们的账本;再进一步,照 docs/LEDGER-SPEC.md 用你的语言写个独立验证器
- 想把它部署到你的城市:开城手册
几个常被问到的
没有补贴,冷启动怎么办?
死亡螺旋怕的是每单倒贴钱:补贴一停人就走,不停钱就烧完。我们不补贴,也不打算跟大平台抢全国的量。一个城市一个月的固定开销一百多块,单少只是长得慢,不会被拖死。起步也不需要三边凑齐:消息、视频、小程序不靠商家和骑手的密度,用户有别的理由先用起来;外卖先找自带熟客的小店,一份 21 块的菜别的平台扣 4 块多,这里扣 1.05;骑手不够的地方先用到店自取和商家自配送。
这不也是抽成吗,只是多少的区别?
是抽成。区别不只在多少:5% 封顶写在这里,能降就降;收入只有上面那几笔,不卖数据、不收推广费、不抽配送费;平台自己的收支按月公开,结余不分红;代码开源,账算得对不对谁都能核。
公平、公正、公开具体指什么?
公开:每一单的钱怎么分,顾客在订单页看得到;平台账目串成哈希链,谁都能跑见证节点复算;线上跑的版本就是本仓库的 tag。公平:店铺排序不卖钱,小程序目录的排序是一段公开的纯函数;信用分只算平台判定成立、能申诉的事,接单之后才给这一单的交易对方看,不用来派单和定价。公正:判了责任、处罚了人都能申诉;判责规则、处置统计、管理员查看私聊的次数,都在透明中心公示。
接下来
底座先修好,业务一个一个接上去。
底座
- 账号与实名、消息、视频、小程序开放平台、公开账本与见证节点、信用分、用户端网页版与电脑版(随下一版发布)
- 微信支付正式商户号联调 —— 服务商资质 2026-08 已到位,收款链路代码就位,客户端 SDK 待接
- 分账自动化(货款直达商家、不经平台沉淀)—— 卡在一个必须先问微信的问题:我们属于「普通服务商」还是「电商平台服务商」,两套进件与分账 API 不通用
- iOS 版
- 逐城开城:开城清单运营 + 城市骑手/商家招募
生活服务
- 外卖、到店团购与排队、酒店住宿、跑腿代购都在运营中,收费见上面的表
- 外卖正在做的:场景难度进 ETA 补时(等送达段数据攒够,只补时不加价)
- 明确不做:爆单预警与单量预测、派单分、服务分、骑手等级、拿来处罚的违规积分、付费排名、平台补贴烧钱
出行
- 打车筹备中:司机不被抽走三成车费,计价规则公开,账目同一套透明框架
以后接进来的行当
凡是抽成高、账目不透明的行当,都可以接到这套底座上,用「低抽成 + 账目公开 + 代码开源」重做一遍:家政(阿姨的钱不过中介的手)、维修(明码标价,不搞小病大修)、货运(不收会员费,不用算法压价)、零工(日结工资一分不被中介截)。
这套代码 AGPL 开源,任何人可以拿它在任何城市部署一个不吸血的平台。它能跑通,就会有人跟着做。
开发日志
已交付能力全记录(点开)
- MVP 全链路:下单 → 支付 → 接单 → 配送 → 完成;订单状态机 + 审计表
- 商家入驻审核(食品经营许可证必填)、骑手实名认证(未认证不得上线抢单)
- 配送费按距离计价、商家营业时间自动开关店、超时自动流转(关单/取消/自动确认)
- 评价体系(一单一评,差评不删,刷评只标记不隐藏)、用户主动售后、客服工单
- 商家实时听单(WebSocket + 锁屏语音播报)、云打印、店员账号、KDS 出餐看板
- 骑手钱包与提现(行锁防双花)、商家对账(日账单恒等)、阶梯佣金自动降档
- 到店团购券(核销才收 2%,未核销全额退)、拼单、店铺券/满减/限时折扣(商家承担)
- 反作弊闭环(标记不拦截、分级处置可申诉)、食安投诉、深夜保护、极端天气停运
- 公开账本哈希链 + 社区见证节点 + 每日账务自检(凌晨核对近 30 天每一笔)
- 官网 + 全国运营大屏 + 透明中心(核账/佣金去向/赔付/财报/治理留痕/可用率)
- 外卖 23 品类体系(二级品类页)、开屏运营位(后台可配,不阻塞冷启动)
- 三端品牌开屏、亮暗双主题、长辈版字号
- 微信支付 V3 / 极光推送骨架就位(填 Key 即联调);短信验证码已接阿里云
- 生产部署:内网穿透全栈自持(compose:api/nginx/frpc),证书自动续期,每日备份 + 恢复演练
- 连锁店群:门店切换(X-Shop-Id)、品牌成员授权、总部统一下发营销、多门店合并对账
- 商家合规台账:证照有效期与到期提醒、从业人员健康证、进货查验(溯源)、菜品成本与毛利
- 商家效率:菜单批量导入、定时改价/上下架、多台云打印机、订单回调对接自家收银 ERP、蓝牙小票机直连
- 骑手权益:到店等餐时长记录、申诉通道、楼层补时、消息中心、接单偏好、同店批量取餐、周报、新手保护期、意见反馈(平台必须回复)
- 配送费透明:构成拆分存快照跟着订单走,四端可见;上门难度费顾客自选
- 消息:私聊、群、频道、贴纸、语音、1 对 1 语音/视频通话(开关控制)、订单一单一个群、服务号、机器人平台、社区治理、导出我的数据、超级赞号、标签与勋章、信用分
- 视频:投稿与转码、弹幕、评论、收藏、投币、UP 主空间、推荐与搜索、视频挂店
- 小程序开放平台:开发者注册开放、托管不可变版本、审核与申诉、initData 验签、云存储、小游戏
- AI 助手(MCP):令牌分权限,每项一张全匹配白名单,付款和审核永远在人手里
- 用户端网页版与电脑版:扫码登录、一键登录(手机确认),已登录的网页和电脑可以随时移除
许可
AGPL-3.0。拿去用,拿去改,但改完要还给群众。
Установка Chaojizan
У этого сервера нет опубликованного пакета — он собирается из исходников. Открой репозиторий и следуй инструкции в README.
▸ github.com/hanpaopao66/chaojizanFAQ
Chaojizan MCP бесплатный?
Да, Chaojizan MCP бесплатный — установка в пару кликов через Unyly без оплаты.
Нужен ли API-ключ для Chaojizan?
Нет, Chaojizan работает без API-ключей и переменных окружения.
Chaojizan — hosted или self-hosted?
Self-hosted: сервер запускается локально на твоей машине командой из раздела установки.
Как установить Chaojizan в Claude Desktop, Claude Code или Cursor?
Открой Chaojizan на unyly.org, выбери вкладку своего клиента (Claude Desktop, Claude Code, Cursor) и нажми Install — конфиг сгенерируется автоматически, без правки JSON.
Похожие MCP
GitHub
PRs, issues, code search, CI status
автор: GitHubFilesystem
Secure file operations with configurable access controls.
Memory
Knowledge graph-based persistent memory system.
Template MCP Server
A CLI tool to create a new Model Context Protocol server project with TypeScript support, dual transport options, and an extensible structure
автор: mcpdotdirectAmap Maps Mcp Server
MCP server for using the AMap Maps API
автор: duxiaohuiSupabase
Database, auth and storage
автор: SupabaseEverything
Reference / test server with prompts, resources, and tools.
Git
Tools to read, search, and manipulate Git repositories.
Sequential Thinking
Dynamic and reflective problem-solving through thought sequences.
Time
Time and timezone conversion capabilities.
Compare Chaojizan with
Не уверен что выбрать?
Найди свой стек за 60 секунд
Автор?
Embed-бейдж для README
Похожее
Все в категории development
