AiCmder cover
进行中2026·远端工具

AiCmder

一个面向 AI 时代远端工作的工具基础,重点不是入口,而是会话连续性、环境稳定性和个人工作秩序。

技术栈
Remote Runtime · AI Coding · Terminal
分类
远端工具
标签
远端开发会话恢复终端AI Coding
关于

AiCmder

如果只看表面,AiCmder 很容易被理解成一个远端连接工具。但我真正想处理的,从来不是“怎么连上一台机器”,而是“连上以后,整个工作现场怎样保持连续、稳定,并且符合我的工作习惯”。

如果只是解决入口问题,市场上早就有很多办法。桌面终端、浏览器终端、ssh、tmux、远端插件、连接管理器,这些都能在一定程度上成立。过去很长一段时间里,我也觉得这些东西已经够用。因为那时候远端工作更多只是补充场景,偶尔上去跑个命令、看个日志、改个配置,断了就断了,重来一次虽然麻烦,但还能接受。

但后来情况变了。尤其是 AI coding 进入工作流之后,远端环境不再只是偶尔连接一下的地方,而变成了持续工作的现场。这个时候,一旦会话断掉、环境漂移、上下文丢失,问题就不再只是“多花一点时间”,而是整个工作连续性被破坏了。

以前如果只是我自己手动操作,断了以后重新来一遍,最多是烦一点。现在不一样了。AI 参与进来以后,很多上下文本来就在持续累积。如果 ssh 一断,远端环境的状态没了,或者正在运行的会话断了,那损失的不只是一个终端窗口,而是整个上下文链条。对 AI coding 来说,这一点是很难接受的。Web coding、远端调试、进程观察、长任务执行,这些事情一旦中断,带来的麻烦会比过去大得多。

也是从那时候开始,我越来越确定:远端环境真正缺的不是入口,而是秩序。

一、为什么“能连上去”已经不够了

远端工作的问题,早就不是“有没有连接手段”。

真正的问题是,连上去之后,环境是不是还在,会话是不是连续,进程是不是还活着,输出是不是还能补回来,当前到底是连接断了、渲染卡了,还是远端运行态本身出了问题。过去这些事情大多散落在经验、脚本、日志和人工判断里,工具只负责把你送进去,剩下的全靠自己兜底。

这种方式在轻量场景里还能勉强维持,但一旦远端工作成为主场景,它就会越来越不够用。因为它把最关键的复杂性都留给了人:会话挂了靠自己判断,输出断了靠自己猜,环境漂了靠自己查,恢复失败靠自己补。

真正限制远端工作体验的,不是连接,而是这种默认让用户自己处理一切的方式。

二、为什么 AI 时代会把这个问题放大

没有 AI 的时候,远端环境的问题主要影响效率;有了 AI 以后,它开始直接影响上下文连续性。

这一点对我来说是一个很明显的变化。以前断了就重来,虽然麻烦,但事情还在人的脑子里。现在很多工作已经和 AI 会话、远端执行、长任务运行绑在一起。上下文不是完全靠人记住,而是靠系统和会话持续承接。一旦远端环境的连续性出问题,就不只是终端重新打开一下这么简单,而是整条工作链都被截断。

也正因为如此,我会特别在意环境漂移和会话中断。不是因为这两个问题以前不存在,而是因为在 AI coding 场景里,它们的代价被放大了。以前可忍受的问题,现在会变成主问题。

当然,这件事和时代也有关系。比如现在很多产品已经有了更好的 resume 能力,这比我最早做这条线的时候要进步很多。但这并没有改变我当时的核心判断:远端环境真正需要解决的,不只是连接,而是工作连续性。

三、为什么我说的“秩序”首先是个人秩序

我说远端环境缺秩序,不是在说所有人都该有同一种秩序,而是在说每个人都需要一套适合自己的工作秩序。

这一点很重要。因为远端工作和终端工具,天然带着很强的个人习惯属性。有人喜欢把窗口排得很紧,有人喜欢多个区域并行;有人喜欢主窗口 coding、侧窗口看日志;有人会一边做 vibe coding,一边去服务器上起进程、看状态、切代码、盯输出。每个人对窗口位置、排序方式、分工结构的偏好都不一样。

这和日常使用习惯很像。有人喜欢把手机放口袋里,有人喜欢拿在手上,有人喜欢挂在脖子上。同样是工作,每个人组织现场的方式也不一样。

所以我理解的秩序,不是系统替用户规定一种固定布局,而是系统要允许用户按自己的工作方式去组织现场。窗口怎么分,任务怎么排,哪些地方长期盯着,哪些地方临时切进去,这些都应该是灵活的。AiCmder 之所以是一条工具线,而不是一个高度规定式的平台,也和这个判断有关。

四、为什么它最终不能只是一款终端工具

如果只把 AiCmder 理解成终端产品,后面的很多设计就会显得过重。为什么要关心会话续接,为什么要关心输出补偿,为什么要关心进程状态、环境检查、桥接链路、运行态诊断?

但这些都不是外围加法,而是问题继续往下挖之后自然出现的结果。

终端只是远端工作现场的可见层。真正决定体验的,往往不是能不能输入命令,而是:

  • 当前会话是否还能续上;
  • 当前环境是否还是原来的环境;
  • 当前进程到底是不是还活着;
  • 当前输出能不能补回来;
  • 当前问题是连接层、渲染层,还是运行层的问题;
  • 当前本地和远端的工作分工是不是清楚。

一旦把问题这样看,AiCmder 的定位就不会再停在“一个壳”上,而会自然变成工作台。终端只是入口之一,真正重要的是整个远端现场有没有被组织起来。

五、为什么灵活性在这里不是附加项

我后来一直觉得,AiCmder 这条线之所以还成立,是因为它确实符合我的真实工作状态。

很多时候,我不是只做一件事。我可能一边在做 vibe coding,一边还要去服务器上起服务、看进程、查日志、翻代码,或者临时切到另一个窗口看某个状态。有时候我甚至需要多个窗口同时工作,一个窗口盯执行,一个窗口看环境,一个窗口做主链开发。

这类场景的问题,不是“有没有终端”,而是工具能不能允许我把这些事情自然摆在一起,而不是逼我回到单一窗口、单一路径、单一流程的模式里。

所以灵活性在这里不是锦上添花,而是成立条件。因为远端工作本来就不是一个标准化到所有人都一样的动作序列。它更像一个现场,而现场就需要能被用户自己组织。

六、为什么我现在仍然觉得这条线方向没错

今天回头看,我并不觉得 AiCmder 的方向本身有错。

一方面,远端工作依然是我真实工作流的一部分,而且它和 AI coding、服务器操作、进程管理、本地开发之间确实会不断交叉。另一方面,我仍然相信,远端环境最值得被产品化的地方,不是再做一个新的入口,而是把原本靠经验维持的会话连续性、运行态理解和个人工作秩序显式承接下来。

它不是一个人人都必须用的庞大系统,而更像一套更符合现代工作流的工具基础。

AiCmder 真正想回答的问题其实很简单:当远端环境已经不再是临时入口,而是持续工作现场时,工具到底能不能把这种现场组织起来,并且让用户按自己的方式去使用它。