Expoint 是一款将“结构文化”与“无意义行为”并置的互动体验:你点击、你升级、你购买、更高的阶段、更多的排名——而一个讽刺又温柔的“观察者”会在关键节点以一句话介入,轻轻地把你从数字虚荣中拉回现实。这场体验的目标不是让你更沉迷,而是让你在沉迷中生出一丝觉察:生命中更重要的事情,往往不在屏幕里。
——当系统每 10 秒评估一次你的状态、在真正发生变化的瞬间才说话;当购物的诱惑以温柔的概率出现;当你逐渐从“更快更强”转为“为什么要更快更强”——你会发现,机制的意义是让你看见无意义,然后选择离开。
如果你只想知道这个项目的意义与价值:它是一面镜子,映照平台的结构、指标的压力、行为的惯性,最后把选择权还给“你”。
- 存在主义叙事:以点击与排行榜制造“成就感”,再用 AI 的一句话拆解这种成就的空洞。
- 双层消息系统:固定行为触发与 LLM 状态介入并存,既可靠又具情感张力。
- 状态机驱动:仅在状态真正变化时推送,避免噪音,保留关键时刻的说服力。
- 反指标语言:观察者的信息只有一句中文,使用逆反或陪伴语气,不提数字、不谈点击、不谈阶段。
- 伦理价值:通过“无意义的强化”引发“有意义的反思”,鼓励把注意力放回生活。
- 结构文化让我们在平台中“按规则参与”:多点、更快、更高,指标持续增长。
- 无意义行为却让人逐步麻木:点击、升级、购买,短暂的满足覆盖了长期的空虚。
- Expoint 不否认机制的快感,而是以机制为镜,设计一个“觉察的坡道”:当你从“投入”走到“分心”,从“焦虑”走到“决断”,你会在关键节点听到一句话,提醒你可以停下来。
- 情绪旅程工程:初始投入 → 竞争焦虑 → 升级痴迷 → 高潮混乱 → 哲学落点。
- 真实时序:后端每秒接收状态,LLM 每 10 秒评估并仅在变更时介入,信息更可信。
- 内容安全与多样性:单句中文信息、反指标、不重复固定句式,避免“信息疲劳”。
- 温柔的诱导:当点击与阶段高且相近时,以约 30% 概率轻轻建议“要不要试试商店里的东西?”——不是强推,是给你一个自我观察的机会。
- 开放式结局:最高阶段并非终点,真正的终点是你决定暂时离开,去做重要的事。
- 前端(Next.js)
app/components/*:点击区、商店、排行榜、提示与浮层。app/utils/websocketClient.ts:与后端 WebSocket 通道通信。
- 后端(Go)
websocket/hub.go:集中管理连接与消息分发。llm/analyzer.go:合并用户行为、每 10 秒批处理并仅在状态改变时触发 LLM。llm/deepseek_client.go:系统与用户提示词、响应校验;输出一条中文句子,逆反或陪伴语气,不含指标与数字。game/responses.go:购买与升级的固定文案(已中文化)。config/config.go:环境变量与约束(端口、速率限制、LLM 模型、分析周期等)。main.go:启动 HTTP 与 WebSocket 服务(默认:8080)。
- 请求合并与节流:用户动作被收集到内存队列,避免“响应风暴”。
- 分析时钟:每 10 秒触发 LLM 评估(
ANALYSIS_INTERVAL_SECONDS可配置)。 - 状态变更判断:仅当 LLM 给出的
new_state与前一状态不同才推送。 - 信息风格:单句、中文、逆反/陪伴、≤120 字、不含数字与技术词(如点击、阶段、参与度)。
- 多样性与过滤:鼓励多样句式,避免重复短语;服务端对输出进行长度与敏感词校验。
- 购买诱导的概率性:当点击与阶段高且相近时,约 30% 概率给出轻微建议,但绝不出现数字或指标。
- 后端
- 环境变量(示例):
SERVER_PORT=8080DEEPSEEK_API_KEY=<你的密钥>LLM_MODEL=deepseek-chatLLM_MAX_TOKENS=150LLM_TEMPERATURE=0.7RATE_LIMIT_REQUESTS_PER_MINUTE=6ANALYSIS_INTERVAL_SECONDS=10
- 进入
go/目录编译与运行:go build -o xtion-backend ../xtion-backend
- 健康检查:
http://localhost:8080/health - WebSocket:
ws://localhost:8080/ws
- 环境变量(示例):
- 前端
npm run dev或bun dev,默认端口http://localhost:3000- 前端通过
websocketClient.ts与后端/ws进行状态同步与消息接收。
- 开场:展示一个极简点击区与商店,讲述“多点一点就更好”的朴素直觉。
- 升级:购买倍增器或自动点击器,成就感迅速增长。
- 介入:在状态变化的关键节点,观察者用一句话“挑衅或陪伴”地提醒你:也许可以停一停。
- 诱导:当系统检测到你“已经很高且很相近”,它会以温柔的概率建议“要不要试试商店里的东西?”让你观察自己——你会跟随吗?
- 转折:你意识到“晋级的快感不会解决更大的问题”,选择在此刻暂停,转身去做真正重要的事。
- 一次完整的情绪旅程,而不是持续的消费冲动。
- 对平台结构与指标逻辑的直观理解:看见“为什么你会一直点下去”。
- 对自我注意力的主权:在关键节点做出“暂停”的决定。
- Step 1:打开前端主页,解释极简设计与点击逻辑。
- Step 2:点击并购买一两个物品(倍增器、自动点击器),展示反馈与中文文案。
- Step 3:保持 10 秒节奏,等待观察者在状态变化时发出一句话;强调“仅在变更时说话”。
- Step 4:若出现温柔购买建议,讨论“我选择跟随还是暂停”,引导观众思考。
- Step 5:展示排行榜或更高阶段,但强调“更高不一定更好”,提出离开建议。
- 内容治理:确保 LLM 输出符合主题与伦理边界,避免重复与疲劳。
- 性能与体验:保持每秒状态处理与 10 秒评估的时序,避免卡顿与噪音。
- 主题一致性:任何改动都应服务于“让用户在机制中看见无意义,从而选择更有意义”的核心。
- 本项目以体验与研究为目的,致力于公共叙事与注意力伦理的探索。
- 请在演示与传播时强调:选择权属于用户,机制只是一面镜子。