26
stars
+0+12
0
forks
0
watchers
–
prs
–
issues
0
releases
–
discussions
README
简体中文 | English
在线演示 / Live Demo:完整应用的静态功能预览,支持页面浏览;生成、上传、支付和保存等后端操作不可用。
Content as Workflow | 15 项 AI 内容能力,一条任务链路,从输入到积分结算
!Next.js
!React
!TypeScript
!PostgreSQL
!Redis
!Tailwind
!Tools
!Version
!License
快速开始 · 能力总览 · 核心设计 · 积分账本 · 账号与充值 · 模型接入 · 接口清单 · 已知边界 · 作者主页 · 许可
---
⚡️ 来客啦是什么
面向中小商家的一站式 AI 内容生产台。把「想发什么」变成「已经发出去」,中间所有环节收进一条可追踪的任务链路。
不是聊天框套壳。差别在三个地方:
- 能力是结构化表单,不是自由提示词。 15 个工具各自定义输入字段(品类、卖点、平台、时长、音色、色板…),提示词由系统按 schema 拼装,输出是可编辑的 Block 数组,不是一段散装文本。
- 任务是状态机,不是一次请求。 长任务(混剪 300 秒、口播数字人 90 秒)进队列,前端靠 SSE 看实时阶段,刷新页面不丢进度,失败自动退积分。
- 模型是可插拔的路由目标,不是写死的 SDK。 内置 10 个模型 + 任意 OpenAI 兼容端点;同一把 Key 覆盖文本/图像/视频/语音;平台配 Key、租户带 Key、用户自建端点三种模式共存,互不干扰。
技术栈对齐 神秘力量_AI内容营销专家_功能复刻分析.md,UI 视觉基准为 ../prototype-v2.html(墨金编辑风:衬线标题 + 等宽编号 + 单一金色强调)。
---
🖼 界面预览
以下截图取自本地 npm run serve 的真实运行状态,没有 mock 数据:任务、素材、积分、成本都是这台机器上真跑出来的(1440×900)。
工作台 —— 本月产出、审核通过率、正在跑的任务、剩余积分四张卡;下方是 30 天产能趋势与生成队列,左侧为六组导航。
!工作台总览
全部能力 —— 15 个工具按文案 / 图片 / 视频 / 数字人 / 增长五条产线归档,每个卡片直接标出预计耗时、扣多少积分、被用过几次。
!15 项能力总览
智能文案 —— 左边是结构化输入(品类、平台、时长、卖点),中间是 Block 编辑器里的真实产出,右边同一屏标出模型、用时、扣分与计费方式,以及可回看的历史版本。
!智能文案工作区
素材库 —— 文字、图片、音频、视频、分镜、时间轴七档分类;缩略图可预览、可下载、可删除,「全部」只列成品,分镜和中间产物收在各自分档里。
!素材库
订阅与积分 —— 当前余额、本月发放 / 消耗 / 自动退回,四档套餐的积分池、并发数、席位与费率差异一屏可比。
!订阅与积分
模型接入 —— 平台 Key 与 BYOK 并存,Key 加密落库、前端只回显末四位;也支持填 Base URL + 模型名接任意 OpenAI 兼容端点。
!模型接入
管理台 —— 依赖自检(PostgreSQL / Redis / 对象存储)、模型路由的可用与已配置状态、逐个工具的开关与用量。
!管理台
登录 —— 邮箱验证码注册,本机未配 SMTP 时验证码写到控制台,管理员账号可一键填入。
!登录
---
🚀 三分钟跑起来
bash
1) 基础设施(PostgreSQL 16 + Redis 7)
docker compose up -d
2) 依赖
npm install
3) 环境变量(复制后按需修改)
cp .env.example .env
4) 开发:Web + Worker 一起起
npm run dev:all
或分开:npm run dev(Web) / npm run worker(队列消费者)
5) 生产
npm run build && npm start
6) 改过定价/计费量就跑一遍,规则不完整会以退出码 1 拦住你
npm run check:margin
一键启动(本地自测)
上面六步不想记,直接双击根目录的 start.bat(Windows)。它按顺序做这些事:
1. 查 Node 版本( ,用管理员账号登录:
| 账号 | 口令 | 角色 | 初始状态 |
| --- | --- | --- | --- |
| [email protected] | laikela2026 | owner(空间管理员) | studio 套餐 · 22,000 积分/月 |
没装 Docker 也能跑。 DB_DRIVER=auto 先探 PostgreSQL,连不上自动降级 PGlite(嵌入式 Postgres/WASM);
QUEUE_DRIVER=auto 同理,Redis 不可用时切进程内队列。功能完全一致,只是不适合多实例部署。
想确认当前跑在哪套驱动上:npm run doctor,或 GET /api/health。
常见问题(启动 / 计费):
| 现象 | 原因 | 处理 |
| --- | --- | --- |
| 后台改成高级套餐,界面还是原来的积分、下单报积分不足 | 旧逻辑用 grant:{org}:{月} 做幂等键,本月已用体验版发过 200,升级时整月额度被当成「已发过」静默跳过 | 已改为按差额补齐(topUpMonthly)。存量租户执行 npm run fix:plan-gap(先预演),加 -- --apply 落库 |
| 登录成功却立刻掉线 | http 环境下 COOKIE_SECURE=1,cookie 不回传 | 本机改成注释或 0,上了 HTTPS 再打开 |
| 改了 .env 里的 Key 但没生效 | Key 在模块加载时读入 | 重启进程;BYOK 与自定义端点则即时生效 |
| 任务卡在 queued 不动 | 没起 Worker | npm run worker,或用 npm run dev:all |
| 双击 start.bat 满屏 'xxx' 不是内部或外部命令 且带乱码 | 文件被存成含中文的 UTF-8/GBK,chcp 换代码页后 cmd 按旧字节偏移切行 | start.bat 必须纯 ASCII + CRLF(已由 .gitattributes 强制);中文只放在 Node 的输出里 |
---
📦 15 项能力总览
表里的积分是本地引擎下的实际扣分,跑云端模型会按所选模型实时变价;
耗时是基线估值,实际卡片会显示近 90 天同档引擎的实测中位数。
计费量按实际产出算 —— 出 4 张扣 4 张、出 60 秒扣 60 秒、文案越长扣越多。
卡片价、配置页预览价、提交时的扣费三处共用同一个函数 quoteCost(),不存在两套数字。
📝 文案 · 1 积分起
| 能力 | 输入要点 | 产出 | 耗时 | 积分 |
| --- | --- | --- | --- | --- |