可以不仅仅是主持人:我如何用一些AI技巧打造一个有灵魂的海龟汤平台
----------------------
什么是海龟汤
在海龟汤中,展现给玩家的是汤面,真相被称作汤底,这个游戏至少 2 个人才能玩:有一个人是主持人,他在知晓汤底的情况下,对玩家的猜测作出判定,给出是/不是/是或不是/无关的回答。
正确答案是:
船长多年前曾遭遇海难,和船员在荒岛漂流,即将饿死。 当时,一位同伴端来一碗肉汤,说是 “海龟汤” ,船长喝了之后活了下来,但同伴死了。
多年后,他在餐厅喝到了真正的海龟汤,发现味道和当年那碗完全不一样。 他瞬间明白了:当年同伴给他吃的根本不是海龟,而是那位死去的同伴自己的肉。 出于巨大的愧疚和绝望,他选择了自杀。
从半个小时5美刀到可持续的支出
原本做这个网站,就是为了和女朋友一起玩海龟汤。于是用了谷歌的Gemini免费api,基本能应对几个人玩的需求,后来这个网站被抖音的博主发现后宣传了一波,带来了几百人进入网站。
很显然,这时候免费api无法满足需求。首先我做的是接入到之前搭建好的Gemini key池,但是仍然经不住用户的大量提问。
为了不让第一批用户流失,我果断接入了openrouter取代key池,结果不到半小时立马花了5美元。
这对我这个用爱发电的个人开发者来说,简直是破产倒计时。
痛定思痛,我开始寻找更具性价比的方案。经历了一番漫长的模型“迁徙”——从最初还在实验阶段的 Gemini Thinking Mode,转向了速度极快的 Gemini 2.0 Flash,最后锁定了 DeepSeek V3.2。
最关键的一步是,我利用了 DeepSeek 官方支持的 Context Caching(上下文缓存) 技术。海龟汤的规则、汤面设定动辄几千 token,如果每次对话都重复传输,不仅慢,而且都是冤枉钱。通过缓存技术,只需要支付一次“记忆成本”,后续的对话都能复用这段缓存,直接命中了“降本增效”的靶心。
这一套组合拳下来,成本直接降低了 90% 以上,终于让这个网站能够可持续地运转下去了。
从“人工智障”到“全知全能”的困境
海龟汤(Lateral Thinking Puzzle)的魅力在于信息差。作为主持人,你必须全知全能(知道真相),但又要守口如瓶(只能回答“是/不是”)。
最初,我直接通过 Prompt 把汤面和汤底塞给 AI:
1. 如果开启思考模式,主持人反应很慢,而且token消耗翻倍
2. 如果不开思考模式,AI回答的逻辑性很差,很多海龟汤的汤面充满了叙述性诡计。汤底一般都有着复杂的逻辑和人物关系,AI很难在500ms内构建出严谨的逻辑防线
在几十轮的测试后,我意识到:让一个 AI 既要理解复杂的谋杀诡计,又要构建严谨的逻辑防线,还要扮演生动的角色,这太强机所难了。
我们需要把“思考”和“表达”拆开。
----------------------
走过的弯路:向量检索 (RAG) 的“智障时刻”
在设计双层架构之前,我其实先尝试了 RAG (检索增强生成) 方案。
我的设想很完美:做一个“智能缓存层”。
1. 把每一次玩家的提问和 AI 的回答存入向量数据库
2. 通过用户反馈和人工干预,标记出正确的回答
3. 当前 10 次打向LLM的提问积累了足够的数据后,后续玩家如果问了类似的问题,就直接从数据库捞出AI回答最多的答案,或者是人工标记的正确答案,不再消耗 AI Token,还能提高准确度。
但在海龟汤里,这个方案完败。
核心原因在于,向量检索看重的是“语义相似度”,而不是“逻辑精确度”。
在海龟汤中,玩家经常会进行极为细微的试探:
● 玩家 A 问:“他是自杀吗?”
● 玩家 B 问:“他是被杀吗?”
在向量数据库眼中,这两句话的 Embedding(语义向量)极度相似,甚至可能被判定为同一个意图。
如果有一次 AI 回答了“是自杀”,缓存记录了下来。下次有人问“他是被杀吗”,RAG 很可能因为高相似度,直接自信地甩出缓存里的“是”——瞬间导致游戏逻辑崩塌。
海龟汤需要的是字斟句酌的逻辑判定,而不是模棱两可的语义搜索。这次失败让我意识到:不能依赖概率,必须依赖结构化的逻辑。
----------------------
核心技术:双层 AI 架构与 Logic Profile
为了解决这个问题,我设计了一套 双层 AI 架构:
Layer 1: The Architect (架构师) —— 离线深思
这是系统的核心。每当一道新题库入库时(也可以是按需触发),后台会触发一个高算力模型,我们称之为 Architect。
它的任务不是陪玩家聊天,而是进行深度逻辑拆解,生成一份结构化的 Logic Profile (逻辑档案)。
这个过程不需要实时,可以花 30 秒甚至更久。Architect 会思考:
● 这个故事的核心诡计是什么?
● 到底有哪些物理证据?
● 更多我需要的元数据
最终,它会生成一份包含游戏所有元数据的 JSON 存入数据库
Layer 2: The Host (主持人) —— 实时响应
当玩家开始游戏时,面对他们的其实是 Host。
Host 不需要消耗大量算力去推理真相,它只需要读取 Architect 预先生成的 Logic Profile。因为最难的逻辑判断已经被“预缓存”了,Host 运行在响应速度极快的模型上,专注处理玩家的自然语言交互。
这就像游戏开发中的“预渲染”:把最复杂的计算留在离线阶段,把最流畅的体验留给实时阶段。
----------------------
✨️ 预缓存带来的产品质变
这种架构不仅仅是为了省钱/加速/提高准确度,它直接方便了我开发后续的核心功能:
1. 通灵召唤与“认知盲区”技术
在 出前一汤 中,玩家可以进行通灵召唤,抽卡召唤故事里的人物或物品来对话。
但这有一个巨大的逻辑陷阱:死者知道自己怎么死的吗?
如果是被背后偷袭,死者就不应该知道凶手是谁。如果实时让 AI 判断这一点,很容易露馅。
但在 Logic Profile 中,Architect 已经预先定义好了每个角色的
基于这份档案,Host 在扮演角色时就有了完美的“剧本”。玩家会发现,召唤的角色只会描述自己视角的事情,像是在上演罗生门。
这种基于视角的叙事碎片,正是推理游戏的精髓。
2. 现场搜证:有序的随机
我们还做了一个类似“刮刮乐”的现场搜证功能。玩家面对 6 个档案袋,需要消耗积分刮开线索。
这 6 个线索不是随机生成的,而是 Architect 精心设计的:
● 1 个核心物证(直接指向凶手)
● 3 个侧面线索(辅助推理)
● 2 个干扰项(专门用来误导玩家)
如果完全依赖实时 AI 生成,它往往编不出高质量的干扰项。只有通过预生成的 Logic Profile,我们才能保证每一局游戏的体验都是经过“设计”的。
----------------------
不仅仅是文字:沉浸式体验的打磨
除了后端的硬核逻辑,作为独立开发者,我也在前端体验上下足了功夫。
调查卷宗与工作台
推理游戏最大的乐趣在于整理线索。我不希望玩家还要拿纸笔记录,所以在游戏里内置了一个完整的“侦探工作台”:
● 案卷 Tab:自动收集解锁的文字/图片线索
● 物证 Tab:通过网格视图管理搜证结果,支持打上「关键」「存疑」「排除」的印章
● 可视化笔记:将关键问答像便利贴一样钉在案情白板上
动态立绘系统
利用 Architect 生成的角色描述(Prompt),我们对接了图像生成模型,为每个召唤角色生成专属立绘。
为了防止剧透(比如死者不能画得太血腥导致直接看出死法),Architect 的生图 Prompt 遵循一套严格的美学与防剧透原则
----------------------
结语:技术服务于沉浸感
出前一汤 的开发过程让我明白,AI 原生应用如果不做逻辑分层,很容易变成一个单纯的 Chatbot 壳子。
通过引入 Architect (离线深思) 和 Host (在线快响) 的双层架构,利用 Logic Profile 将非结构化的故事转化为结构化的游戏数据,我们实际上是在用 AI 模拟人类游戏设计师的工作流。
这让 AI 能够驾驭海龟汤这种这种极度依赖逻辑闭环和信息差的游戏。
当然,技术只是手段。当你深夜和朋友在房间里,看着屏幕上“死者”发来的那句充满了遗憾与未知的证词时,那一刻的沉浸感,才是我想带给每一位玩家的礼物。
----------------------
Read full topic
via LINUX DO - 最新话题 (author: 有希 长门)
Invalid media:
image
image
image
image
当我们谈论 AI 应用时,往往陷入 RAG (检索增强生成) 或 Prompt Engineering (提示词工程) 的单一维度。但在构建 出前一汤 —— 一个多人即时海龟汤推理游戏时,我发现单纯依靠实时推理是远远不够的。
这一次,我想聊聊我做AI主持海龟汤的心路历程。
----------------------
什么是海龟汤
在海龟汤中,展现给玩家的是汤面,真相被称作汤底,这个游戏至少 2 个人才能玩:有一个人是主持人,他在知晓汤底的情况下,对玩家的猜测作出判定,给出是/不是/是或不是/无关的回答。
一位船长下船后,去餐厅喝了一碗海龟汤。 喝完之后,他痛哭流涕,随后自杀了。 请问:为什么?你可以提问或给出猜测,然后基于得到的反馈,继续猜测,直到找到真相。
正确答案是:
船长多年前曾遭遇海难,和船员在荒岛漂流,即将饿死。 当时,一位同伴端来一碗肉汤,说是 “海龟汤” ,船长喝了之后活了下来,但同伴死了。
多年后,他在餐厅喝到了真正的海龟汤,发现味道和当年那碗完全不一样。 他瞬间明白了:当年同伴给他吃的根本不是海龟,而是那位死去的同伴自己的肉。 出于巨大的愧疚和绝望,他选择了自杀。
从半个小时5美刀到可持续的支出
原本做这个网站,就是为了和女朋友一起玩海龟汤。于是用了谷歌的Gemini免费api,基本能应对几个人玩的需求,后来这个网站被抖音的博主发现后宣传了一波,带来了几百人进入网站。
很显然,这时候免费api无法满足需求。首先我做的是接入到之前搭建好的Gemini key池,但是仍然经不住用户的大量提问。
为了不让第一批用户流失,我果断接入了openrouter取代key池,结果不到半小时立马花了5美元。
这对我这个用爱发电的个人开发者来说,简直是破产倒计时。
痛定思痛,我开始寻找更具性价比的方案。经历了一番漫长的模型“迁徙”——从最初还在实验阶段的 Gemini Thinking Mode,转向了速度极快的 Gemini 2.0 Flash,最后锁定了 DeepSeek V3.2。
最关键的一步是,我利用了 DeepSeek 官方支持的 Context Caching(上下文缓存) 技术。海龟汤的规则、汤面设定动辄几千 token,如果每次对话都重复传输,不仅慢,而且都是冤枉钱。通过缓存技术,只需要支付一次“记忆成本”,后续的对话都能复用这段缓存,直接命中了“降本增效”的靶心。
这一套组合拳下来,成本直接降低了 90% 以上,终于让这个网站能够可持续地运转下去了。
从“人工智障”到“全知全能”的困境
海龟汤(Lateral Thinking Puzzle)的魅力在于信息差。作为主持人,你必须全知全能(知道真相),但又要守口如瓶(只能回答“是/不是”)。
最初,我直接通过 Prompt 把汤面和汤底塞给 AI:
“你是一个主持人,汤面是… 汤底是… 请回答玩家的问题。”结果是:
1. 如果开启思考模式,主持人反应很慢,而且token消耗翻倍
2. 如果不开思考模式,AI回答的逻辑性很差,很多海龟汤的汤面充满了叙述性诡计。汤底一般都有着复杂的逻辑和人物关系,AI很难在500ms内构建出严谨的逻辑防线
在几十轮的测试后,我意识到:让一个 AI 既要理解复杂的谋杀诡计,又要构建严谨的逻辑防线,还要扮演生动的角色,这太强机所难了。
我们需要把“思考”和“表达”拆开。
----------------------
走过的弯路:向量检索 (RAG) 的“智障时刻”
在设计双层架构之前,我其实先尝试了 RAG (检索增强生成) 方案。
我的设想很完美:做一个“智能缓存层”。
1. 把每一次玩家的提问和 AI 的回答存入向量数据库
2. 通过用户反馈和人工干预,标记出正确的回答
3. 当前 10 次打向LLM的提问积累了足够的数据后,后续玩家如果问了类似的问题,就直接从数据库捞出AI回答最多的答案,或者是人工标记的正确答案,不再消耗 AI Token,还能提高准确度。
但在海龟汤里,这个方案完败。
核心原因在于,向量检索看重的是“语义相似度”,而不是“逻辑精确度”。
在海龟汤中,玩家经常会进行极为细微的试探:
● 玩家 A 问:“他是自杀吗?”
● 玩家 B 问:“他是被杀吗?”
在向量数据库眼中,这两句话的 Embedding(语义向量)极度相似,甚至可能被判定为同一个意图。
如果有一次 AI 回答了“是自杀”,缓存记录了下来。下次有人问“他是被杀吗”,RAG 很可能因为高相似度,直接自信地甩出缓存里的“是”——瞬间导致游戏逻辑崩塌。
海龟汤需要的是字斟句酌的逻辑判定,而不是模棱两可的语义搜索。这次失败让我意识到:不能依赖概率,必须依赖结构化的逻辑。
----------------------
核心技术:双层 AI 架构与 Logic Profile
为了解决这个问题,我设计了一套 双层 AI 架构:
Layer 1: The Architect (架构师) —— 离线深思
这是系统的核心。每当一道新题库入库时(也可以是按需触发),后台会触发一个高算力模型,我们称之为 Architect。
它的任务不是陪玩家聊天,而是进行深度逻辑拆解,生成一份结构化的 Logic Profile (逻辑档案)。
这个过程不需要实时,可以花 30 秒甚至更久。Architect 会思考:
● 这个故事的核心诡计是什么?
● 到底有哪些物理证据?
● 更多我需要的元数据
最终,它会生成一份包含游戏所有元数据的 JSON 存入数据库
Layer 2: The Host (主持人) —— 实时响应
当玩家开始游戏时,面对他们的其实是 Host。
Host 不需要消耗大量算力去推理真相,它只需要读取 Architect 预先生成的 Logic Profile。因为最难的逻辑判断已经被“预缓存”了,Host 运行在响应速度极快的模型上,专注处理玩家的自然语言交互。
这就像游戏开发中的“预渲染”:把最复杂的计算留在离线阶段,把最流畅的体验留给实时阶段。
----------------------
✨️ 预缓存带来的产品质变
这种架构不仅仅是为了省钱/加速/提高准确度,它直接方便了我开发后续的核心功能:
1. 通灵召唤与“认知盲区”技术
在 出前一汤 中,玩家可以进行通灵召唤,抽卡召唤故事里的人物或物品来对话。
但这有一个巨大的逻辑陷阱:死者知道自己怎么死的吗?
如果是被背后偷袭,死者就不应该知道凶手是谁。如果实时让 AI 判断这一点,很容易露馅。
但在 Logic Profile 中,Architect 已经预先定义好了每个角色的
认知盲区:基于这份档案,Host 在扮演角色时就有了完美的“剧本”。玩家会发现,召唤的角色只会描述自己视角的事情,像是在上演罗生门。
这种基于视角的叙事碎片,正是推理游戏的精髓。
2. 现场搜证:有序的随机
我们还做了一个类似“刮刮乐”的现场搜证功能。玩家面对 6 个档案袋,需要消耗积分刮开线索。
这 6 个线索不是随机生成的,而是 Architect 精心设计的:
● 1 个核心物证(直接指向凶手)
● 3 个侧面线索(辅助推理)
● 2 个干扰项(专门用来误导玩家)
如果完全依赖实时 AI 生成,它往往编不出高质量的干扰项。只有通过预生成的 Logic Profile,我们才能保证每一局游戏的体验都是经过“设计”的。
----------------------
不仅仅是文字:沉浸式体验的打磨
除了后端的硬核逻辑,作为独立开发者,我也在前端体验上下足了功夫。
调查卷宗与工作台
推理游戏最大的乐趣在于整理线索。我不希望玩家还要拿纸笔记录,所以在游戏里内置了一个完整的“侦探工作台”:
● 案卷 Tab:自动收集解锁的文字/图片线索
● 物证 Tab:通过网格视图管理搜证结果,支持打上「关键」「存疑」「排除」的印章
● 可视化笔记:将关键问答像便利贴一样钉在案情白板上
动态立绘系统
利用 Architect 生成的角色描述(Prompt),我们对接了图像生成模型,为每个召唤角色生成专属立绘。
为了防止剧透(比如死者不能画得太血腥导致直接看出死法),Architect 的生图 Prompt 遵循一套严格的美学与防剧透原则
----------------------
结语:技术服务于沉浸感
出前一汤 的开发过程让我明白,AI 原生应用如果不做逻辑分层,很容易变成一个单纯的 Chatbot 壳子。
通过引入 Architect (离线深思) 和 Host (在线快响) 的双层架构,利用 Logic Profile 将非结构化的故事转化为结构化的游戏数据,我们实际上是在用 AI 模拟人类游戏设计师的工作流。
这让 AI 能够驾驭海龟汤这种这种极度依赖逻辑闭环和信息差的游戏。
当然,技术只是手段。当你深夜和朋友在房间里,看着屏幕上“死者”发来的那句充满了遗憾与未知的证词时,那一刻的沉浸感,才是我想带给每一位玩家的礼物。
----------------------
3 posts - 3 participants
One More Thing
作为一个不需要下载、打开即玩的时候 PWA 应用,出前一汤 完美适配了移动端。
欢迎来试玩:出前一汤
同时也欢迎大家在评论区交流 AI 应用开发的心得!
Read full topic
via LINUX DO - 最新话题 (author: 有希 长门)
Invalid media:
image
image
image
image
有什么AI修图app推荐吗?比如把照片搞成徕卡风味的
要是能在app里对风格化的程度进行微调就更好了
免费或者付费额度不太高(10r/月)这样
2 posts - 2 participants
Read full topic
via LINUX DO - 最新话题 (author: ck yin)
要是能在app里对风格化的程度进行微调就更好了
免费或者付费额度不太高(10r/月)这样
2 posts - 2 participants
Read full topic
via LINUX DO - 最新话题 (author: ck yin)
Anthropic 又收紧了
这个
anthropic.com
Consumer Terms of Service
Anthropic is an AI safety and research company that's working to build reliable, interpretable, and steerable AI systems.
15 posts - 15 participants
Read full topic
via LINUX DO - 最新话题 (author: xuan)
Invalid media:
image
image
这个
anthropic.com
Consumer Terms of Service
Anthropic is an AI safety and research company that's working to build reliable, interpretable, and steerable AI systems.
15 posts - 15 participants
Read full topic
via LINUX DO - 最新话题 (author: xuan)
Invalid media:
image
image
大家有推荐的免费云服务器、EC2之类的吗?目前知道amazon新用户可以免费一年
好像甲骨文有个终身免费的?不知道其他云有没有
13 posts - 10 participants
Read full topic
via LINUX DO - 最新话题 (author: paps)
好像甲骨文有个终身免费的?不知道其他云有没有
13 posts - 10 participants
Read full topic
via LINUX DO - 最新话题 (author: paps)
有没有佬友有邀请码,求个邀请码
有个朋友看这个论坛挺有意思的,我还不到三级,实在天天刷了,帖子满足要求太慢了,求个本站邀请码
9 posts - 5 participants
Read full topic
via LINUX DO - 最新话题 (author: Jeff zhao)
有个朋友看这个论坛挺有意思的,我还不到三级,实在天天刷了,帖子满足要求太慢了,求个本站邀请码
9 posts - 5 participants
Read full topic
via LINUX DO - 最新话题 (author: Jeff zhao)
今天成为一员啦,潜水小半年
正式成为佬友,以后可以和大家一起吹水了~~
14 posts - 12 participants
Read full topic
via LINUX DO - 最新话题 (author: huyoo)
正式成为佬友,以后可以和大家一起吹水了~~
14 posts - 12 participants
Read full topic
via LINUX DO - 最新话题 (author: huyoo)
ai总结是坏了吗?
不知道大家会不会用这个功能,我对不了解的领域的帖子的时候都会让ai总结一下,今天在用的时候一直这样,是没额度了吗?
4 posts - 3 participants
Read full topic
via LINUX DO - 最新话题 (author: mengnimen)
Invalid media: image
不知道大家会不会用这个功能,我对不了解的领域的帖子的时候都会让ai总结一下,今天在用的时候一直这样,是没额度了吗?
4 posts - 3 participants
Read full topic
via LINUX DO - 最新话题 (author: mengnimen)
Invalid media: image
这Cursor用的也太快了
12号开通的pro 现在显示已经用了20$, 我感觉也没怎么用,, 额度是从这里看吗?
我现在只敢用auto了
3 posts - 3 participants
Read full topic
via LINUX DO - 最新话题 (author: 张大宇学不动)
Invalid media: image
12号开通的pro 现在显示已经用了20$, 我感觉也没怎么用,, 额度是从这里看吗?
我现在只敢用auto了
3 posts - 3 participants
Read full topic
via LINUX DO - 最新话题 (author: 张大宇学不动)
Invalid media: image
【抽奖】GLM Coding Plan 7日体验卡 * 2
抽奖主题: 抽掉 GLM Coding Lite 送的2张7日体验卡
[奖品1]:[GLM周卡]
[奖品2]:[GLM周卡]
:three_o_clock: 活动时间:
截至时间:[01/16 14:00]
截至时间:[01/16 17:00]
📝 参与方式:
在本帖下回复任意内容
🔍️ 抽奖规则:
每位用户仅允许参与一次。
使用官方抽奖工具随机抽取中奖者。
⚠️ 注意事项:
本活动将在活动截止时间后关闭回帖,以确保公正性。
中奖者将在活动结束后12小时内在本帖公布,并通过私信通知领奖方式。
所有规则及抽奖结果由活动发起人和论坛管理团队最终解释。
9 posts - 9 participants
Read full topic
via LINUX DO - 最新话题 (author: automan)
抽奖主题: 抽掉 GLM Coding Lite 送的2张7日体验卡
第一次使用抽奖功能,体验一下 😆🏆️ 奖品详情:
[奖品1]:[GLM周卡]
[奖品2]:[GLM周卡]
:three_o_clock: 活动时间:
截至时间:[01/16 14:00]
截至时间:[01/16 17:00]
📝 参与方式:
在本帖下回复任意内容
🔍️ 抽奖规则:
每位用户仅允许参与一次。
使用官方抽奖工具随机抽取中奖者。
⚠️ 注意事项:
本活动将在活动截止时间后关闭回帖,以确保公正性。
中奖者将在活动结束后12小时内在本帖公布,并通过私信通知领奖方式。
所有规则及抽奖结果由活动发起人和论坛管理团队最终解释。
9 posts - 9 participants
Read full topic
via LINUX DO - 最新话题 (author: automan)
求助风佬机场支付不了
救命呀,点击了去支持,显示record not found
{
“error_msg”: “record not found”,
“data”: null
}
5 posts - 3 participants
Read full topic
via LINUX DO - 最新话题 (author: linus)
Invalid media:
image
image
救命呀,点击了去支持,显示record not found
{
“error_msg”: “record not found”,
“data”: null
}
5 posts - 3 participants
Read full topic
via LINUX DO - 最新话题 (author: linus)
Invalid media:
image
image
100天的徽章我来啦
现在已经养成了习惯,根本戒不掉 😂
2 posts - 2 participants
Read full topic
via LINUX DO - 最新话题 (author: S大魔导)
Invalid media: image
现在已经养成了习惯,根本戒不掉 😂
2 posts - 2 participants
Read full topic
via LINUX DO - 最新话题 (author: S大魔导)
Invalid media: image
windows终端工具求助
佬们,你们有什么好用的windows终端工具么?原版cmd或者shell用CC老是闪屏
15 posts - 10 participants
Read full topic
via LINUX DO - 最新话题 (author: 范特西)
佬们,你们有什么好用的windows终端工具么?原版cmd或者shell用CC老是闪屏
15 posts - 10 participants
Read full topic
via LINUX DO - 最新话题 (author: 范特西)
你们的CF账户有免费Snippets功能吗?
最近在看CF Snippets,想着部署一个凳子玩玩来着。
但是自己的账户没有 snippets 功能
我自己有xyz\cn\com\top几个域名。
这似乎是一个灰度测试,还是说现在并不给免费使用,必须订阅..
今天白花了50(xyz10年+xyz1年)的域名费用。
晚上回去吃泡面咯。
10 posts - 8 participants
Read full topic
via LINUX DO - 最新话题 (author: RemMai)
最近在看CF Snippets,想着部署一个凳子玩玩来着。
但是自己的账户没有 snippets 功能
我自己有xyz\cn\com\top几个域名。
这似乎是一个灰度测试,还是说现在并不给免费使用,必须订阅..
今天白花了50(xyz10年+xyz1年)的域名费用。
晚上回去吃泡面咯。
10 posts - 8 participants
Read full topic
via LINUX DO - 最新话题 (author: RemMai)
用Gemini给ZX.CI弄了个展示页
展示:
ZX.CI
源码:
vzxzv/zx.ci
有需要的直接 vercel 一键部署
1 post - 1 participant
Read full topic
via LINUX DO - 最新话题 (author: 苏哥拉弟)
展示:
ZX.CI
源码:
vzxzv/zx.ci
有需要的直接 vercel 一键部署
1 post - 1 participant
Read full topic
via LINUX DO - 最新话题 (author: 苏哥拉弟)
team的对话别人会看到吗? 信息是安全的吗?有没有大佬知道?
2 posts - 2 participants
Read full topic
via LINUX DO - 最新话题 (author: 火星号)
2 posts - 2 participants
Read full topic
via LINUX DO - 最新话题 (author: 火星号)
kiro今天还可以,稳定,不像前几天,一直没有响应。
8 posts - 6 participants
Read full topic
via LINUX DO - 最新话题 (author: xycxyc)
Invalid media: image
8 posts - 6 participants
Read full topic
via LINUX DO - 最新话题 (author: xycxyc)
Invalid media: image
antigravity每5小时token大概是多少,有佬知道吗
claude opus每5小时的token限额有佬知道吗,大概的就行
6 posts - 5 participants
Read full topic
via LINUX DO - 最新话题 (author: talker)
claude opus每5小时的token限额有佬知道吗,大概的就行
6 posts - 5 participants
Read full topic
via LINUX DO - 最新话题 (author: talker)
gemini-3-image 的api是不支持上下文的吗
让它对前一个生成出来的图片进行修改,结果给我当成全新的指令了,在ai studio里又是能够理解的 :tieba_028:
3 posts - 2 participants
Read full topic
via LINUX DO - 最新话题 (author: ko ma)
Invalid media:
image
image
让它对前一个生成出来的图片进行修改,结果给我当成全新的指令了,在ai studio里又是能够理解的 :tieba_028:
3 posts - 2 participants
Read full topic
via LINUX DO - 最新话题 (author: ko ma)
Invalid media:
image
image
告别干等!3 分钟让 OpenCode 自动通知你任务完成
运行效果
配置完成后,每当 OpenCode 完成一次对话,macOS 右上角会自动弹出系统通知提醒你。
为什么需要任务完成提醒?
使用 OpenCode 处理复杂任务时,AI 可能需要较长时间来思考和执行。这时你可能会切换到其他窗口做别的事情,但又担心错过 AI 的回复。
通过配置任务完成提醒,当 OpenCode 完成当前对话并进入空闲状态时,macOS 会自动弹出系统通知,提醒你回来查看结果。
前置条件
● macOS 系统
● 已安装 OpenCode CLI
● 脚本编辑器的通知权限已开启
开启脚本编辑器通知权限
macOS 的
第一步:触发权限请求
1. 打开 脚本编辑器(Script Editor) ● 搜索「脚本编辑器」或「Script Editor」打开
2. 在脚本编辑器中输入以下代码:
3. 点击运行按钮(▶️)执行脚本
第二步:开启通知权限
1. 打开 系统设置(System Settings)
2. 点击左侧 通知(Notifications)
3. 在应用列表中找到 Script Editor(脚本编辑器)
4. 点击进入,开启 允许通知(Allow Notifications)
5. 通知样式选择 横幅(Banners)或 提醒(Alerts)
第三步:验证权限生效
回到你的终端(Terminal / iTerm / IDEA Terminal 等),执行:
如果看到系统通知弹出,说明权限配置成功。
配置步骤
步骤一:创建插件目录
OpenCode 会自动加载
打开终端执行:
步骤二:创建通知插件
创建插件文件:
写入以下代码:
保存并退出(nano 中按
步骤三:重启 OpenCode
关闭当前 OpenCode 会话,重新启动即可自动加载插件。
启动后你会在日志中看到:
步骤四:验证效果
随便问 OpenCode 一个问题,等待回复完成后,你应该会收到一条 macOS 系统通知。
常见问题排查
问题一:syntax error (-2741)
错误信息:
原因: 引号嵌套处理不当。在 Bun shell 模板字符串中直接嵌套单引号和双引号会导致解析失败。
错误写法:
正确写法:
问题二:没有收到通知
1. 检查脚本编辑器通知权限 ● 系统设置 → 通知 → 找到 Script Editor → 确保「允许通知」已开启
2. 检查勿扰模式 ● 确保 macOS 勿扰模式未开启
3. 检查插件是否加载 ● 启动 OpenCode 时查看是否有
4. 手动测试 osascript ● 在终端执行:
问题三:插件未加载
确认文件路径正确:
确认文件语法正确:
参考链接
● OpenCode 官方插件文档
● OpenCode 插件事件列表
----------------------
3 posts - 2 participants
Read full topic
via LINUX DO - 最新话题 (author: twojin)
Invalid media: image
让 OpenCode 在 AI 回复完成后自动发送 macOS 系统通知,再也不用盯着屏幕等待了。
运行效果
配置完成后,每当 OpenCode 完成一次对话,macOS 右上角会自动弹出系统通知提醒你。
为什么需要任务完成提醒?
使用 OpenCode 处理复杂任务时,AI 可能需要较长时间来思考和执行。这时你可能会切换到其他窗口做别的事情,但又担心错过 AI 的回复。
通过配置任务完成提醒,当 OpenCode 完成当前对话并进入空闲状态时,macOS 会自动弹出系统通知,提醒你回来查看结果。
前置条件
● macOS 系统
● 已安装 OpenCode CLI
● 脚本编辑器的通知权限已开启
开启脚本编辑器通知权限
macOS 的
osascript 命令依赖「脚本编辑器」(Script Editor)的通知权限。按以下步骤开启:第一步:触发权限请求
1. 打开 脚本编辑器(Script Editor) ● 搜索「脚本编辑器」或「Script Editor」打开
2. 在脚本编辑器中输入以下代码:
display notification "测试通知" with title "脚本编辑器"
3. 点击运行按钮(▶️)执行脚本
第二步:开启通知权限
1. 打开 系统设置(System Settings)
2. 点击左侧 通知(Notifications)
3. 在应用列表中找到 Script Editor(脚本编辑器)
4. 点击进入,开启 允许通知(Allow Notifications)
5. 通知样式选择 横幅(Banners)或 提醒(Alerts)
第三步:验证权限生效
回到你的终端(Terminal / iTerm / IDEA Terminal 等),执行:
osascript -e 'display notification "任务完成" with title "OpenCode"'
如果看到系统通知弹出,说明权限配置成功。
配置步骤
步骤一:创建插件目录
OpenCode 会自动加载
~/.config/opencode/plugin/ 目录下的 JS/TS 文件。打开终端执行:
mkdir -p ~/.config/opencode/plugin
步骤二:创建通知插件
创建插件文件:
nano ~/.config/opencode/plugin/notification.js
写入以下代码:
export const NotificationPlugin = async ({ $, project }) => {
console.log("[NotificationPlugin] 已加载,当前项目:", project?.name)
return {
event: async ({ event }) => {
if (event.type === "session.idle") {
try {
const script = "display notification \"任务已完成,可以回来看看 OpenCode~\" with title \"OpenCode\""
await $`osascript -e ${script}`
} catch (err) {
console.error("[NotificationPlugin] 发送通知失败:", err)
}
}
}
}
}
保存并退出(nano 中按
Ctrl+X,然后 Y,回车)。步骤三:重启 OpenCode
关闭当前 OpenCode 会话,重新启动即可自动加载插件。
启动后你会在日志中看到:
[NotificationPlugin] 已加载,当前项目:your-project-name
步骤四:验证效果
随便问 OpenCode 一个问题,等待回复完成后,你应该会收到一条 macOS 系统通知。
常见问题排查
问题一:syntax error (-2741)
错误信息:
syntax error: 预期是""",却找到未知的记号。 (-2741)
原因: 引号嵌套处理不当。在 Bun shell 模板字符串中直接嵌套单引号和双引号会导致解析失败。
错误写法:
// ❌ 这样写会报错
await $`osascript -e 'display notification "任务完成" with title "OpenCode"'`
正确写法:
// ✅ 先构造脚本字符串,再传给 osascript
const script = "display notification \"任务完成\" with title \"OpenCode\""
await $`osascript -e ${script}`
问题二:没有收到通知
1. 检查脚本编辑器通知权限 ● 系统设置 → 通知 → 找到 Script Editor → 确保「允许通知」已开启
2. 检查勿扰模式 ● 确保 macOS 勿扰模式未开启
3. 检查插件是否加载 ● 启动 OpenCode 时查看是否有
[NotificationPlugin] 已加载 日志4. 手动测试 osascript ● 在终端执行:
osascript -e 'display notification "测试" with title "测试"'● 如果这个命令也没有通知,说明是系统权限问题
问题三:插件未加载
确认文件路径正确:
ls ~/.config/opencode/plugin/
# 应该看到 notification.js
确认文件语法正确:
node --check ~/.config/opencode/plugin/notification.js
参考链接
● OpenCode 官方插件文档
● OpenCode 插件事件列表
----------------------
3 posts - 2 participants
Read full topic
via LINUX DO - 最新话题 (author: twojin)
Invalid media: image
交行史诗级大毛,人人2000。(有实力的佬自取)
无他,看图
23 posts - 18 participants
Read full topic
via LINUX DO - 最新话题 (author: 寂然如故)
Invalid media: image
无他,看图
23 posts - 18 participants
Read full topic
via LINUX DO - 最新话题 (author: 寂然如故)
Invalid media: image
周五了,现在开放一些活动
现开放代喝水
代上厕所
活动截止到今晚
8 posts - 8 participants
Read full topic
via LINUX DO - 最新话题 (author: 猫娘)
现开放代喝水
代上厕所
活动截止到今晚
8 posts - 8 participants
Read full topic
via LINUX DO - 最新话题 (author: 猫娘)