Opencode使用体验:为什么最终转向Codex

谈笑风生 26 views 1 replies
#1 ·

前情提要:我需要使用Harness工具写代码、辅助阅读文档,使用中转站的gpt模型。可以使用实验室的ubuntu机器,但网络波动比较大(学校校园网的质量😅或者在校外使用内网穿透,质量更差)。有时候需要让他长期运行。
需求:有2个Windows电脑:工位电脑和自己的笔记本,需要在这两个设备之间同步数据,所以把代码和数据放在服务器上。

一开始的方案是,在服务器上部署Harness工具,ssh连接之后用tmux打开。
考虑到GPT模型的适配度,我在codex和opencode之间纠结。选择opencode的原因是,它在键盘和鼠标之间取得了平衡:

  1. 键盘:修改键位后,可以直接跳转到最近一次回复的开头(比桌面版的APP更好),也可以快速跳转到上一个、下一个对话的开头。
  2. 鼠标:可以鼠标选一段文字并自动复制,支持在Tmux中使用鼠标滚轮或者直接上下滑动。而对Tmux中的其他Harness工具(Claude Code)使用鼠标滚轮会转化成方向上下键,只会显示上一次输入的内容(类似于shell中的上下键);要在tmux中往上翻需要ctrl+b,[ 之后再翻阅。如果不使用tmux,一个网络波动ssh就断,进程就死了。

讲一讲它的缺点:

  1. 没有ctrl+F查找功能
  2. 没有沙箱功能和自动审查,要把常用指令写入配置文件。
    1. 有bug,至少在我使用时,即使把.venv/bin/python写入allow,还是不停来问我要这个命令的权限
    2. 如果把python全允许了,就相当于允许了除sudo以外的全部指令
  3. 多个opencode进程同时写入数据库会报错。

为了安全,按照GPT的建议,我设置了docker,每个项目可以映射到容器中,只在容器中跑。但是在实测中发现:历史对话数据丢了!!!
最后发现是多个opencode进程一起写入数据库会报错,可能我的数据就是这么丢的。这个bug有人提Issue,但是官方关闭了(吐槽一下官方)。
官方的建议是:后台启动一个opencode server,再按需启动多个客户端,但是这样又无法使用docker,无法做到每个容器一个独立环境。

这下没辙了。

最后换了codex:

  1. 在Linux上启动codex server
  2. 使用windows上的codex app远程连接这个server,或者在Linux机器上允许客户端
  3. 这种方式可以使用codex的沙箱,基本足够安全;也可以自动审核指令,不会因为要我Allow而停下,适合长任务
  4. 即使网络断连,后台server还可以继续跑
  5. 多个设备数据统一:都使用linux上的数据。

当前难受但是可以忍受的点:

  1. 新增项目之后,在Windows codex APP上不会自动同步数据,需要手动添加项目的路径才能看见。
  2. 快捷键不好使:不能一键跳转到上一条的开头。
  3. Codex接中转站,要求在配置文件中把中转站的名字改成OpenAI,否则无法使用GPT官方的搜索功能。

使用Claude Code不多,就不发表评论了。

❤️
1
#2 ·
KnownCircle1 Li Zhiyuan

我使用antigravity