From 1008ca22346f32ad2ae08d2ff569d2ec1caa0750 Mon Sep 17 00:00:00 2001 From: omartelo Date: Sat, 17 Oct 2026 15:01:30 -0300 Subject: [PATCH] docs: oh-my-pi warns at the switch with plugin 0.20.5 lich-plugin 0.20.5 reports omp's session_switch, so a /resume inside oh-my-pi now reaches the two-cards-one-conversation warning at the switch. The ceiling and the README provider rows say so. --- README.es.md | 2 +- README.ja.md | 2 +- README.ko.md | 2 +- README.md | 2 +- README.pt-BR.md | 2 +- README.ru.md | 2 +- README.zh-CN.md | 2 +- docs/ceilings.md | 18 +++++++++--------- 8 files changed, 16 insertions(+), 16 deletions(-) diff --git a/README.es.md b/README.es.md index d0b521c7..4fe08703 100644 --- a/README.es.md +++ b/README.es.md @@ -129,7 +129,7 @@ porque lee lo que cada CLI deja escrito y no hay dos que anoten las mismas cosas | Reanudar una conversación iniciada fuera de lich, desde la pestaña Historial de la paleta | sí | sí | sí | sí | sí | Linux; macOS y Windows sin probar | sí | sí | | Un pegado largo puede llegar como texto editable en vez de un marcador plegado (Ajustes › Proveedores, desactivado por defecto) | sí | no | no | sí | no medido | no, se convierte en un adjunto `paste_N.txt` | no | sí | | Bifurcar una conversación en un nuevo worktree, o en su propio checkout en la ventana nativa | sí | sí | no | sí | no | no | no | no | -| Aviso en la ventana nativa cuando retomas, desde la propia app del agente, una conversación que otra tarjeta tiene abierta | sí | en tu próximo prompt | en tu próximo prompt, sin probar | no | no | en su próxima llamada a una tool | no | sí | +| Aviso en la ventana nativa cuando retomas, desde la propia app del agente, una conversación que otra tarjeta tiene abierta | sí | en tu próximo prompt | en tu próximo prompt, sin probar | no | sí | en su próxima llamada a una tool | no | sí | | Abrir una sesión con un esfuerzo de razonamiento elegido | sí | sí | sí | no | sí | no | en el nombre del modelo | sí | | Abrir una sesión con ultracode activado | sí | no | no | no | no | no | no | no | | Varias cuentas lado a lado como perfiles, cada una con su propio inicio de sesión completo, y una sesión movida a otra cuenta que sigue en la misma tarjeta (en la ventana nativa, experimental: Ajustes › Proveedores) | sí | sí, con sus propios plugins en cada perfil y los ajustes de Personal compartidos por todos | no | sí, con sesión iniciada desde una tarjeta de terminal; una sesión no puede pasar a otro perfil, porque sus conversaciones están en la base de datos que guarda el inicio de sesión | sí, con sesión iniciada desde una tarjeta de terminal, con sus ajustes compartidos por todos los perfiles | no medido | Linux y Windows (en macOS su inicio de sesión está en el Llavero), con sesión iniciada desde una tarjeta de terminal, con `mcp.json`, hooks y skills compartidos por todos los perfiles | solo Linux (macOS guarda su inicio de sesión en el Llavero y en Windows nada lo mueve), con sesión iniciada desde una tarjeta de terminal, con sus conversaciones compartidas por todos los perfiles | diff --git a/README.ja.md b/README.ja.md index f2347a0d..bddd116a 100644 --- a/README.ja.md +++ b/README.ja.md @@ -120,7 +120,7 @@ lich は各 CLI が書き残したものを読むので、書き残す内容は | lich の外で始めた会話を、パレットの History タブから再開 | あり | あり | あり | あり | あり | Linux のみ。macOS と Windows は未検証 | あり | あり | | 長いペーストを、折りたたまれたプレースホルダーではなく編集可能なテキストとして貼り付けられる(Settings › Providers、既定ではオフ) | あり | なし | なし | あり | 未計測 | なし(`paste_N.txt` の添付になる) | なし | あり | | 会話を新しいワークツリーにフォーク(ネイティブウィンドウでは同じチェックアウト内にも) | あり | あり | なし | あり | なし | なし | なし | なし | -| 別のカードで開いている会話をエージェント自身のアプリで再開すると、ネイティブウィンドウに警告 | あり | 次のプロンプトで | 次のプロンプトで(未検証) | なし | なし | 次のツール呼び出しで | なし | あり | +| 別のカードで開いている会話をエージェント自身のアプリで再開すると、ネイティブウィンドウに警告 | あり | 次のプロンプトで | 次のプロンプトで(未検証) | なし | あり | 次のツール呼び出しで | なし | あり | | 推論エフォートを指定してセッションを開く | あり | あり | あり | なし | あり | なし | モデル名で指定 | あり | | ultracode をオンにしてセッションを開く | あり | なし | なし | なし | なし | なし | なし | なし | | 複数のアカウントをプロファイルとして並べて使え、それぞれが独自の完全なログインを持ち、別のアカウントへ移したセッションが同じカードで続行される(ネイティブウィンドウ、実験的機能:Settings › Providers) | あり | あり。各プロファイルが独自のプラグインを持ち、Personal の設定はすべてで共有される | なし | あり。ターミナルカードからログインする。会話がログインを保持するデータベースにあるため、セッションを別のプロファイルへ移すことはできない | あり。ターミナルカードからログインし、設定はすべてのプロファイルで共有される | 未計測 | Linux と Windows(macOS ではログインがキーチェーンにある)。ターミナルカードからログインし、`mcp.json`、フック、スキルはすべてのプロファイルで共有される | Linux のみ(macOS ではログインがキーチェーンにあり、Windows ではそれを移す手段がない)。ターミナルカードからログインし、会話はすべてのプロファイルで共有される | diff --git a/README.ko.md b/README.ko.md index 8348242f..e231d5c1 100644 --- a/README.ko.md +++ b/README.ko.md @@ -117,7 +117,7 @@ lich로 할 수 있는 일: | lich 밖에서 시작한 대화를 팔레트의 History 탭에서 재개 | 예 | 예 | 예 | 예 | 예 | Linux; macOS와 Windows는 미검증 | 예 | 예 | | 긴 붙여 넣기를 접힌 자리 표시자 대신 편집 가능한 텍스트로 넣기(Settings › Providers, 기본값 꺼짐) | 예 | 아니요 | 아니요 | 예 | 측정 안 됨 | 아니요, `paste_N.txt` 첨부 파일이 됨 | 아니요 | 예 | | 대화를 새 worktree로 포크, 네이티브 창에서는 같은 체크아웃에도 포크 | 예 | 예 | 아니요 | 예 | 아니요 | 아니요 | 아니요 | 아니요 | -| 다른 카드에 열려 있는 대화를 에이전트 자체 앱에서 재개하면 네이티브 창에 경고 | 예 | 다음 프롬프트에서 | 다음 프롬프트에서, 미검증 | 아니요 | 아니요 | 다음 도구 호출에서 | 아니요 | 예 | +| 다른 카드에 열려 있는 대화를 에이전트 자체 앱에서 재개하면 네이티브 창에 경고 | 예 | 다음 프롬프트에서 | 다음 프롬프트에서, 미검증 | 아니요 | 예 | 다음 도구 호출에서 | 아니요 | 예 | | 원하는 reasoning effort로 세션 열기 | 예 | 예 | 예 | 아니요 | 예 | 아니요 | 모델 이름으로 | 예 | | ultracode를 켠 채로 세션 열기 | 예 | 아니요 | 아니요 | 아니요 | 아니요 | 아니요 | 아니요 | 아니요 | | 여러 계정을 프로필로 나란히 두고 각자 완전한 로그인을 가지며, 다른 계정으로 옮긴 세션이 같은 카드에서 계속됨(네이티브 창, 실험적 기능: Settings › Providers) | 예 | 예, 프로필마다 자체 플러그인을 두고 Personal의 설정은 모든 프로필이 공유 | 아니요 | 예, 터미널 카드에서 로그인; 대화가 로그인 정보와 같은 데이터베이스에 있어서 세션을 다른 프로필로 옮길 수 없음 | 예, 터미널 카드에서 로그인하며 설정은 모든 프로필이 공유 | 측정 안 됨 | Linux와 Windows(macOS에서는 로그인이 키체인에 있음), 터미널 카드에서 로그인하며 `mcp.json`, hooks, skills는 모든 프로필이 공유 | Linux만(macOS는 로그인을 키체인에 두고, Windows에서는 그 위치를 옮길 방법이 없음), 터미널 카드에서 로그인하며 대화는 모든 프로필이 공유 | diff --git a/README.md b/README.md index be1132e7..6aab542d 100644 --- a/README.md +++ b/README.md @@ -121,7 +121,7 @@ reads what each CLI writes down and no two of them write down the same things. | Resume a conversation started outside lich, from the palette's History tab | yes | yes | yes | yes | yes | Linux; macOS and Windows untested | yes | yes | | A long paste can land as editable text instead of a folded placeholder (Settings › Providers, off by default) | yes | no | no | yes | not measured | no, it becomes a `paste_N.txt` attachment | no | yes | | Fork a conversation into a new worktree, or in its own checkout in the native window | yes | yes | no | yes | no | no | no | no | -| Warned in the native window when you resume, from the agent's own app, a conversation another card has open | yes | on your next prompt | on your next prompt, untested | no | no | at its next tool call | no | yes | +| Warned in the native window when you resume, from the agent's own app, a conversation another card has open | yes | on your next prompt | on your next prompt, untested | no | yes | at its next tool call | no | yes | | Open a session at a chosen reasoning effort | yes | yes | yes | no | yes | no | in the model name | yes | | Open a session with ultracode on | yes | no | no | no | no | no | no | no | | Several accounts side by side as profiles, each with its own full login, and a session moved to another account carrying on in the same card (in the native window, experimental: Settings › Providers) | yes | yes, with its own plugins in each profile and Personal's settings shared by all of them | no | yes, logged in from a terminal card; a session cannot move to another profile, since its conversations sit in the database that holds the login | yes, logged in from a terminal card, with its settings shared by every profile | not measured | Linux and Windows (on macOS its login is in the Keychain), logged in from a terminal card, with `mcp.json`, hooks and skills shared by every profile | Linux only (macOS keeps its login in the Keychain, and on Windows nothing moves it), logged in from a terminal card, with its conversations shared by every profile | diff --git a/README.pt-BR.md b/README.pt-BR.md index 78549874..d2300a55 100644 --- a/README.pt-BR.md +++ b/README.pt-BR.md @@ -132,7 +132,7 @@ mesmas coisas. | Retomar pela aba Histórico da paleta uma conversa iniciada fora do lich | sim | sim | sim | sim | sim | Linux; macOS e Windows não testados | sim | sim | | Um paste longo pode chegar como texto editável em vez de um marcador dobrado (Configurações › Provedores, desligado por padrão) | sim | não | não | sim | não medido | não, vira um anexo `paste_N.txt` | não | sim | | Fazer fork de uma conversa para uma nova worktree, ou no mesmo checkout na janela nativa | sim | sim | não | sim | não | não | não | não | -| Aviso na janela nativa quando você retoma, pelo próprio app do agente, uma conversa que outro card tem aberta | sim | no seu próximo prompt | no seu próximo prompt, não testado | não | não | na próxima chamada de tool | não | sim | +| Aviso na janela nativa quando você retoma, pelo próprio app do agente, uma conversa que outro card tem aberta | sim | no seu próximo prompt | no seu próximo prompt, não testado | não | sim | na próxima chamada de tool | não | sim | | Abrir uma sessão com um esforço de raciocínio escolhido | sim | sim | sim | não | sim | não | no nome do modelo | sim | | Abrir uma sessão com o ultracode ligado | sim | não | não | não | não | não | não | não | | Várias contas lado a lado como perfis, cada uma com seu login completo, e uma sessão movida para outra conta continuando no mesmo card (na janela nativa, experimental: Configurações › Provedores) | sim | sim, com plugins próprios em cada perfil e as configurações do Pessoal compartilhadas por todos | não | sim, com login feito em um card de terminal; uma sessão não pode mudar de perfil, já que as conversas dela ficam no banco de dados que guarda o login | sim, com login feito em um card de terminal e as configurações compartilhadas por todos os perfis | não medido | no Linux e no Windows (no macOS o login fica no Keychain), com login feito em um card de terminal, e `mcp.json`, hooks e skills compartilhados por todos os perfis | só no Linux (o macOS guarda o login no Keychain, e no Windows nada muda o lugar dele), com login feito em um card de terminal e as conversas compartilhadas por todos os perfis | diff --git a/README.ru.md b/README.ru.md index 9603a7f3..8e4c6660 100644 --- a/README.ru.md +++ b/README.ru.md @@ -133,7 +133,7 @@ lich вообще не запускается. | Возобновление разговора, начатого вне lich, со вкладки «История» палитры | да | да | да | да | да | Linux; macOS и Windows не проверялись | да | да | | Длинная вставка может попасть как редактируемый текст вместо свёрнутой заглушки (Настройки › Провайдеры, по умолчанию выключено) | да | нет | нет | да | не измерялось | нет, она становится вложением `paste_N.txt` | нет | да | | Форк разговора в новый worktree, а в нативном окне и в том же checkout | да | да | нет | да | нет | нет | нет | нет | -| Предупреждение в нативном окне, когда вы возобновляете в самом приложении агента разговор, открытый в другой карточке | да | при следующем промпте | при следующем промпте, не проверено | нет | нет | при следующем вызове инструмента | нет | да | +| Предупреждение в нативном окне, когда вы возобновляете в самом приложении агента разговор, открытый в другой карточке | да | при следующем промпте | при следующем промпте, не проверено | нет | да | при следующем вызове инструмента | нет | да | | Открытие сессии с выбранным уровнем рассуждений | да | да | да | нет | да | нет | в названии модели | да | | Открытие сессии с включённым ultracode | да | нет | нет | нет | нет | нет | нет | нет | | Несколько аккаунтов рядом в виде профилей, у каждого свой полный вход, а сессия, перенесённая на другой аккаунт, продолжается в той же карточке (в нативном окне, экспериментально: Настройки › Провайдеры) | да | да, со своими плагинами в каждом профиле и общими для всех настройками Personal | нет | да, вход из терминальной карточки; сессию нельзя перенести в другой профиль, потому что её разговоры лежат в базе данных, где хранится и вход | да, вход из терминальной карточки, настройки общие для всех профилей | не измерялось | Linux и Windows (в macOS вход хранится в связке ключей), вход из терминальной карточки, `mcp.json`, хуки и навыки общие для всех профилей | только Linux (macOS хранит вход в связке ключей, а в Windows его расположение ничем не переносится), вход из терминальной карточки, разговоры общие для всех профилей | diff --git a/README.zh-CN.md b/README.zh-CN.md index 8ad237ce..74002cbf 100644 --- a/README.zh-CN.md +++ b/README.zh-CN.md @@ -109,7 +109,7 @@ | 在命令面板的 History 页恢复在 lich 之外开始的对话 | 有 | 有 | 有 | 有 | 有 | Linux;macOS 和 Windows 未测 | 有 | 有 | | 长文本粘贴可以以可编辑的完整文本出现,而不是折叠成占位符(设置 › Providers,默认关闭) | 有 | 无 | 无 | 有 | 未测 | 无,会变成 `paste_N.txt` 附件 | 无 | 有 | | 把一段对话分叉到新的 worktree,在原生窗口中也可在同一检出内分叉 | 有 | 有 | 无 | 有 | 无 | 无 | 无 | 无 | -| 在智能体自己的应用里恢复另一张卡片已打开的对话时,原生窗口发出警告 | 有 | 在你的下一个提示时 | 在你的下一个提示时,未测试 | 无 | 无 | 在它的下一次工具调用时 | 无 | 有 | +| 在智能体自己的应用里恢复另一张卡片已打开的对话时,原生窗口发出警告 | 有 | 在你的下一个提示时 | 在你的下一个提示时,未测试 | 无 | 有 | 在它的下一次工具调用时 | 无 | 有 | | 按指定的推理强度打开会话 | 有 | 有 | 有 | 无 | 有 | 无 | 写在模型名里 | 有 | | 以 ultracode 模式打开会话 | 有 | 无 | 无 | 无 | 无 | 无 | 无 | 无 | | 多个账号以 profile 并存,各自完整登录;会话可以移到另一个账号,在同一张卡片里接着做(在原生窗口中,实验性:设置 › Providers) | 有 | 有;每个 profile 有自己的插件,Personal 的设置所有 profile 共用 | 无 | 有;在终端卡片里登录。会话不能移到另一个 profile:对话和登录信息存在同一个数据库里 | 有;在终端卡片里登录,各 profile 共用设置 | 未测量 | Linux 和 Windows(macOS 上登录信息在钥匙串里);在终端卡片里登录,`mcp.json`、hooks 和 skills 各 profile 共用 | 仅 Linux(macOS 把登录信息放在钥匙串里,Windows 上没有办法移动它);在终端卡片里登录,对话由所有 profile 共用 | diff --git a/docs/ceilings.md b/docs/ceilings.md index 51c21a83..2e22e06e 100644 --- a/docs/ceilings.md +++ b/docs/ceilings.md @@ -1204,15 +1204,15 @@ work when nobody knows it and that the call site never shows. The mechanism and - **The two-cards-one-conversation warning reaches only the providers that report an in-app switch** (`internal/terminal/terminal.go` `reportDuplicate`, `native/cmd/lich-native/duplicate.go`): lich learns which conversation a card runs from its session-start report, so a resume typed inside the agent's own app - is warned about only once that report names the new id. Measured on 2026-10-17: Claude Code (`/resume`) and - Kiro CLI 2.21.0 (`/chat`, `agentSpawn` fires per switch) report at the switch; Codex 0.162.1 reports it with - its next prompt and Crush v0.98.1 with its next tool call, so a turn may already have run in both cards; - Antigravity 1.4.0 carries the id on every `PreInvocation`, read in the binary and not run. oh-my-pi 18.8.9 - emits `session_switch`, which the plugin does not hear; Cursor CLI skips `sessionStart` on any resume - (2026.10.16); opencode 1.18.35 raises nothing on `/sessions`. Cursor CLI and opencode report nothing at - all, so their row keeps the old id and a restart resumes the conversation the card opened with. Reopening - from lich itself is not this gap: every door through `store.reopen` focuses the card that holds the - conversation. + is warned about only once that report names the new id. Measured on 2026-10-17: Claude Code (`/resume`), + Kiro CLI 2.21.0 (`/chat`, `agentSpawn` fires per switch) and oh-my-pi 18.8.9 (`/resume`, whose + `session_switch` the plugin reports from 0.20.5 on) report at the switch; Codex 0.162.1 reports it with its + next prompt and Crush v0.98.1 with its next tool call, so a turn may already have run in both cards; + Antigravity 1.4.0 carries the id on every `PreInvocation`, read in the binary and not run. Cursor CLI skips + `sessionStart` on any resume (2026.10.16); opencode 1.18.35 raises nothing on `/sessions`. Those two report + nothing at all, so their row keeps the old id and a restart resumes the conversation the card opened with. + Reopening from lich itself is not this gap: every door through `store.reopen` focuses the card that holds + the conversation. - **A model or effort is a birth value, and two providers forget it on resume** (`internal/terminal/command.go`, `modelArgs`, `effortArgs`): lich passes neither when it resumes or forks a conversation, because a `/model` or `/effort` typed inside the session is the user's decision and re-sending the birth value would undo it. What a