一些奇怪的小情况
关于opencode的这个Cli,在一些SSH终端里面好像没办法进行复制,查到社区里不是个别现象:SSH、tmux、VS Code Remote SSH、Windows Terminal、MobaXterm、Ghostty/Zellij 都有人报过“显示 copied 但剪贴板没更新”。根因大多和 OpenCode TUI 的复制逻辑、OSC52、终端复用器透传有关。
最推荐的解决办法
禁用 OpenCode 的鼠标捕获,让终端自己复制
这是最稳的办法,尤其适合 SSH、MobaXterm、Windows Terminal、VS Code Remote SSH、tmux 这类环境。
临时运行:
OPENCODE_DISABLE_MOUSE=1 OPENCODE_EXPERIMENTAL_DISABLE_COPY_ON_SELECT=1 opencode
长期使用可以加 alias:
echo "alias oc='OPENCODE_DISABLE_MOUSE=1 OPENCODE_EXPERIMENTAL_DISABLE_COPY_ON_SELECT=1 opencode'" >> ~/.bashrc
source ~/.bashrc
然后以后用:
oc
官方环境变量里有 OPENCODE_DISABLE_MOUSE,作用是禁用 TUI 的 mouse capture;也有 OPENCODE_EXPERIMENTAL_DISABLE_COPY_ON_SELECT,作用是禁用 TUI 的 copy on select。
这是 OpenCode TUI + SSH/终端剪贴板兼容性问题,社区已有多次反馈。最稳的解决方式是禁用 OpenCode 的鼠标/自动选择复制,让终端原生复制接管。