Changelog
Changelog
番茄屋官网的迭代记录。最新的在最上面。
[0.3.3] – 2026-07-21
安全
- 登录失败改为持久化的账户、来源 IP 和组合限流,服务重启后仍然有效。
- 管理员后台增加“登录安全”,保留 30 天登录成功、失败与拦截记录,不记录密码、Cookie 或站内内容。
- 会话缩短为 12 小时,并加入服务端撤销版本;修改密码会让其他设备上的旧会话立即失效。
- 设置页增加“退出其他所有设备”,新密码最低长度提高到 14 位。
- 修复生产依赖中的 Drizzle ORM SQL 标识符注入公告,并更新 Next.js 补丁版本。
新增
- 赌注工作链路:
- 赌注页顶部集中展示判断底座、验证设计、事实记录、判断与行动四个环节,并可跳转到对应材料。
- 概览只帮助团队定位当前缺口,不自动改变任何假设、判断或行动状态。
- 沙盘验证回合:
- 在赌注下记录一次具体验证的对象、目标用户、观察窗口、指标、通过条件和数据来源。
- 支持准备中、进行中、已复盘和已停止;复盘时记录实际结果与结论。
- 验证回合只组织证据,不自动改变核心假设、前额叶判断或人的行动状态。
- 沙盘观测记录:
- 可持续记录产品数据、访谈和实验中已发生的事实,并关联验证回合、核心假设和来源材料。
- 观测记录只补充信息状态;是否构成信号、是否改变判断,仍由人明确解释和确认。
- 核心假设沿革:
- 调整假设时必须写明原因,保留调整前后的内容、类型、状态和验证动作。
- 赌注页按假设展示沿革,支持后续复盘判断为何改变。
- 判断链路关联:
- 每轮验证明确关联一条主要核心假设,结果可以回看原本要解决的问题。
- 每份前额叶判断建议关联受影响的核心假设,避免总体结论脱离判断支点。
- 拍板记录可关联支持它的前额叶判断和验证回合,完整保留行动依据。
- 海马体上下文:
- 每个正式赌注可维护一段会影响判断的组织上下文,并保留更新原因和历史。
- 前额叶形成判断建议前,必须先补充该赌注的海马体上下文。
- 千里眼项目关联:
- 赌注可关联已有的千里眼监控项目,集中回看外部材料与持续监控对象。
- 调研更新不会自动改变假设、判断或行动状态,关键变化仍需明确记录为沙盘信号。
调整
- Snake 命名:首款游戏统一称为
Snake,首次公测统一称为Snake Season 1;此前 Closed Alpha 保留为内部测试基线。 - 沙盘作战视图:
- 赌注页默认聚焦验证回合、观测记录、前额叶判断和拍板记录,方便围绕一轮真实验证执行和复盘。
- 来源想法、海马体上下文、核心假设、千里眼、文档和历史沿革改为默认折叠的参考材料,保留完整依据但减少日常阅读负担。
- 沙盘工作路线:
- 赌注页新增“核心假设 → 验证回合 → 观测记录 → 关键变化 → 判断 → 拍板”路线,并展示各环节数量。
- 核心假设默认展示与验证回合的关联;观测与关键变化明确标示来自哪轮验证、对应或影响哪条假设。
[0.3.2] – 2026-07-20
新增
- 正式沙盘
/sandbox:- 从占位页升级为真实的立项与验证作战界面,展示活跃赌注、关键变化、下一步和等待拍板事项。
- 想法只能通过“确认入沙盘”进入正式赌注;入盘时保存来源快照、更新想法状态并写入入盘拍板记录。
- 赌注支持维护核心假设、千里眼信号、前额叶判断建议、拍板记录和关联文档。
- 关联文档保存已审阅版本;文档后续更新会提示重新审阅,不会自动改变判断或行动状态。
- 入盘问题作为历史记录保存;当前关键问题可在阶段变化时带原因更新,并保留问题沿革。
- 兼容旧“已入沙盘”想法:可补建正式赌注并选择当前阶段,不重写原有想法版本、评论或评分。
- 协作文档
/documents:- 支持共同沉淀分析报告、项目研究、会议纪要等 Markdown 文档。
- 文档可填写类型,标记为人写、AI 生成或外部导入,并设置伙伴可见或仅内部。
- 支持 Markdown 预览、图片粘贴上传、评论和版本留痕。
- 编辑时基于版本号检测冲突,避免覆盖他人的最新修改。
- 每日小报:
- 每晚固定汇报当前进行中任务、负责人和截止时间,以及当天有更新的协作文档。
修复
- 修复文档发布和编辑时 SQLite 事务未正确执行的问题。
[0.3.1] – 2026-06-25
改
- 工作台
/dashboard:- 将“最近更新”改为“最近输入”,按信息节奏分成想法与讨论、最近链接、千里眼动态三块。
- 想法和评论合并到“想法与讨论”,避免同一方向的讨论被拆成两个模块。
- 最近链接单独展示,并优先显示 AI 摘要;没有摘要时显示备注或摘要状态。
- 沙盘状态移出更新流,改为独立的“当前判断状态”。
- 快捷入口:
- 侧栏快捷区增加“提想法”入口。
- 统一“+ 链接”和“写笔记”的按钮高度与垂直对齐。
- 想法池与链接文案:
- 想法池口径从“立项想法”调整为“项目方向和合作线索”。
- 链接页和快捷弹窗统一提示“粘贴链接,AI 自动生成摘要”。
[0.3.0] – 2026-06-25
新增
- 工作台
/dashboard:- 登录后的默认入口从沙盘改为工作台。
- 汇总最近想法、评论、千里眼动态、沙盘状态和最近链接。
- 根据身份展示可参与动作,区分伙伴、内部成员和管理员。
- 想法池
/ideas:- 支持记录早期立项想法、版本变化、评论和评分。
- 评论显名,评分只展示聚合结果,用于后续判断复盘和贡献记录。
- 已归档想法默认折叠,避免干扰当前讨论。
- 伙伴机制:
- 增加伙伴邀请码和伙伴受限视图。
- 伙伴可见工作台、海马体、想法池、千里眼、沙盘和链接。
- 海马体补充伙伴与协作网络的定位,让伙伴进入后能理解番茄屋的判断场。
- 笔记可见范围:
- 笔记默认对内部成员和伙伴可见。
- 伙伴可以读写笔记。
- 内部成员写笔记时,可以把单条笔记设为“仅内部”。
改
- 控制台式布局:
- 登录后页面改为左侧固定导航 + 右侧宽屏工作区。
- 导航分为:总览、判断系统、协作沉淀、经营后台。
- 操作型页面不再被限制在窄文章宽度,千里眼和工作台获得更大的横向空间。
- 导航调整:
- 作品集先从正式导航隐藏。
- 伙伴、内部成员、管理员使用同一套导航结构,按权限过滤入口。
- 伙伴导航增加笔记入口,并开放写笔记动作。
- 侧栏宽度收窄,减少左侧视觉占用。
- 笔记浏览体验:
- 从笔记列表进入详情时记录来源位置。
- 详情页增加“返回笔记列表”,返回后落到刚才浏览的笔记。
- 海马体定位更新:
- 海马体更新为“组织情境记忆与判断底座”。
- 不再维护当前重点方向清单,具体方向交给想法池和沙盘承载。
- 增加方向过滤器、近期判断环境、想法池与判断留痕、伙伴与协作网络等内容。
- 沙盘与判断系统边界:
- 明确沙盘是番茄屋的资产和工作方式,用来辅助判断,不作为激励本身。
- 延续边界:千里眼改变信息状态,前额叶改变判断状态,人改变行动状态。
[0.2.0] – 2026-06-04
新增
- 项目调研 / 千里眼雏形
/research:- 支持创建调研项目,记录项目官网、Twitter/X、RSS 等监控源。
- 自动抓取项目动态,形成 update timeline,并支持用 Claude 生成阶段性调研报告。
- 支持手动补充更新、查看历史报告、按项目沉淀外部变化。
- 调研项目管理权限:
- 项目创建者和管理员可以管理项目配置。
- 监控开关、项目写入、URL 解析等操作补上权限边界。
- 财务系统
/finance:- 增加收入 / 支出记录、月度筛选、币种换算和 dashboard 图表。
- 支持财务数据导出,方便跟踪现金流和 runway。
- 用户组权限:
- 增加 group-based permissions,用于控制不同成员可见的导航和模块权限。
- 管理员后台支持调整用户组。
- 反馈系统:
- 增加用户反馈入口和管理员反馈查看页面。
- 组织与文化文档:
- 新增
docs/strategy/decision-systems.md,正式定义千里眼、海马体、前额叶三套关键系统。 MANIFESTO.md更新为当前组织模型:人定方向,千里眼看外部,海马体记住组织上下文,前额叶辅助判断。
- 新增
改
- 品牌定位更新为:An AI-Native Studio for Better Bets, Built Into Companies.
- 主页、README、Manifesto 同步调整为新的 Tomato House 定位。
- 顶部导航根据用户组权限动态展示。
/research体验升级:项目简介、更新列表、报告卡片、手动补充更新等流程更完整。- 链接总结和 X/Twitter 链接处理更稳定,减少重复解析和失败重试。
修复 & 安全
- 加固 URL 解析和 RSS 自动抓取的 SSRF 防护。
- 修复 IPv6、重定向、私网地址、写权限等边界问题。
- 收紧 research 项目写入、监控切换和管理操作权限。
- 增加
scripts/deploy.sh,把生产更新流程收敛为 pull、依赖安装、数据库备份/初始化和 Docker rebuild。
[0.1.6] – 2026-05-13
新增
- 任务
/tasks:最简单的任务管理 — 创建、指派、完成、归档、删除。- 一页搞定:行内创建框 +
进行中/已完成两组列表;归档单独一个视图。 - 行内操作:勾选完成 / 重新打开 / 改指派 / 归档 / 删除。
- 任务详情
/tasks/[id]支持改标题、描述、负责人。
- 一页搞定:行内创建框 +
- 作品集
/portfolio:先占个位,等第一个作品。
改
- 顶部导航:去掉
Changelog,加上任务和作品集;Changelog 改放到页脚。 links表的tg_message_id列回填到listLinks查询里(类型对齐)。
[0.1.5] – 2026-05-13
新增
- 链接总结生成后反向播报到 TG:
- TG 群里收来的链接:在
丢链接 topic内回复原帖(线程内顺下来); - 网页加的链接:在同一 topic 发一条新消息,带「@昵称 在网页丢了一条」+ 标题 + URL + 总结。
- TG 群里收来的链接:在
- 为支持 reply,
links表加tg_message_id列;TG collector 入库时同步记录。
[0.1.4] – 2026-05-13
新增
- 链接自动总结:保存任何链接后自动跑
claude -p抓标题 + 写 1-2 句小点评。- 网页端:
/links或顶部+ 链接弹窗存的链接,后台异步出总结,列表里显示「小记者正在看…」过渡态。 links表加title/summary两列;scripts/lib/summarize-url.ts是共用抓取+总结模块。
- 网页端:
- TG 链接收集箱:群里指定的"丢链接 topic"(
TG_LINKS_TOPIC_ID=10)里任何 URL 自动入库。- 发消息人按 TG username/first_name 映射到对应网页账号;未知的归到
tg_unknown(脚本启动时自动建占位账号)。 - cron 每分钟轮询一次
getUpdates,用flock防重叠;状态存在.tg-offset.json。 - 新增脚本
scripts/tg-collect.ts、scripts/tg-user-map.ts、scripts/summarize-link.ts。
- 发消息人按 TG username/first_name 映射到对应网页账号;未知的归到
[0.1.3] – 2026-05-13
新增
- 每日 TG 小报:
scripts/daily-summary.ts每天 22:00 SGT 把当天新增的笔记 + 链接喂给claude -p写成"小报纸",发到工作室 TG 群。 - 走本机已登录的 Claude Pro/Max 订阅,不需要额外 API key。
npm run summary:dry本地预览输出;npm run summary:daily真发。- README 里加了 BotFather 起步 + crontab 配置说明。
改
- 全站日期/时间显示切到新加坡时间(npm 脚本里设
TZ=Asia/Singapore)。 - 调度也按 SGT 走(crontab
CRON_TZ=Asia/Singapore)。
[0.1.2] – 2026-05-13
新增
- 链接收集箱
/links:全屋共享 feed,按时间倒序。 - 粘贴 URL + 一句可选备注即存;自动补
https://前缀;作者可改备注 / 删除。 - 顶部导航右上角增加全局「+ 链接」快提按钮(任何页面都能一键存);快捷键
V唤起弹窗。
[0.1.1] – 2026-05-13
修复 & 微调
- 笔记渲染:单换行也按换行显示(接入
remark-breaks),不再需要在行尾敲两个空格。 - 编辑器:粘贴图片不再强制独占整段,可以「文字 图片 文字」自由穿插。
- 登录 / 注册改为 React 19
useActionState模式,跨源 dev 环境下不再丢失点击事件。 - 笔记的发布 / 编辑 / 删除:server action 不再 redirect,改为客户端
router.push,规避 Turbopack 下 inline server action 偶发不触发的问题。 - 调整登录 / 注册表单提交流程,避免远程开发调试时 server action 偶发不触发。
[0.1.0] – 2026-05-13
第一版骨架。
新增
- 主页(hero、占位的工作室介绍、成员墙、Changelog 链接)。
- 用户系统:管理员发邀请码 → 成员凭码注册 → 用户名 + 密码登录。
- 个人页
/u/:username、/me、/settings(改昵称/简介/密码、退出登录)。 - 管理员页:
/admin/invites生成、查看、撤销邀请码。 - 笔记功能:列表(流水账)、新建、详情、编辑、删除。Markdown 编辑,支持粘贴 / 拖拽上传图片。
- 图片:本地
./uploads/,通过登录态 API 路由/api/uploads/*提供。 - Changelog 页面,从仓库根
CHANGELOG.md渲染。
技术栈
- Next.js 16(App Router)+ React 19 + TypeScript
- Tailwind CSS v4
- SQLite + Drizzle ORM
- iron-session + bcryptjs
- 视觉:极简黑白 + 番茄红 (#e63946)