我花很多时间在没用的事上。给一款 1986 年的游戏做中文适配,把一个葡萄牙诗人的七十多重人格画成星图,写一些大概不会有人读完的东西。

有用的事也做,但聊起来没那么好玩。

  • 在一家小型互联网公司做 AI 产品经理
  • 生活里最自律的事情是坚持每天打炉石传说酒馆战棋
  • 正在不自律地做一个独立游戏
see all →

让一款 1986 年的游戏重新可玩

trinity-relit · Python, JavaScript · 2026

Original

> You are standing at the end of a long white hallway.

中文适配

> 你站在一条长长的 白色走廊的尽头。

Jonathan Blow——《Braid》和《The Witness》的作者——曾在一篇访谈里说,Trinity 对他的创作产生了重大影响。我去找了这款游戏:Infocom 在 1986 年出版的文字冒险,被认为是那个时代最有文学性的作品之一,以散文诗的笔触写核爆与战争的徒劳。

当我想把它推荐给朋友时,我发现了三道门槛:需要安装 Z-machine 解释器,需要在终端里操作,需要用英文输入指令。大多数人在第一道门槛前就放弃了。

"门槛不在于游戏本身,在于运行环境和语言。"

我做了两个方案。方案 A 在原版游戏外包一层 Gemini API 接口,实时把游戏输出翻译成中文、把玩家的中文输入翻译成游戏指令。方案 B 完全在浏览器端运行,用多语言嵌入模型做语义匹配,不需要 API Key,clone 仓库后本地起一个静态服务就能玩。

# 方案 A:Python 接口层
python3 trinity_cn.py

# 方案 B:浏览器端语义匹配
python3 -m http.server 8080
# → 打开 localhost:8080,中英文指令均支持,无需 API Key

佩索阿宇宙

universo-pessoa · D3.js, HTML · 2026

费尔南多·佩索阿一生创造了超过 72 个拥有独立人格的"异名者"——每个都有独立的传记、写作风格、哲学立场。这张星图把这个庞大的文学宇宙可视化成一个可以拖拽、缩放、点击探索的星座。

加载星图中…

拖拽移动 · 滚轮缩放 · 点击探索

把 PM 工作流变成可复用的系统

pm-os · Cursor AI, Bash, Node.js · 2026

GitHub 上有几百个 PM skill。大多数做的是同一件事:给 AI 一个模板,告诉它 PRD 应该长什么样。

pm-os 从不同的地方出发。大多数 PM skill 是关于输出格式的,pm-os 是关于工作方式的——它有四层:思维框架、执行模板、工作区健康度检查、以及 Notion 输出管道。

思维框架和执行模板的区别是关键的:Rules 加载后始终生效,AI 从第一句话起就在以 PM 视角工作;Skills 在你需要具体产出时才触发。大多数 skill 是"当你问我时我才帮你想",pm-os 是"我一直在帮你想"。

最贴心的部分是健康度检查脚本。高频使用 AI 协作工具之后,本地环境会积累特定类型的混乱:AI agent 留下的孤儿分支、多处克隆同一个仓库、不小心被追踪进 git 的 .DS_Store .env。这些不是抽象的问题,是我在日常使用里真实撞到过的。

Rules(思维框架)

.cursor/rules/

加载后始终生效——AI 从第一句话起就以 PM 视角工作,不需要调用

Skills(执行引擎)

.cursor/skills/

需要具体产出时触发:PRD 模板、需求梳理、用户故事,带完整示例

健康度检查

scripts/workspace-health-check.sh

每月扫描 AI 协作留下的物理副作用:重复仓库、孤儿分支、追踪的 .env…

输出管道

scripts/notion-upload.mjs

生成的文档直接推送到 Notion,不需要手动复制粘贴