我们在公园长椅上写代码,做了一个自己和团队都离不开的工具
开源, 开发者工具, 知识管理

我们在公园长椅上写代码,做了一个自己和团队都离不开的工具

两个人、MIT 协议、三端同步——把终端、编辑器、Git 装进一个窗口

8分钟阅读

我们在公园长椅上写代码,做了一个自己和团队都离不开的工具

两个人、MIT 协议、三端同步——把终端、编辑器、Git 装进一个窗口


起因

上周三下午,深圳人才公园。

我在一张长椅上坐了四十分钟。不是刷手机——是正经在写代码。用的是手机浏览器,访问的是家里 Mac 的开发环境。不是那种又卡又糊的远程桌面,是一个完整终端,加代码编辑器,加 Git 操作。加起来大概二三十次 commit。

坐在公园写代码,听起来是一件小事。但对于一个程序员来说,这件事背后对应的是一个困扰了很久的问题——工作环境和人绑定了。一旦离开那台电脑,要么就带着走,要么就只能等着回去再弄。轻办公场景没有好的解决方案——平板、手机、临时借来的电脑,都不是一个正经写代码的地方。

这件事逼我们做了 AITerm。

AITerm 是什么

它是一个基于 Electron + Vue 3 构建的多终端管理器。名字是 AI Terminal 的意思,但我们做的不是「给终端装 AI」,而是做一个多端一致的编程工作台。

不是用一个工具替代另一个工具,是把三个工具装进同一个窗口:

  • 桌面端——Electron 原生应用,体验最完整
  • Web 端——浏览器直接访问,不需要任何安装
  • 手机端——通过 Tailscale 内网隧道访问完整的开发环境

三个端共用同一个 SQLite 上下文。换设备跟没换一样。重启、关机、第二天再来——状态自动还原,终端会话、编辑器光标位置、Git 分支状态,全部都在。

具体场景

人在高铁上,拿手机打开 Web 端,刚才在桌面端做到一半的光标位置就在那里,不需要任何复制粘贴。

周末不想开电脑,躺沙发上拿平板浏览器访问,代码环境跟公司那台电脑完全一样。

临时要去客户那边演示,带个轻薄本,浏览器打开就行,不用背 ThinkPad。

在家写代码写到一半要出门吃饭,手机继续接着弄,出门回来坐回 Mac 前,所有状态无缝衔接。

Tailscale 把安全门打开,SQLite 加上 WebSocket 把状态同步做好,三端就真正打通了。说起来简单,我们在这件事上踩了差不多两个月的坑。

技术实现

技术本身其实没什么花活,就是老老实实把每个点做到位。

AITerm 的核心设计是把终端和编辑器与项目绑定。每个项目有自己独立的终端和编辑器实例,而不是全局管理。

终端用的是 node-pty,不是模拟,是真实的 PTY 伪终端会话。编辑器是 CodeMirror 6,多语言语法高亮。Git 操作走的是 simple-git。文件管理内置目录树,支持右键新建、删除、复制、粘贴。

桌面端通过 Electron IPC 调用主进程服务,打包后和开发模式用同一套接口。开发调试时走 HTTP 加 WebSocket,直连 localhost:3001;打包后走 IPC,业务层完全不感知。

Electron 桌面壳
 ├── node-pty (真实 PTY 终端)
 ├── CodeMirror 6 (代码编辑器)
 ├── simple-git (Git 操作)
 └── SQLite (状态持久化)
      │
      ▼
 WebSocket 同步
      │
      ▼
 Web 端 / 手机端 ← Tailscale 内网穿透

状态持久化靠 SQLite,所有会话数据落在本地文件 ~/.aiterm/projects.json,不怕丢。

为什么做这个

我和 @lovezhang511 都是日常用 Claude Code 写代码的程序员。Claude Code 是个好工具——编码领域的王者。但它需要一个稳定的终端环境。项目一多,上下文管理就开始乱;关掉窗口再打开,状态就丢了;换一台电脑,所有的会话历史都不在。

我们试过 Hermes Agent,试过 OpenClaw 龙虾智能体,试过市面上各种方案。最后觉得,与其继续找,不如自己做。

做这个不是为了融资或者商业化,就是觉得现有的东西不够好用,做一个自己和团队都愿意天天用的工具。

其实一开始我们想做的是一个"AI 代码助手",做着做着发现不对——连基础的终端管理都没做好,AI 层面的东西根本站不住脚。这个认知调整大概是第三个月的事,那之后才真正把重心放到多端同步上来。

谁适合用

如果符合下面任意一条,可以试试:

  • 多设备切换频繁:笔记本、台式机、平板随时换着写代码,厌恶每次都要"同步状态"
  • 移动办公刚需:经常需要在手机/平板上临时查看或继续写代码
  • 讨厌环境配置的折腾:换一台机器要从头配一遍终端、编辑器、Git,换完心态也换没了
  • Claude Code 重度用户:AITerm 解决的问题,正好是 Claude Code 在多端场景下的痛点

如果你只有一台电脑、几乎不移动开发,AITerm 对你来说有点多余。

结尾

AITerm v0.1.0,MIT 协议,两个人从零写的。

做这个项目半年,有一个感受:好工具不是想出来的,是用出来的。

两个人、三端同步、一个 MIT 协议。功能还很 early,但已经是我和 @lovezhang511 每天都在用的东西了。

GitHubgithub.com/zzyong24/AITerm

官网(浏览器直接访问):zzyong24.github.io/AITerm/#

安装使用文档r4d.cn/FivpdJ5

GitHub 上顺手点个 Star,就是最好的支持。也欢迎加我微信交流(GitHub 主页有),或者直接在 Issue 里提 bug/想法。

下次如果有机会,再写写我们在 Tailscale 内网穿透和 SQLite 状态同步上踩的坑。

相关文章