设备
设备
把 Agent 跑在你自己的机器上——本机、桌上的 Mac mini、一台 VPS。Fyolo 通过 SSH 把一个二进制复制过去、把 Agent 配好,会话是否附着都照跑不误。
Fyolo 把 Agent 跑在你自己的机器上:本机、同一张桌子上的 Mac mini、你自己付钱的
VPS。没有 Fyolo 云可供开通,也没有账号要登录——只要 ssh 连得上,就是一台设备。
应用里的一切都归到同一套层级下:
设备 你能连上的机器,本机也算
└ 工作区 侧栏里一个具名的作用域
└ 项目 那台设备上的一份检出
└ 会话 一个真实的终端每一层都只属于上面的某一个。设备这个问题因此只在最顶上回答一次,而不必对每个项目、 每个窗格再问一遍。回答它的那一层,就是工作区。
添加设备
本机也是一台设备,只不过它是你本来就有的那一台。在你添加第二台之前,这一层不会碍事——
新建终端和打开项目…就是普通的动词,因为它们只可能指一个地方。
Fyolo 读 ~/.ssh/config,绝不背着你改写它。你本来 ssh 得上的机器,Fyolo 就连得上:
- 文件 ▸ 连接到… 列出配置里 Fyolo 还没用过的别名。连上去会在那边开一个终端。
- 添加主机… 为还不在配置里的机器追加一段
Host。先填地址;名字就是你之后ssh时要敲的那个词。密钥是到哪儿都好使的凭据,包括跑在那台机器上的会话。密码存进你的钥 匙串,绝不写进ssh配置,只在ssh主动要的时候才读。
设置一台设备
打开设置 ▸ 远程主机,选中那台机器,按设置。Fyolo 会通过 SSH 把一个二进制
——Fyolo server fyolod,Linux 上还有 fyolo 命令行工具——复制到 ~/.local/bin。不需要
root,不需要包管理器,也不用往
shell 配置里加东西。接着它会找那台机器上装了哪些 Agent CLI,给每一个写入 Fyolo 的
hooks 和 Agent 技能,于是 VPS 上的 Agent 也能像本机的一样汇报工作中、需要你和
完成。
同一个按钮就是更新,而机器页面把整条链压成了一行——就绪、设置这台主机,或者 更新就绪。远程主机是那份操作手册:测试线路、为什么密码 不够用、每一级装了什么,以及怎么修好其中一级。
Fyolo 不做什么
Fyolo 从不开通机器,不跑控制面,也不中转你的流量。它调用系统的 ssh,唯一的权威是
你的 ~/.ssh/config 和你的钥匙串。你的代码留在你自己掌握的硬件上——把 shell 交给
一个 Agent、还要动私有仓库,这是唯一站得住的信任故事。
会话跑在设备上
每个会话都跑在拥有它的那台机器的 fyolod 里——本机上的会话也一样,它们跑在本地的
daemon 中。应用只是一个负责附着和分离的查看器。
所以关掉窗口,一切照跑;所以远程会话并不绑在开启它的那条 SSH 连接上:链路断了只是把你 分离,不会杀掉 Agent。重新附着,屏幕就回来了。
只有关闭会话(⌘W)才是有意结束一个会话。退出 Fyolo 只是把你分离,下次启动会重新
附着。
哪些能力跨得过去
设备设置好之后,读项目的那些面板,读的就是项目所在那台机器上的内容:
- 文件——浏览检出、打开文件,并把它存回读它出来的那台机器。
- 搜索——在那台机器上搜检出,跟着它的
cd走,打开搜到的东西。 - 更改、对比、历史——Git 面板读那台机器的仓库,并且在那边和在这边一样是只读的。
- Agent——同一套清单、hooks 和技能,装到那台机器上。一个 Agent 的 CLI 装在哪儿是 关于某一台机器的事实,所以它在远程主机下那台机器自己的页面上回答,而不是在一个 讲 Agent 的页面上。
- 粘贴图片给跑在那台机器上的 Agent,Fyolo 会把文件送过去。
不是 Fyolo 起的会话会自己露面——ssh 上去、用 fyolod 起个东西,侧栏就把它
归档成一个普通会话。数据源是机器自己的名册,箱子上跑着的东西不会被漏掉。