2026年7月23日星期四

手机 tmux 客户端的网络接入之争

tmux-next 写完之后,顺手把市面上同类产品翻了一遍。发现这批工具真正在解决的,其实不是”画一个终端”,而是一个网络问题。

核心难题

你的机器在路由器后面,运营商多半还套了一层 CGNAT——它能主动往外连,但外面连不进来。手机在 4G/公司 WiFi/别人家,随时换网。要打通,无非四条路,这批 app 各选其一(或让你自选):

A · 公网反向代理——tmux-next(默认)用了这条。一个域名指向你的机器,前面放 Caddy/Nginx 终结 HTTPS 再转发到本地端口。要么你有公网 IP + 端口转发,要么反代本身再叠一层隧道(下面 C)。

B · 叠加网络 / 网状 VPN——Tmux Bridge 就是典型。手机和机器装进同一张虚拟网(WireGuard),之后像在同个局域网一样直接访问,不开任何入站端口,CGNAT 也穿得过去。

C · 出站隧道——Reattach 提供 Cloudflare Tunnel 选项。机器上跑个 cloudflared 守护进程,主动往云端拨一条常连的加密隧道,外部请求先到 Cloudflare 边缘,再顺着隧道推回机器。全程只有出站连接。

D · 直接 SSH——dotMux、Attach、NeoServer 都是这路。手机 SSH 进机器,拿到一个加密的 PTY 通道。但 SSH 端口得可达——所以现实里它常和 B/C/端口转发/跳板机叠着用。

关键洞察是这四条路不是互斥的,而是分层的:B、C 解决”够到”,A、D 解决”够到之后说什么话”。tmux-next 的反代完全可以架在 Cloudflare Tunnel 之上;dotMux 的 SSH 也常跑在 Tailscale 里。真正区分产品的,是它们把哪几层替你封好了。

三种”够到”的网络机制

Tailscale = WireGuard + 协调服务 + DERP 兜底。协调服务器只交换公钥,私钥永远不出设备。两端拿到对方信息后,用 STUN + 打洞尝试建直连 P2P(官方称九成以上能直连)。打不通时流量走 DERP 中继:它只在 443 上转发已经被 WireGuard 加密过的包,中继看不到明文。

Cloudflare Tunnel = cloudflared 出站拨号。机器上的守护进程向 Cloudflare 边缘拨出若干条 QUIC 长连接(往不同机房各一条,端口 7844),并一直保持。用户请求先打到 Cloudflare,再被顺着隧道推回机器。机器不监听任何公网端口,CGNAT 下照样能用。

反向代理 = 你自己终结 TLS。没有第三方叠加网时,就是经典打法:域名解析到你的机器,Caddy 监听 443、拿证书、验登录、转发到本地服务。tmux-next 正是如此。

够到之后:应用层协议

通道打通了,手机和 tmux 之间说什么话?目前两种。

裸 PTY:SSH 里直接 tmux attach,拿到一串终端字节流,本地用终端模拟器渲染。简单、通用,但手机拿到的只是一屏字符,没有窗口/pane 的结构信息。Attach、NeoServer 走这个路线。

tmux control mode:用 tmux -CC 打开控制模式。tmux 不再吐终端画面,而是一套结构化的行协议。发命令返回被 %begin / %end 包起来的输出块,还有以 % 打头的异步通知——%output%window-add%layout-change 等等。

拿到这套结构,用法就分野了:dotMux 把 %window-add / %layout-change 翻译成原生 iOS 的窗口和分屏;tmux-next 则主要用 %output 把字节喂给浏览器里的 xterm.js。同一套协议,一个驱动原生 UI,一个驱动网页终端。

tmux-next 的字节,端到端

手机端说的是 WebSocket,不是 SSH——这是 tmux-next 和那些原生 app 最根本的分岔。

1
浏览器 → WebSocket / 443 → Caddy(TLS + JWT 登录)→ 本地 Bun 服务 → control mode → tmux 会话

返回的方向同理:tmux 的 %output 被 Bun 解析后,通过同一条 WebSocket 把字节推给 xterm.js 渲染。手机只需要一个浏览器;SSH、control mode 这些都被关在服务端和本机之间,从不暴露给公网。

为什么是 WebSocket 而不是 SSH?因为客户端是”网页”。浏览器不能开 SSH 连接,但天生会说 WebSocket。代价是你得自己搭反向代理(TLS + 登录);回报是客户端零安装、跨设备,攻击面收敛成一个带登录的 HTTPS 端点,而不是一个对公网开放的 SSH/shell。

两个边角细节

TLS 证书:tmux-next 的 Caddy 用 DNS-01 校验,通过 Cloudflare 的 DNS 接口写一条 TXT 记录来证明域名归你,不必对公网开放 80 端口就能拿到 Let’s Encrypt 证书。适合藏在 NAT 后、端口能不开就不开的机器。

推送通知:原生 app 目前领先、tmux-next 还空白的一环。原生用 APNs,网页形态可以用 Web Push(VAPID)。把 tmux-next 加到主屏当 PWA 就能做,会话列表其实已经在判定活跃状态了(绿点排序),接上推送只是时间问题。

整理自:tmux Control-Mode wiki、Tailscale how-it-works、Cloudflare Tunnel 文档、dotMux 官网。

tmux-next:在手机上查看 tmux 会话

用 Claude Code 跑个长时间任务(重构、批量迁移之类的),然后人走开,过一会儿想在手机上看看跑完没有。以前的做法是跑回电脑前 tmux attach,或者 ssh 进去。有点烦。

tmux-next 就是在那个场景下写的。

做了什么

一个很小的 tmux 网页客户端。装好之后 bunx tmux-next 起一个服务,浏览器打开就能看到所有 tmux 会话。每个会话显示最后几行输出,Claude 打完一轮在等你回复时,那个会话会亮绿点并排到最前面,省得一个个点开看。

打开一个会话就是全屏的终端,手机键盘上没有的键(Esc、Ctrl、方向键)放在底部的工具条里。

最常用的场景

躺沙发上用手机看 Claude Code 的进度。不用再 ssh、不用开笔记本。扫一眼绿点就知道它还在等我还是正在跑。

代码托管在 GitHub,也发到了 npm

关于安全

它自己没有登录,只绑在 localhost。想从手机访问得在前面放一个反向代理(比如 Caddy)做 HTTPS 和登录,不然等于把一个 shell 挂到公网上。项目首页有完整的 Caddy 部署指引,跟着配就行。

2026年5月6日星期三

OpenCode 使用 NVIDIA 免费 API Key 指南

NVIDIA 的 NIM(NVIDIA Inference Microservices)平台提供了免费 API Key,最长可设置 100 年有效期。配合 OpenCode 使用,可以访问大量前沿模型,且不需要信用卡。本文记录配置过程。

背景

NVIDIA NIM 是一个模型推理服务,提供了包括 LLM、Embedding、视觉模型在内的数十个 API 端点。2025 年以来逐步开放免费 API Key 获取,模型列表里包含了不少热门开源模型,比如:

  • z-ai/glm-5.1
  • moonshotai/kimi-k2.5
  • minimaxai/minimax-m2.7
  • deepseek-ai/deepseek-v3.2
  • google/gemma-4-31b
  • qwen/qwen3.5-122b-a10b

免费额度方面,每分钟限制 40 次请求,总次数不限,不限 token 使用量。适合请求频率低、对时效要求不高的场景,比如脚本调试、临时测试。

获取 API Key

打开 build.nvidia.com,使用邮箱注册账号(国内手机号也可以)。登录后在右上角点击 API Keys,然后点 Create API Key

创建时名字随意填写,日期建议选 Never Expire,这样 key 有效期可以设置到 100 年后。

注意:创建后立即复制保存 key,页面只显示一次。

配置 OpenCode

OpenCode 内置了 Nvidia provider,支持 OpenAI 兼容的调用方式。配置过程很简洁:

在 OpenCode 中执行:

1
opencode providers login https://integrate.api.nvidia.com

或者直接编辑 ~/.local/share/opencode/auth.json,添加 nvidia 条目:

1
2
3
4
"nvidia": {
"type": "api",
"key": "nvapi-你的KEY"
}

然后就可以用 opencode models nvidia 查看支持的模型列表了。

使用示例

命令行快速测试

用 curl 测试 key 是否生效:

1
2
3
4
5
6
7
curl -e https://integrate.api.nvidia.com/v1/chat/completions \
-H "Authorization: Bearer nvapi-你的KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "z-ai/glm-5.1",
"messages": [{"role": "user", "content": "你好,介绍下自己"}]
}'

Python 调用

用 OpenAI SDK 调用:

1
2
3
4
5
6
7
8
9
10
11
12
from openai import OpenAI

client = OpenAI(
base_url="https://integrate.api.nvidia.com/v1",
api_key="nvapi-你的KEY"
)

response = client.chat.completions.create(
model="z-ai/glm-5.1",
messages=[{"role": "user", "content": "你好"}]
)
print(response.choices[0].message.content)

OpenCode 中直接使用

1
opencode -m nvidia/z-ai/glm-5.1 "用 Python 写一个快速排序"

可用模型速览

模型 说明
z-ai/glm-5.1 智谱 GLM-5 最新版
moonshotai/kimi-k2.5 月之暗面 K2.5
minimaxai/minimax-m2.7 MiniMax M2.7
deepseek-ai/deepseek-v3.2 DeepSeek V3.2
google/gemma-4-31b-it Google Gemma 4
qwen/qwen3.5-122b-a10b Qwen3.5 超大杯
nvidia/nemotron-3-super-free NVIDIA 自家模型,免费专用
nvidia/deepseek-r1 DeepSeek R1 推理模型

完整的模型列表可以用 opencode models nvidia 查看。

注意事项

  1. 响应较慢:NIM 是远程推理服务,首次调用冷启动较慢,耐心等待。
  2. 每分钟 40 次限制:免费 key 有速率上限,高频调用会触发限流。
  3. 只显示一次 key:创建后立刻保存,丢失只能重新创建。
  4. 适合轻量使用:不适合生产环境或高并发场景。

总体来说,NVIDIA 这个免费 API Key 是白嫖大模型的一个不错途径,配置简单,模型覆盖面广,日常调试和轻量使用完全够用。

2026年4月15日星期三

翻译了一份 Blender 初学者教程

这两天开始折腾 Blender。

之前对 3D 建模一直有点好奇,但总觉得门槛挺高——软件复杂、快捷键密密麻麻、各种术语让人望而却步。这次下定决心入门,就到处找教程。

试了几个之后,发现一份英文教程特别对我胃口:节奏不快,从最基础的视角操作讲起,一步一步把新手最容易卡壳的地方都覆盖到了。没有炫技,没有跳步,就是老老实实带你走完一遍。对我这种连”怎么把视角转回正面”都要查的纯小白来说,正好。

既然自己学下来觉得不错,干脆顺手把它翻译成了中文,方便更多中文读者。整个翻译过程也是一次复习——每翻一段,就相当于把刚学的概念再过一遍,记得反而更牢。

两个版本都在这里:

如果你也想入门 Blender,希望这份教程对你有帮助。学习的最好方式还是动手——打开软件,跟着做,比看十遍视频都管用。

接下来打算继续往后学,争取能独立做出一个像样的小作品出来。到时候再写一篇记录一下。

2026年3月31日星期二

从人人学编程到人人用AI Agent

前几年有人喊出一个口号:人人都应该学会编程。

反对的声音也很快出现:普通人不需要成为程序员,就像不需要人人学会造车,大部分人只需要学会开车。

这个反对声音是对的。但当时没有解决方案——普通人想”开车”,还得先”造车”。

现在 AI Agent 来了。普通人不需要学编程,但可以”借用”编程能力来提升工作效率。这才是正确的方向。

当年为什么要人人学编程

2011年,Codecademy 发起 Code Year 运动,号召人们把”学会编程”作为新年愿望。纽约市长 Bloomberg 公开响应,说自己在学 JavaScript。2013年,Code.org 推出 Hour of Code,Obama、Gates、Zuckerberg 联合背书,让数百万学生花一小时体验编程。

中国也很快跟上。浙江把信息技术纳入高考选考,多省市将编程教育列入中小学必修科目。2019年少儿编程市场规模突破100亿元,年增速超过30%。

这背后有一套完整的叙事:软件正在吞噬世界,编程是数字时代的基本素养,学会编程才能在未来占得一席之地。

学编程的好处被归纳为几条:

一是计算思维。把大问题拆成小问题,逐步求解。

二是逻辑思维。编程有一套严密的逻辑,一行代码写错就不运行,逼着你想清楚。

三是解决问题的能力。软件开发本质上是从模糊到清晰的过程,需要不断确认需求、迭代方案。

四是创造力。会用工具只是消费者,会写代码才是创造者。

五是理解技术黑箱。不懂编程,手机、电脑、互联网对你来说都是黑箱;懂一点,至少知道它们怎么运转。

六是职业机会。软件行业高速增长,薪资高,需求大。

这套逻辑听起来没问题,所以很多人信了。家长焦虑,培训机构赚钱,政策层层推进。

但反对的声音很快出现,而且逻辑更清晰。

反对的声音:不需要人人造车,只需学会开车

Stack Overflow 创始人 Jeff Atwood 写过一篇《Please Don’t Learn to Code》。他说:编程需要的不是一小时的体验,而是多年的实践;不是所有人都需要成为程序员,供需应该平衡。

中国教育研究者也指出:编程教育不适合小学低年级。抽象逻辑思维刚萌芽的年纪,过早介入反而不利。而且很多培训只是在学知识,不是培养兴趣和创造力。

更根本的逻辑是:就像不需要人人学会造车,大部分人只需要学会开车。

编程教育的目的,应该是让学生理解技术原理、培养兴趣,而不是让所有人都掌握编程技能。普通人需要的是”使用技术的能力”,而不是”制造技术的能力”。

这个反对声音是对的。但当时的问题是:普通人想用编程能力提升工作效率,还得先花几年时间学编程。门槛太高,大多数人放弃了。

于是出现了一种妥协:口号喊的是”人人学编程”,落地时变成”人人学编程思维”。但编程思维到底是什么,没人说得清楚。培训机构教 Scratch、Python,家长看到孩子拖拽积木块就觉得”逻辑思维提升了”。

几年过去,第一批学编程的孩子长大了。有多少人真正掌握编程技能?有多少人在工作中用编程提升效率?答案很难验证。

反对的声音是对的,但没有解决方案。直到 AI Agent 来了。

AI Agent:让普通人能”开车”

2025-2026年,Vibe Coding、Claude Code、Cursor、OpenClaw 等工具走红。用自然语言描述需求,AI 就能生成代码并执行。

这恰好弥补了当年反对声音留下的空白:普通人不需要成为程序员,但可以”借用”编程能力来提升工作效率。

举几个例子。

产品经理。以前想做数据分析,要么自己学 Python,要么找工程师帮忙。现在可以直接告诉 AI Agent:”分析用户行为数据,找出流失率最高的环节”,AI 会写脚本、跑数据、生成报告。产品经理不懂编程,但用上了编程能力。

运营人员。以前要批量发帖、监控舆情、整理数据,要么手动操作,要么找技术支持。现在可以让 AI Agent 自动执行:”每天早上从这三个渠道抓取行业新闻,筛选出和我们相关的,生成简报发到群里”。运营不懂编程,但用上了编程能力。

HR。以前筛选简历靠人工,几百份简历看一天。现在可以让 AI Agent:”从这些简历中提取关键信息,和岗位要求匹配,输出前20名候选人”。HR 不懂编程,但用上了编程能力。

财务。以前每月做报表要手动汇总多个系统的数据,容易出错。现在可以让 AI Agent:”从 ERP、银行流水、报销系统提取数据,按这个模板生成月度报表,标注异常数据”。财务不懂编程,但用上了编程能力。

老师。以前批改作业、整理学生数据要花大量时间。现在可以让 AI Agent:”批改这批作业,标注错误类型,统计常见问题,生成针对性练习题”。老师不懂编程,但用上了编程能力。

设计师。以前要做交互原型,要么用 Figma 手动制作,要么找前端帮忙。现在可以直接告诉 AI Agent:”根据这个设计稿生成可交互的网页原型”,AI 会写代码、生成页面。设计师不懂编程,但用上了编程能力。

销售。以前整理客户信息、写跟进邮件要手动操作。现在可以让 AI Agent:”从 CRM 提取这批客户的互动记录,按行业和需求分类,生成个性化跟进邮件草稿”。销售不懂编程,但用上了编程能力。

这些例子说明一个关键点:普通人不需要成为程序员,但可以”借用”编程能力来提升工作效率。就像不需要学会造车,但可以学会开车。

当年反对声音的逻辑是对的,只是当时没有”车”给普通人开。现在有了。

新能力:不是学编程,是学会开车

门槛降低了,但能力要求变了。

不是学语法、学 API、学开发环境,而是:

一是需求表达能力。把模糊的想法变成清晰的指令,告诉 AI Agent 你要什么。说得越清楚,AI 执行越准确。

二是结果判断能力。AI 生成的结果,你需要判断是否符合预期、是否有问题。这比写代码更难——因为你需要理解 AI 做了什么,而不是自己亲手做的。

三是迭代优化能力。第一次结果不满意,怎么调整指令?怎么补充细节?怎么引导 AI 往正确的方向走?

四是安全意识。AI Agent 执行任务时,会不会误删数据?会不会泄露信息?需要知道边界在哪里。

Gartner 预测,到2026年底,40%的企业工作流将通过 AI Agent 增强。人类员工的角色将从执行者转变为指挥者与审核者。

这与当年的逻辑一致:普通人需要的是”使用技术的能力”,而不是”制造技术的能力”。只是现在有了工具让这个逻辑真正落地。

结语

前几年说人人学编程,反对的声音是对的:普通人不需要成为程序员。

现在说人人用 AI Agent,方向是对的:普通人不需要学编程,但可以”借用”编程能力来提升工作效率。

门槛降低了,更多人可以”开车”了。但学会开车也需要练习——需求表达、结果判断、迭代优化、安全意识,这些新能力比学编程语法更抽象,也更难量化。

不过有一点明确了:不需要人人学会造车,但人人都可以学会开车。这才是正确的方向。

2026年3月25日星期三

关于禅的零星片段

之前只知道禅,不知道具体是什么。现在有一点模糊的感觉。

nature

信息过载时,回到当下

手机不断通知,注意力被撕成碎片。刷完社交媒体,只剩下空虚。这几乎是现代人的常态。

禅提供一个朴素的方法:一次只做一件事。

走路时,感受脚底与地面接触。喝水时,体会水的温度。呼吸时,观察气息进出。这不是逃避信息,而是夺回注意力的主权——在刺激与反应之间,留出一个间隙,不必回应每一条推送。

意义模糊时,在日常中发现意义

工作变成谋生手段,生活变成待办事项。追逐一个又一个目标,却忘了为何出发。

禅说:做事本身即是目的。

不必逃到别处寻找。一杯茶,一次呼吸,一段路,只要全然经历,便已完整。”饿了吃饭,困了睡觉”,听来平常,做到却不易——因为心总在别处。

专注,但不仅于此

全神贯注是禅的入口,不是终点。

专注是用力聚焦,禅是松而不懈。专注可能紧绷,禅是自然轻松。禅师说:不用力,也不松懈。心有所止,却不执着于所止。


生活本身即是修行场。这或许是禅留下的一扇门。

2026年3月17日星期二

中国象棋 FEN 格式备忘

FEN (Forsyth-Edwards Notation) 是一种用字符串记录棋局状态的格式。

为什么用 FEN

  • 紧凑:一串字符就能描述整个棋局,存数据库、URL、文本都方便
  • 标准化:象棋软件、引擎、网站之间交换棋谱的通用格式
  • 可恢复:随时能从 FEN 还原棋盘,不用从头播放走法

如何判断将军

FEN 只记录状态,判断将军需要解析后用代码实现。

基本思路:

  1. 解析 FEN,把棋子放到 9×10 的二维数组
  2. 找到将/帅的位置
  3. 遍历对方所有棋子,检查能否攻击到将/帅

伪代码:

1
2
3
4
5
6
7
8
9
10
11
function isInCheck(board, kingColor) {
const kingPos = findKing(board, kingColor);
const enemyColor = kingColor === 'red' ? 'black' : 'red';

for (const piece of getAllPieces(board, enemyColor)) {
if (canAttack(piece, kingPos, board)) {
return true;
}
}
return false;
}

每种棋子的攻击范围不同:

  • :直线无阻挡
  • :日字形(注意蹩马腿)
  • :直线,攻击时中间需隔一子
  • 兵/卒:过河前只能前进,过河后可左右
  • 将/帅:九宫内一步,不能对面(将帅照面也是将军)

将帅照面判断:如果两个将/帅在同一列,且中间无子,也算将军。

格式结构

1
[局面] [走方] [无吃子步数] [回合数]

局面编码

棋子用字母表示,红方大写,黑方小写:

红方 黑方 棋子
K k 帅/将
A a 仕/士
B b 相/象
R r
N n
C c
P p 兵/卒
  • 数字表示连续空格数(如 9 表示 9 个空位)
  • / 分隔各行,从红方视角从上到下(第 10 行到第 1 行)

初始局面

1
rnbakabnr/9/1c5c1/p1p1p1p1p/9/9/P1P1P1P1P/1C5C1/9/RNBAKABNR w - - 0 1

逐行解读:

  • 第 10 行:rnbakabnr(黑车黑马黑象黑士黑将黑士黑象黑马黑车)
  • 第 9 行:9(9 个空位)
  • 第 8 行:1c5c1(空位、黑炮、5 个空位、黑炮、空位)
  • 第 7 行:p1p1p1p1p(黑卒隔位排列)
  • 第 6-5 行:9(楚河汉界,全空)
  • 第 4 行:P1P1P1P1P(红兵隔位排列)
  • 第 3 行:1C5C1(红炮位置)
  • 第 2 行:9(空行)
  • 第 1 行:RNBAKABNR(红方底线)

其他字段

  • 走方w 红方走,b 黑方走
  • 无吃子步数:用于判断和棋,通常 60 或 100 步无吃子判和
  • 回合数:当前回合

其他编码格式

中文纵线格式

传统记谱法,也是最常见的棋谱记录方式。

格式:棋子名 + 纵线号 + 动作 + 目标位置

  • 纵线:红方从右到左 1-9,黑方从右到左 1-9(实际上同一列号码相反)
  • 动作:进(向前)、退(向后)、平(横向)

示例:

走法 含义
炮二平五 红炮从第 2 纵线移到第 5 纵线(同一横线)
马八进七 红马从第 8 纵线前进到第 7 纵线方向
车一进六 红车从第 1 纵线前进 6 步
卒 3 进 1 黑卒从第 3 纵线前进 1 步

优点:人类易读,棋谱书都用这个。

ICCS 格式

国际象棋坐标改编,用字母表示列,数字表示行。

  • 列:a-i(从左到右,红方视角)
  • 行:0-9(从红方底线到黑方底线)

示例:h2e2 表示红炮从 h2 走到 e2(炮二平五)。

优点:格式简单,适合引擎通信。

UCCI 走法格式

通用中国象棋协议,引擎和界面通信用。

格式:起点 + 终点,坐标同 ICCS。

示例:h2e2

对比

格式 用途 可读性
FEN 局面快照
中文纵线 棋谱记录
ICCS/UCCI 引擎通信

示例

顺手炮开局(红方已走炮二平五,黑方炮 8 平 5):

1
rnbakabnr/9/1c5c1/p1p1p1p1p/9/9/P1P1P1P1P/1C5C1/9/RNBAKABNR w - - 1 2

同一走法用不同格式:

  • 中文:炮二平五
  • ICCS:h2e2
  • UCCI:h2e2

2026年3月2日星期一

Cerebral Valley Claude Code Hackathon 项目汇总 (第一部分)

Cerebral Valley 办了一场 Claude Code 主题的黑客松,主题是 “Built with Opus 4.6”。从 13,000 名申请者中选了 500 人参加,奖金是 $100k 的 Claude API 积分。

这次黑客松共有 227 个提交。由于页面使用了懒加载,只抓到了前面 78 个项目。先把能抓到的整理出来,之后再想办法补完。

获奖项目

排名 项目 作者 描述 中文描述
🥇 CrossBeam Mike Brown Tackles California’s ADU permit crisis 解决加州 ADU 许可证危机
🥈 Elisa Jon McBee Block-based visual IDE where kids design software 儿童可视化积木式编程 IDE
🥉 PostVisit.ai Michal Nedoszytko Built by a cardiologist - bridges gap between doctor and patient 心内科医生构建的诊后随访 AI 助手
🎨 Conductr Asep Bagja Priandana Browser-based MIDI instrument where Opus 4.6 directs the band 浏览器 MIDI 乐器,AI 指挥乐队实时协作
🧠 TARA Kyeyune Kazibwe Transport infrastructure assessment from dashcam footage dashcam 视频转道路基础设施投资建议

决赛入围

项目 作者 描述 中文描述
Zeppelin Anup Ghatage S3-native vector search engine built entirely by Opus 4.6 完全由 Claude 构建的生产级 S3 向量搜索引擎
FenceFlow Nour Desouki Eliminates paper-based fencing tournament workflows 消除击剑比赛纸质流程的数字化工具
CARN Kevin Collins Live autonomous drone platform for search and rescue 实时搜救自主无人机平台

热门提交 (前 30 名)

排名 项目 作者 描述 中文描述
#1 Forge Tomas Mihalyi Self-extending Claude Code agent 自我扩展的 Claude Code 代理
#2 FirstClaim Tyler Gibbs AI-native medical billing application AI 原生医疗账单应用
#3 Respiro Kostya V macOS menu bar app that detects stress 检测屏幕压力的 macOS 菜单栏应用
#4 Replace SaaS Brian Rogers Custom booking app for tattoo artists 纹身师定制预约应用
#6 Forge (CRM) Brandt Christian Email marketing for small businesses 小企业 AI 邮件营销平台
#7 DraftCut Dhonam Pemba AI-powered browser video editor 浏览器 AI 视频编辑器
#8 Routine 25 Jason Ellington Morning routine optimization 早晨例程优化应用
#9 Arx Arjun Komath Offline security scanner for AI agents AI 代理离线安全扫描器
#10 PRISMA Muzaffer H Monte Carlo simulation via spreadsheet 电子表格蒙特卡洛模拟工具
#11 ClassBuild Jason Tangen Topic to multimedia course generator 主题到多媒体课程生成器
#12 Nexus Sissi Feng Experimental optimization platform 实验优化平台
#13 fcoreutils AiBrush Rewrite GNU coreutils in Rust 用 Rust 重写 GNU 核心工具
#14 SQLite PureRB Mufid Team Pure Ruby SQLite implementation 纯 Ruby 版 SQLite 实现
#15 VoxPolicy Udam Liyanage Multi-agent policy analysis 多代理政策分析系统
#17 SwarmShield The SHIELD AI agent monitoring AI 代理监控系统
#18 KisanMind RootedAI AI agricultural assistant 农民 AI 助手
#19 Clover Louis macOS desktop app macOS 桌面应用
#20 Claudetangle Ashok93 Quantum computing education 量子计算教育平台
#21 Case Nexus VenTech Public defender caseload intelligence 公共辩护律师案件情报
#22 ClaimCheck Midspiral LLM code verification LLM 代码验证工具
#23 CouncilSim Tony Data center permit simulator 数据中心许可证模拟器
#24 Paideia Mark Morgan Education platform 统一教育平台
#25 HiveBoard Juan Olano Datadog for AI Agents AI 代理可观测性平台
#26 LLMitM v2 Vince Ovando Autonomous pentesting agent 自主渗透测试代理
#27 Art Curator Edward Gao Claude MCP for art exploration 艺术探索 MCP 工具
#28 TendHunt Kyrylo Kozak AI procurement intelligence AI 采购情报平台
#30 RunFestival Carylyne Chan AI running coach AI 跑步教练
#31 Code Catastrophe Syed Atif Production failure predictor 生产故障预测器
#32 AI Board Jonatan Vazquez 8 AI business advisors 8 位 AI 商业顾问
#33 TargetRadar Heinz Jungbluth Drug target validation in 30s 30 秒药物靶点验证

其他项目 (31-78)

排名 项目 作者 描述 中文描述
#34 Lucid Eddie Liu Screen time mindfulness 屏幕时间正念应用
#35 MatchPoint Arthur Granja Business-startup marketplace 企业-初创公司对接平台
#36 ChainReview Charann Srinivas AI code review automation AI 代码审查自动化
#37 TRACE Quincy Labs Chronic disease intelligence 慢性病预防情报
#38 Popcorn Timothy Nice AI UI verification extension AI UI 验证 Chrome 插件
#39 Prism Krish Garg AI product discovery AI 产品发现系统
#40 Tacit Bayram Annakov Extract unwritten team rules 提取团队隐性规则
#41 Ghost AJ Green AI screenshot analysis AI 截图分析工具
#42 SimForge Jacque Kang AI simulation framework AI 模拟框架
#43 Hey Jamie Normand AI podcasting assistant AI 播客助手
#44 Beacon Shawn D Rare disease support 罕见病支持平台
#45 ButterFence Ayushman Claude Code safety harness Claude Code 安全护具
#46 Second Opinion AI Nikhil Nakhate Doctor availability in India 印度医生预约平台
#47 Agent Harness Sebastian A Visual agent builder 可视化代理构建器
#48 xray Michael S Code ownership analysis 代码所有权分析
#49 BotSec Anto Joseph Formal verification for code 代码形式化验证
#50 Nexus (Autonomous) Rashmi Autonomous AI engineering team 自主 AI 工程团队
#51 Emergent Diag Tolani Omitokun 6-agent medical AI system 6 代理医疗 AI 系统
#52 Capture Gaurav Jain AI-native note-taking AI 原生笔记应用
#55 Baaton Gatz AI dev tool integration AI 开发工具集成
#57 Jiggle Wiggle Cindy Li AI movement coach AI 运动教练
#58 Cowpy StringAI Website to Next.js converter 网站转 Next.js 工具
#59 PredictFlow Team Statistics Prediction market analysis 预测市场分析
#60 Flipside Henk van Ess Contract reading comprehension 合同阅读理解
#61 Scuttle Pay Jarrod Watts Bank account for AI agents AI 代理银行账户
#62 Gradient zzappa Language learning app 语言学习应用
#63 Shipwell Shipwell HQ Full codebase autopilot 全代码库自动驾驶
#64 SEBI CSCRF iy3r India cybersecurity compliance 印度网络安全合规
#65 Seahat Sahaib Voice-first medical triage 语音优先医疗分诊
#66 Intent Guard Qdee AI intent liquidity router AI 意图流动性路由器
#67 ZenML ZenML Website migration 网站迁移
#68 Capiis Hanni Honey Wealth management swarm 财富管理代理群
#69 Silene Silene Systems Medical AI systems 医疗 AI 系统
#70 TechDebtAssassin J Chiru Autonomous tech debt elimination 自主技术债务消除
#71 Traverse Brendan Boston International border crossing 国际边境通行
#72 Denoise It Signal-to-Noise AI content decomposition AI 内容分解引擎
#73 RegulationCoder Elioz Government regulation to code 法规转代码管道
#74 Inertia Linter Shimayuz Chronic disease treatment detection 慢性病治疗停滞检测
#75 WallStreet Agents Andre Mir Democratize finance 金融民主化代理
#76 ForwardCheck Chandrameena Fake message detection 虚假消息检测

观察

从这 78 个项目来看,有几个方向比较热闹:

  • 医疗健康类特别多:诊后随访、药物靶点、医疗账单、疾病预测
  • 开发者工具:安全扫描、代码审查、数据库
  • 创意工具:视频编辑、音乐创作、教育

完整的 227 个项目等之后有机会再补。


项目列表和 GitHub 地址可以从 Cerebral Valley 官网查看:https://cerebralvalley.ai/e/claude-code-hackathon/hackathon/gallery

2026年3月1日星期日

cadam 试用与 Blender 导入记录

在 adam.new/cadam 试了几个模型生成。它是基于 OpenSCAD 代码生成的,比直接出 STL 网格方便修改。

导入 Blender 的问题

从 cadam 或 OpenSCAD 导出模型(STL/OBJ)时,默认会将所有部件合并成一个整体。

导入 Blender 之后:

  1. 零件无法独立编辑或上色,模型是连在一起的。
  2. 没法做动画,部件之间没有层级关系。
  3. 导出的网格布尔运算痕迹多,在 Blender 里手动拆分很困难。

目前的导出方法

为了拿到独立的零部件,目前的办法是手动分步导出:

  1. 在 OpenSCAD 里注释掉其他代码,每次只保留一个部件进行渲染。
  2. 分别导出成多个 OBJ。
  3. 在 Blender 里依次导入。

因为这些文件共享同一个坐标原点,导入后会自动在正确的位置重合,不需要手动对齐。

设想

如果 cadam 以后能在界面上支持分部件导出,或者能自动识别代码里的 module 进行导出,流程会顺畅很多。

先记录到这里。


相关链接: