Skip to content

Releases: kittors/Lyra

v0.9.19

Choose a tag to compare

@github-actions github-actions released this 21 Sep 18:05

Features

  • Multi-folder projects. A project is no longer tied to a single root directory. You can add multiple source folders to one project upon creation or edit them later through the project dialog. The model recognizes all folders as part of the project context and reads files across them without prompting.

  • Unified read permission boundary. The separate read-only command table is retired in favor of one simple, predictable rule: reading inside the project or system roots runs automatically; reading outside the project asks for confirmation. SSH keys, cloud credentials, and sensitive configurations always prompt wherever they are located.

  • Granular storage management and usage insights in Settings. A dedicated storage section visualizes disk space used by chat histories, cache files, and tool artifacts. You can clean up old sessions, clear temporary cache files, or purge data by retention periods.

Improvements & Fixes

  • Graceful rewind to empty state. Rewinding or undoing the only message in a conversation properly returns to the welcoming initial state with starters instead of leaving a blank canvas.

  • Unified provider model actions and refined inline code styling. Model actions across different providers use consistent icon controls and layout. Inline code blocks in messages and tool outputs feature calibrated padding, subtle tinting, and balanced typographic contrast.

中文(简体)

新功能

  • 多文件夹项目支持。 一个项目不再限制在单个根目录。创建项目或在项目设置中,可以向同一项目添加多个源码文件夹。模型会自动识别并覆盖所有关联目录,直接读取和检索跨目录文件无需重复确认。

  • 统一的文件读取安全边界。 移除了容易误判的只读命令列表,改用清晰一致的判定原则:项目内以及系统常用目录的读取自动放行;项目外部路径的读取均需经过人工确认。对于 SSH 密钥、云服务凭据与敏感配置文件,无论放在何处都会弹出确认提示。

  • 设置页新增存储管理与用量分析。 设置中提供了详细的存储占用可视化,清晰列出会话日志、缓存文件与运行产物所占磁盘空间。支持按保留周期清理历史对话、清除临时缓存与一键释放磁盘空间。

优化与修复

  • 撤回唯一消息时平滑恢复初始状态。 撤回对话中的最后一条消息后,窗口会优雅回到包含推荐提问与起始提示的初始界面,不再留下一片空白。

  • 统一服务商模型操作按钮与行内代码样式。 各服务商模型卡片的刷新、编辑与删除动作按钮采用统一的图标控件与对齐规范;优化了转录中行内代码与代码块的内衬与字阶对比度。

中文(繁體)

新功能

  • 多資料夾專案支援。 專案不再侷限於單一根目錄。在建立專案或專案設定中,可以將多個原始碼資料夾納入同一個專案。模型會自動辨識並包含所有關聯資料夾,跨資料夾讀取與搜尋檔案無需重複確認。

  • 統一的檔案讀取安全邊界。 簡化讀取權限判斷規則:專案範圍內及系統常用目錄的讀取自動放行;讀取專案以外的路徑皆需經過人工確認。對於 SSH 金鑰、雲端憑證等敏感檔案,無論位於何處皆會跳出確認提示。

  • 設定頁新增儲存空間管理。 設定中新增儲存空間視覺化圖表,清楚呈現對話紀錄、快取檔案與工具產物所佔用的磁碟容量,並支援依時間保留期限清除歷史資料與釋放空間。

最佳化與修復

  • 撤回唯一訊息時平滑回到初始狀態。 撤回對話中僅有的第一則訊息後,介面會正常顯示帶有起始引導的初始畫面,不再留下一片空白。

  • 統一模型服務商操作按鈕與行內代碼樣式。 各服務商模型列表的操作按鈕統一採用一致的圖示與排版;調整對話中行內代碼的邊距與視覺對比度。

日本語

新機能

  • 複数フォルダープロジェクトのサポート。 1つのプロジェクトが単一のディレクトリに縛られなくなりました。新規作成時やプロジェクト設定から複数のソースフォルダーを追加できます。モデルはすべてのフォルダーを認識し、確認なしで横断的に読み取りや検索を行えます。

  • ファイル読み取り権限の境界を統一。 読み取り専用コマンドの個別判定を廃止し、シンプルで一貫したルールに刷新しました。プロジェクト内およびシステムルートの読み取りは自動許可され、プロジェクト外のファイル読み取りは確認を求めます。SSH 鍵やクラウドアカウント情報などの機密ファイルは、場所を問わず必ず確認を挟みます。

  • 設定画面にストレージ管理機能を追加。 会話履歴、キャッシュ、生成ファイルが占有するディスク容量を可視化しました。保持期間に応じた古い会話の整理や、一時キャッシュの削除を簡単に行えます。

改善と修正

  • 最後のメッセージ取り消し時に初期画面へ正しく復帰。 会話内の唯一のメッセージを取り消した際、空白画面にならず、ウェルカム表示と初期プロンプトへスムーズに戻るよう修正しました。

  • プロバイダーモデルの操作ボタン統一とインラインコードスタイルの調整。 モデル一覧のアクションボタンのレイアウトとアイコンを統一しました。また、チャット内のインラインコードの余白とコントラストを最適化しました。

한국어

새로운 기능

  • 다중 폴더 프로젝트 지원. 프로젝트가 더 이상 단일 루트 디렉터리에 제한되지 않습니다. 프로젝트 생성 시 또는 프로젝트 설정에서 여러 소스 폴더를 하나의 프로젝트로 묶을 수 있습니다. 모델은 모든 폴더를 인식하여 별도 확인 없이 폴더 간 파일을 읽고 탐색합니다.

  • 통합된 파일 읽기 보안 경계. 읽기 전용 명령어 목록을 걷어내고 명확한 규칙으로 개편했습니다. 프로젝트 내부 및 시스템 루트 읽기는 자동으로 허용되며, 프로젝트 외부 경로를 읽을 때는 사용자 확인을 거칩니다. SSH 키와 클라우드 인증 정보 등 민감한 파일은 위치에 관계없이 항상 확인 창이 표시됩니다.

  • 설정 화면에 저장 공간 관리 기능 추가. 대화 기록, 임시 캐시, 도구 결과물이 차지하는 디스크 용량을 시각화하여 보여줍니다. 보관 기간에 따른 오래된 대화 정리 및 임시 캐시 삭제를 간편하게 수행할 수 있습니다.

개선 및 수정

  • 유일한 메시지 취소 시 초기 화면으로 자연스럽게 복원. 대화 내의 유일한 메시지를 되돌렸을 때 빈 화면으로 남지 않고, 시작 프롬프트가 포함된 초기 화면으로 원활하게 복귀합니다.

  • 제공자 모델 작업 버튼 통일 및 인라인 코드 스타일 조정. 모델 목록의 버튼 디자인과 배치를 일관되게 정돈하고, 메시지 내 인라인 코드 블록의 여백과 가독성을 다듬었습니다.

Français

Nouvelles fonctionnalités

  • Projets multi-dossiers. Un projet ne se limite plus à un seul répertoire racine. Vous pouvez ajouter plusieurs dossiers sources lors de la création ou via les paramètres du projet. Le modèle prend en compte l'ensemble des dossiers et accède aux fichiers sans demander de confirmation superflue.

  • Frontière unifiée des permissions de lecture. Remplacement de la liste des commandes en lecture seule par une règle claire et prévisible : les lectures dans le projet ou les répertoires système sont directes ; toute lecture en dehors du projet nécessite une approbation. Les clés SSH et identifiants cloud demandent toujours une confirmation, quel que soit leur emplacement.

  • Gestion du stockage dans les paramètres. Visualisation claire de l'espace disque occupé par l'historique des conversations, les caches et les fichiers temporaires. Permet de purger les anciennes sessions selon une durée de rétention et de libérer facilement de l'espace.

Améliorations et corrections

  • Retour fluide à l'état initial lors de l'annulation du seul message. Supprimer ou annuler le premier et unique message d'une conversation réaffiche correctement l'écran d'accueil avec les suggestions au lieu d'une page blanche.

  • Harmonisation des boutons de modèles et ajustement du code en ligne. Les actions sur les modèles adoptent des commandes et icônes cohérentes. Les blocs de code en ligne dans les messages bénéficient d'un contraste et d'espacements affinés.

Русский

Новые возможности

  • Поддержка нескольких папок в проекте. Проект больше не ограничен одним корневым каталогом. При создании или в настройках проекта можно добавить несколько исходных папок. Модель видит все связанные каталоги и читает файлы между ними без лишних подтверждений.

  • Единые границы доступа на чтение файлов. Отдельный список безопасных команд упразднён в пользу понятного правила: чтение файлов внутри проекта и системных папок разрешено автоматически; чтение файлов вне проекта требует подтверждения. Ключи SSH и конфигурации облачных сервисов всегда запрашивают подтверждение независимо от расположения.

  • Управление хранилищем в настройках. Наглядная статистика занятого места на диске: история диалогов, временные файлы и кэш. Поддерживается удаление старых сессий по сроку давности и быстрая очистка кэша.

Улучшения и исправления

  • Корректный возврат к начальному экрану при отмене единственного сообщения. При удалении единственного сообщения диалог корректно возвращается к экрану приветствия с подсказками, а не остаётся пустым.

  • Унификация кнопок моделей и улучшение стиля инлайн-кода. Действия с моделями провайдеров приведены к единому оформлению. Оптимизированы отступы и контраст шрифта для инлайн-кода в сообщениях.

新功能

  • 完善设置项、用量统计、存储管理与界面体验 (83099e4)
  • 一个项目可以由几个源文件夹组成,创建和编辑走同一个弹窗 (660947d)
  • core: 读取边界只留一条,越界读要经过人 (c7cadd7)

修复

  • core: session move 保持 updatedAt 判定与 listSessions 一致 (2da5fb6)
  • core: 修复 session move 时 latestMeta 缓存键与 projectId 匹配 (21a90d6)
  • core: 修复 Windows 环境下的路径断言与 resolve 导入 (faad993)
  • core: 修正 store 中 move payload 类型的比较 (af6e3f2)
  • core: 修复 session move 的 payload 解析与测试断言 (2414b48)
  • core: 修复 session move 时 updatedAt 保持不变 (1bf5c9c)
  • core: 修复 Windows 路径反斜杠下的密钥正则、prompt 断言及测试环境 (3dc1559)
  • desktop: 不要导出仅在文件内部使用的类型 (24be428)
  • desktop: 撤回最后一条消息之后,回到空状态而不是一片空白 (b11ddeb)

重构

  • desktop: unify provider models header action buttons (1bf3ffd)

文档

  • update README with split workspace, git modal, and layout details (8a345e0)

v0.9.18

Choose a tag to compare

@github-actions github-actions released this 20 Sep 13:16

Fixes

  • Commit and push dialog is now a focused modal with full branch control. The commit interface is moved from a cramped popover overlapping the file list into a centered modal dialog with matching border radius and breathing room. The branch row now expands a full branch picker allowing instant selection or in-place branch creation that only commits and creates upon confirmation. The message input preserves generated drafts on retry, and the commit language selector remains permanently available without disappearing during typing.

  • Action buttons on file diff rows no longer overlap or crowd file names. Revert and stage buttons now sit smoothly at the far right edge when hovering without pushing the diff addition/deletion numbers away or leaving empty gaps. Transitions are carefully sequenced so counts yield before buttons fade in, preventing double-drawn transparent artifacts.

  • User bubbles now render full Markdown, and side chat no longer displays internal attachment markers. Messages in conversations format markdown blocks properly. Side chat now tracks separate display text so raw attachment headers (### Attached file: ...) intended for models are no longer exposed in the chat bubbles or restored into edit boxes.

  • Window title bars and captions properly proportioned on Windows. Windows native titlebar overlay height now uses standard caption button heights (32px) rather than macOS traffic-light centering heights (44px), and the header bar background color is consistently applied to panel and session windows instead of blending into the content below.

  • Queue status spinner stays attached to the latest user bubble. Spinning indicators follow the last user message rather than permanently sticking with an outdated "Waiting for previous response" notice when turns are queued or streaming.

  • The Git changes view remembers your tree vs. flat view preference. Toggling between tree view and flat list is preserved across panel closes, workspace switches, branch checkouts, and app reloads.

  • Masked API keys in settings never overlap the visibility toggle button. Long secret keys keep sufficient clearance from the show/hide eye button using flex layout, preventing text characters from drawing over the control.

中文(简体)

修复

  • Git 提交改动改为居中弹窗,分支可直接选择或新建。 提交界面从此前遮挡半个面板与文件列表的挤压浮层,改为居中弹窗模态,采用与主输入框一致的圆角、描边与内衬呼吸感。分支行可直接展开本地分支列表或新建分支,确认提交时才执行切换;生成的提交信息写回输入框,生成语言切换按钮常驻,不再因开始打字就突兀消失或让输入框变矮。

  • 文件改动列表行右侧按钮不再挤占文件名或留白。 撤销与暂存按钮采用绝对定位与右边缘对齐,闲置时数字一直延伸到边框边缘,悬停时数字让位后按钮渐入,移开时按钮先走数字后回,消除同时半透明重叠的毛刺感。

  • 用户消息气泡支持 Markdown 渲染,侧边聊天不再把附件内部记号展示在气泡中。 用户消息整段按 Markdown 正常排版;侧边聊天接入独立显示文本与附件结构,模型专用的附件展开正文与文件头不会再泄露在气泡内,重新编辑也不会把附件代码反填进输入框。

  • Windows 顶栏与系统按钮高度恢复标准比例。 Windows/Linux 顶栏拆出专用的原生标题栏高度(32px),不再套用 macOS 红绿灯专用的 44px 高度,标题栏按钮恢复正常大小;面板与会话窗口补齐顶栏底色,消除内容顶住顶部的遮挡感。

  • 转录末尾思考指示器精准跟随最后一条用户气泡。 移除了容易造成状态卡死的「等上一条回复完成」提示,在排队或连续提问时,等待动画始终紧跟最新发送的气泡。

  • Git 改动列表记住树形与平铺视图偏好。 切换为树形展示后偏好保存至本地,关闭面板、切换分支、切换会话或重启应用均不会意外重置回平铺。

  • 设置页长密钥不再遮挡眼睛显隐按钮。 密钥输入框与眼睛切换按钮统一使用 flex 排版布局,长密钥字符与圆点停在按钮左侧,避免长字符串将切换按钮盖住。

中文(繁體)

修復

  • Git 提交變更改為居中彈窗,分支可直接選取或新建。 提交介面從先前遮擋半個面板與檔案清單的浮層,改為居中彈窗,採用與主輸入框一致的圓角、邊框與間距。分支列可直接展開本機分支清單或新建分支,按下提交時才執行切換;產生的提交訊息會寫回輸入框,語言切換按鈕常駐顯示,不再因開始打字而跳動或縮排。

  • 檔案變更清單右側按鈕不再擠壓檔名或留白。 復原與暫存按鈕採用絕對定位對齊右側邊緣,平時數字延伸至最右端,懸停時數字讓位後按鈕淡入,離開時按鈕先退後數字補回,避免兩者同時半透明重疊。

  • 使用者訊息對話框支援 Markdown 呈現,側邊聊天不再顯示內部附件標記。 使用者訊息依 Markdown 正常排版;側邊聊天分離顯示文字與附件資料,不再將給模型讀取的附件檔頭曝露在對話框中,重新編輯時也不會帶入附件原始碼。

  • Windows 頂欄與系統按鈕高度還原標準比例。 Windows/Linux 頂欄採用專屬原生高度(32px),不再誤套用 macOS 紅綠燈的 44px 高度;面板與對話視窗補齊標題列底色,內容不再被頂部邊界遮蓋。

  • 佇列狀態指示器精準跟隨最後一筆使用者訊息。 移除容易卡住的「等上一條回覆完成」文字,在連續傳送訊息時,載入中旋轉圖示永遠緊跟在最新的使用者對話框下方。

  • Git 變更清單記住樹狀與平鋪檢視偏好。 切換為樹狀檢視後偏好自動儲存,關閉面板、切換分支或重啟應用均會維持設定。

  • 設定頁長金鑰不再覆蓋眼睛顯隱按鈕。 金鑰輸入框與顯隱切換按鈕統一採用 flex 排版,避免長金鑰字元覆蓋按鈕導致無法點擊。

日本語

修正

  • Git コミット画面が中央モーダルダイアログになり、ブランチの切り替えや新規作成に対応しました。 ファイル一覧を覆っていた従来のポップオーバーから、メイン入力欄と統一感のある角丸と余白を持つ中央モーダルに変更しました。ブランチ行からローカルブランチの選択や新規ブランチ作成が可能になり、生成されたコミット文は入力欄に反映され、言語切り替えボタンも入力中常時表示されます。

  • 変更ファイル一覧右端のボタン配置を整理しました。 取り消し・ステージングボタンを右端に絶対配置し、待機時は増減数が端まで表示され、ホバー時は数値を先に隠してからボタンを表示する段階的な遷移にすることで、半透明の重複表示を防ぎました。

  • メッセージ吹き出しの Markdown 表示に対応し、サイドチャットの内部添付表記を隠しました。 吹き出し内の Markdown が正しくレンダリングされるようになりました。サイドチャットでもモデル向けの展開記法(### Attached file: ...)が画面や再編集用テキストに混入しないよう分離しました。

  • Windows のタイトルバーとボタンの大きさを標準比率に修正しました。 Windows/Linux のヘッダー高さを標準の 32px に設定し、macOS 向けの 44px を適用していたことによるボタン肥大化を解消しました。また、パネルおよび会話ウィンドウにも適切なヘッダー背景色を適用しました。

  • 処理中スピナーが常に最新のユーザーメッセージに追従するよう改善しました。 状態が固まりやすかった「前の応答を待っています」表記を撤去し、キュー実行時もスピナーが最新メッセージの直下に自然に配置されます。

  • Git 変更一覧のツリー表示・フラット表示設定を保持するようにしました。 表示形式の切り替えがローカルに保存され、パネルの開閉やブランチ切り替え、再起動後も状態を維持します。

  • 設定画面の長い API キーが目のトグルボタンに被らないようレイアウトを修正しました。 flex レイアウトにより入力テキストがボタンの手前で収まるようになり、長いキーを入力してもボタンが覆われることがなくなりました。

한국어

고친 것

  • Git 커밋 화면을 중앙 모달 다이얼로그로 개편하고 브랜치 생성 및 선택을 연결했습니다. 파일 목록을 덮던 좁은 팝오버를 메인 입력창과 동일한 여백과 둥근 모서리를 가진 중앙 모달로 바꾸었습니다. 브랜치 행에서 로컬 브랜치 선택 및 새 브랜치 생성이 가능하며, 자동 생성된 커밋 메시지는 입력창에 표시되고 언어 선택 버튼도 입력 중 사라지지 않고 고정됩니다.

  • 파일 변경 목록 우측 버튼들의 겹침과 여백 문제를 해결했습니다. 되돌리기 및 스테이징 버튼을 우측 끝에 배치하여 평소에는 변경 수치가 끝까지 늘어나고, 마우스를 올리면 수치가 먼저 물러난 뒤 버튼이 나타나 반투명하게 겹치는 현상을 방지했습니다.

  • 사용자 말풍선에 Markdown 렌더링을 적용하고 사이드 채팅의 내부 첨부 표기를 숨겼습니다. 대화창의 Markdown이 정상적으로 표시됩니다. 사이드 채팅에서도 모델 전달용 첨부 헤더(### Attached file: ...)가 말풍선이나 편집창에 노출되지 않도록 표시 텍스트를 분리했습니다.

  • Windows 상단 바와 캡션 버튼 높이를 표준 규격으로 복원했습니다. Windows/Linux 전용 헤더 높이(32px)를 분리하여 macOS용 44px로 인해 버튼이 커지던 문제를 고치고, 패널 및 세션 창 상단에도 일관된 배경색을 적용했습니다.

  • 진행 스피너가 항상 마지막 사용자 말풍선 아래에 자연스럽게 위치합니다. 멈춤 현상을 유발하던 「이전 응답 완료 대기」 문구를 제거하고, 큐에 대기 중일 때도 로딩 링이 최신 메시지 아래에 정확히 표시됩니다.

  • Git 변경 목록의 트리/플랫 보기 설정이 유지됩니다. 트리 뷰 선택 시 상태가 저장되어 패널을 닫거나 브랜치를 전환하고 앱을 다시 열어도 설정이 그대로 유지됩니다.

  • 설정 화면에서 긴 API 키가 눈 모양 토글 버튼을 가리지 않습니다. flex 배치를 적용하여 입력 글자가 버튼 왼쪽에 안전하게 멈추도록 개선했습니다.

Français

Corrections

  • La boîte de commit et push devient une boîte de dialogue centrale avec gestion complète des branches. L'interface de validation quitte le popover étroit qui chevauchait la liste des fichiers pour une boîte modale centrée adoptant les mêmes arrondis et marges que le champ principal. La ligne de branche permet de basculer vers une autre branche locale ou d'en créer une nouvelle à la validation ; le message généré s'inscrit dans le champ et le sélecteur de langue reste toujours visible pendant la saisie.

  • Les boutons d'action sur les lignes de fichiers modifiés ne se superposent plus. Les boutons d'annulation et d'indexation sont positionnés à l'extrémité droite avec une transition soignée : au survol, les compteurs s'effacent avant l'apparition des boutons, évitant tout effet de chevauchement translucide.

  • Les bulles utilisateur prennent en charge le Markdown et le chat latéral masque les balises techniques. Les messages affichent désormais correctement les blocs Markdown. Le chat latéral sépare le texte affiché des données brutes transmises aux modèles, évitant l'affichage des en-têtes de pièces jointes dans les bulles ou dans la zone d'édition.

  • Hauteur de barre de titre et des boutons système ajustée sous Windows. La barre d'en-tête sous Windows/Linux adopte une hauteur standard de 32 px au lieu des 44 px hérités de macOS, redonnant aux boutons de contrôle leur taille normale. L'arrière-plan de la barre est également appliqué aux fenêtres de panneaux et de sessions.

  • L'indicateur d'activité reste accroché à la dernière bulle envoyée. Suppression de la mention fragile « En attente de la réponse précédente » : l'anneau de chargement s'aligne toujours sous le message le plus récent, y compris en cas de messages consécutifs.

  • La vue des modifications Git conserve la préférence d'arborescence. Le choix entre l'affichage en arborescence ou à plat reste mémorisé après la fermeture du panneau, le changement de branche ou le redémarrage.

  • Les clés secrètes longues dans les paramètres ne masquent plus l'icône de visibilité. Une disposition flex garantit que le texte s'arrête avant le bouton œil, permettant de masquer ou afficher la clé sans gêne.

Русский

Исправления

  • Диалог фиксации и отправки стал центральным окном с полным управлением ветками. Интерфейс коммита перенесён из тесного всплывающего окна, перекрывавшего список файлов, в центрированное модальное окно с такими же скруглениями и отступами, как у основного поля ввода. В строке ветки теперь можно выбрать локальную ветку или создать новую; сгенерированное сообщение выводится в поле ввода, а кнопка выбора языка не исчезает при начале набора.

  • Кнопки действий в строках изменений больше не перекрывают имя файла и счётчики. Кнопки отката и индексации выровнены по правому краю: при наведении счётчики изменений скрываются до появления кнопок, что исключает полупрозрачное наложение элементов.

  • В сообщениях пользователя поддержан Markdown, а технические метки вложений скрыты в боковом чате. Текст в пузырях форматируется по правилам Markdown. В боковом чате отделён текст для показа от данных модели, поэтому служебные заголовки вложений (### Attached file: ...) больше не отображаются в переписке и не попадают в поле редактирования.

  • Корректные пропорции заголовка окна и кнопок управления в Windows. Высота заголовка для Windows/Linux уменьшена до стандартных 32 px вместо 44 px (использовавшихся для кнопок macOS), что вернуло кнопкам стандартный размер. Панели и окна разговоров получили фон заголовка, исключающий наплыв содержимого.

  • Индикатор обработки теперь прикреплён к последнему сообщению пользователя. Удалена строка «Ожидание предыдущего ответа», приводившая к зависаниям: спиннер теперь ...

Read more

v0.9.17

Choose a tag to compare

@github-actions github-actions released this 19 Sep 18:23

Fixes

  • Panels moved themselves into windows of their own whenever the window got narrow — and never came back. 0.9.16 introduced this deliberately, to stop text being squeezed: anything that no longer fitted opened separately. The threshold turned out to be an everyday one. A conversation plus one panel needs 720 px of dock; a new window is 980 px wide and the sidebar takes 272 of that, leaving 708. So the default window size was already past the line, and dragging a window narrower — or putting a second conversation on the screen — handed your terminal or your browser to a window of its own. Widening it again did nothing; each one had to be fetched back by hand, and a cold start threw them out again. Splitting the screen was worse: one resize could open a window for every panel on that screen plus one for the conversation, all stacked on the same spot. That route is gone. A dock too small for its panels now draws them squeezed, which is something you can see and undo by widening the window.

  • The side chat opened as an empty conversation in its own window, and would not send. Everything it does — showing the transcript, sending what you type — reads the conversation it is attached to, and nothing in that window ever attached it. So the panel showed nothing, and the composer took your text and did nothing with it. The history was never lost; no one had asked for it.

  • A detached terminal started a new shell instead of reconnecting to yours. The panel window mounts the terminal in its first frame, before the project directory has resolved, so it looked for a terminal in an empty directory, found none, and opened one. The server you had running was still there, and unreachable from that window. It now goes back to the shell it left, with its output.

  • The Git panel stopped refreshing once it was in a window of its own. It worked out whether it was on screen by looking for itself in a dock that kind of window does not have, so the answer was always no — the first fetch and the five-minute poll never ran at all.

  • Clicking a file in a detached file tree did nothing. The click now goes to the main window, which is where the file opens, and brings that window to the front.

Changed

  • The browser no longer offers "Open in a new window." A live page cannot be moved between windows: the new one loads it again from its address, which loses the scroll position, anything typed into a form, and whatever the page itself was holding. Offering the button and then throwing that away is worse than not offering it. Panels now declare whether they survive the move, and only the browser says no.
中文(简体)

修复

  • 窗口一窄,面板就自己跑出去变成独立窗口,而且再也回不来。 这是 0.9.16 特意加的,为的是别让文字被挤扁:放不下的就另开一个窗口。但那条线比想象中低得多——一个会话加一个面板要 720 px,而新窗口宽 980 px、侧边栏占掉 272,只剩 708。也就是说默认尺寸就已经过线了:把窗口拖窄一点,或者把第二个会话放上屏,终端或者浏览器就被送进了自己的窗口。再拖大也不会回来,得一个个去点「收回」,而下次开应用它们又会飞出去。分屏时更彻底:一次缩窗可能给那一屏的每个面板各开一个窗口,再加上会话本身一个,还全叠在同一个位置。这条路整个去掉了。dock 装不下面板时就画得挤一点——那是你看得见、拉宽窗口就能解决的事。

  • 侧边聊天弹成独立窗口之后是空的,打了字也发不出去。 它做的每件事——显示对话、把你打的字发出去——都要先知道自己接在哪个会话上,而那个窗口里从来没有人帮它接。于是面板空着,输入框收下文字然后什么也不做。记录一直都在,只是没人去取。

  • 终端弹出去之后是一个新开的空 shell,不是你原来那个。 面板窗口在第一帧就把终端挂上,那时项目目录还没解析出来,于是它在一个空目录里找终端,找不到,就新开了一个。你正跑着的服务还在,只是那个窗口里够不到。现在它会接回原来那个,连之前的输出一起。

  • Git 面板弹成独立窗口后就不再刷新了。 它判断「我在不在屏幕上」的办法是去 dock 里找自己,而那种窗口根本没有 dock,所以答案永远是否——首次拉取和五分钟一次的轮询一次都没跑过。

  • 在弹出去的文件树里点文件,什么也不会发生。 现在这一下会转给主窗口,文件在那里打开,主窗口也会被带到前面。

变更

  • 浏览器不再提供「在新窗口打开」。 一个正开着的页面没法在窗口之间搬:新窗口只能按地址重新加载一遍,滚动位置、填了一半的表单、页面自己攥着的状态全都没了。给了按钮再把这些丢掉,比不给更糟。现在每个面板都要说明自己搬不搬得动,说不的只有浏览器。
中文(繁體)

修復

  • 視窗一窄,面板就自己跑出去變成獨立視窗,而且再也回不來。 這是 0.9.16 特意加的,為的是別讓文字被擠扁:放不下的就另開一個視窗。但那條線比想像中低得多——一個對話加一個面板要 720 px,而新視窗寬 980 px、側邊欄佔掉 272,只剩 708。也就是說預設尺寸就已經過線了:把視窗拖窄一點,或者把第二個對話放上螢幕,終端機或瀏覽器就被送進了自己的視窗。再拖大也不會回來,得一個個去點「收回」,而下次開應用它們又會飛出去。分割畫面時更徹底:一次縮小可能給那一畫面的每個面板各開一個視窗,再加上對話本身一個,還全疊在同一個位置。這條路整個拿掉了。dock 裝不下面板時就畫得擠一點——那是你看得見、拉寬視窗就能解決的事。

  • 側邊聊天彈成獨立視窗之後是空的,打了字也送不出去。 它做的每件事——顯示對話、把你打的字送出去——都要先知道自己接在哪個對話上,而那個視窗裡從來沒有人幫它接。於是面板空著,輸入框收下文字然後什麼也不做。紀錄一直都在,只是沒人去取。

  • 終端機彈出去之後是一個新開的空 shell,不是你原來那個。 面板視窗在第一個影格就把終端機掛上,那時專案目錄還沒解析出來,於是它在一個空目錄裡找終端機,找不到,就新開了一個。你正跑著的服務還在,只是那個視窗裡搆不到。現在它會接回原來那個,連之前的輸出一起。

  • Git 面板彈成獨立視窗後就不再重新整理了。 它判斷「我在不在畫面上」的辦法是去 dock 裡找自己,而那種視窗根本沒有 dock,所以答案永遠是否——首次抓取和五分鐘一次的輪詢一次都沒跑過。

  • 在彈出去的檔案樹裡點檔案,什麼也不會發生。 現在這一下會轉給主視窗,檔案在那裡開啟,主視窗也會被帶到前面。

變更

  • 瀏覽器不再提供「在新視窗開啟」。 一個正開著的頁面沒辦法在視窗之間搬:新視窗只能按網址重新載入一遍,捲動位置、填了一半的表單、頁面自己攥著的狀態全都沒了。給了按鈕再把這些丟掉,比不給更糟。現在每個面板都要說明自己搬不搬得動,說不的只有瀏覽器。
日本語

修正

  • ウィンドウを狭めると、パネルが勝手に別ウィンドウへ移り、戻ってきませんでした。 0.9.16 で意図的に入れた動きです。文字が潰れないよう、収まらないものを別ウィンドウで開く——ただ、その境目が日常的すぎました。会話ひとつとパネルひとつで dock に 720 px 必要ですが、新しいウィンドウは幅 980 px、サイドバーが 272 px を取るので残りは 708 px。つまり既定のサイズで既に越えていたのです。少し狭めるか、二つ目の会話を画面に出すだけで、ターミナルやブラウザーが自分のウィンドウへ送られました。広げ直しても戻らず、ひとつずつ「元に戻す」を押す必要があり、次の起動でまた出ていきました。画面分割時はさらに徹底していて、一度のサイズ変更でその画面のパネルの数だけウィンドウが開き、会話の分も加わって、すべて同じ位置に重なりました。この経路をまるごと廃止しました。パネルが収まらない dock は、詰めて描きます——目に見えますし、広げれば直ります。

  • サイドチャットを別ウィンドウで開くと空で、入力しても送信できませんでした。 会話の表示も送信も、どの会話に紐づいているかを先に知る必要がありますが、あのウィンドウでは誰もそれを結び付けていませんでした。パネルは空のまま、入力欄は文字を受け取って何もしません。履歴が消えていたわけではなく、誰も取りに行っていなかっただけです。

  • 切り離したターミナルが、元のシェルではなく新しいシェルを開いていました。 パネルウィンドウは最初のフレームでターミナルを配置しますが、その時点ではプロジェクトのディレクトリがまだ解決されていません。空のディレクトリでターミナルを探し、見つからず、新しく開いていたのです。動かしていたサーバーはそのまま残り、そのウィンドウからは届きませんでした。今は離れたときのシェルに、出力ごと戻ります。

  • Git パネルは別ウィンドウに移ると更新を止めていました。 「自分は画面に出ているか」を dock の中から自分を探して判断していましたが、その種類のウィンドウに dock はありません。答えは常に「いいえ」で、最初の取得も五分ごとの巡回も一度も走りませんでした。

  • 切り離したファイルツリーでファイルを押しても何も起きませんでした。 その操作はメインウィンドウへ渡るようになり、ファイルはそちらで開き、ウィンドウも前面に出ます。

変更

  • ブラウザーの「新しいウィンドウで開く」をなくしました。 開いているページはウィンドウ間を移動できません。新しい側はアドレスから読み込み直すだけで、スクロール位置も、途中まで入力したフォームも、ページ自身が抱えていた状態も失われます。ボタンを出しておいてそれらを捨てるのは、出さないより悪い判断です。各パネルは移動に耐えられるかを自分で宣言するようになり、いいえと答えるのはブラウザーだけです。
한국어

고친 것

  • 창을 좁히면 패널이 스스로 별도 창으로 나가고, 다시 돌아오지 않았습니다. 0.9.16에서 일부러 넣은 동작입니다. 글자가 눌리지 않도록, 들어가지 않는 것은 따로 열었습니다. 그런데 그 경계가 너무 일상적이었습니다. 대화 하나와 패널 하나면 dock에 720 px이 필요한데, 새 창은 너비 980 px이고 사이드바가 272 px을 가져가 708 px만 남습니다. 기본 크기에서 이미 선을 넘어 있었던 셈입니다. 창을 조금 좁히거나 두 번째 대화를 화면에 올리기만 해도 터미널이나 브라우저가 자기 창으로 보내졌습니다. 다시 넓혀도 돌아오지 않아 하나씩 「되돌리기」를 눌러야 했고, 다음 실행 때 또 나갔습니다. 화면 분할에서는 더 심해서, 한 번 크기를 바꾸면 그 화면의 패널 수만큼 창이 열리고 대화 몫까지 더해져 모두 같은 자리에 겹쳤습니다. 이 경로를 통째로 없앴습니다. 패널이 들어가지 않는 dock은 이제 좁게 그립니다 — 눈에 보이고, 창을 넓히면 풀립니다.

  • 사이드 채팅을 별도 창으로 열면 비어 있었고, 입력해도 보내지지 않았습니다. 대화를 보여 주는 일도 입력을 보내는 일도, 어느 대화에 붙어 있는지 먼저 알아야 합니다. 그런데 그 창에서는 아무도 그것을 붙여 주지 않았습니다. 패널은 비어 있었고 입력창은 글자를 받고도 아무 일도 하지 않았습니다. 기록이 사라진 게 아니라, 아무도 가지러 가지 않았을 뿐입니다.

  • 떼어 낸 터미널이 원래 셸 대신 새 셸을 열었습니다. 패널 창은 첫 프레임에서 터미널을 붙이는데, 그때는 프로젝트 디렉터리가 아직 정해지지 않았습니다. 빈 디렉터리에서 터미널을 찾다가 못 찾고 새로 연 것입니다. 돌리고 있던 서버는 그대로 남았지만 그 창에서는 닿을 수 없었습니다. 이제는 떠날 때의 셸로, 그동안의 출력과 함께 돌아갑니다.

  • Git 패널은 자기 창으로 옮겨지면 새로 고침을 멈췄습니다. 「내가 화면에 있나」를 dock 안에서 자신을 찾아 판단했는데, 그런 창에는 dock이 없습니다. 답은 늘 아니오였고, 첫 가져오기도 5분마다의 확인도 한 번도 돌지 않았습니다.

  • 떼어 낸 파일 트리에서 파일을 눌러도 아무 일이 없었습니다. 이제 그 동작은 메인 창으로 전달되어 거기서 파일이 열리고, 그 창이 앞으로 나옵니다.

바뀐 것

  • 브라우저에는 「새 창에서 열기」가 더 이상 없습니다. 열려 있는 페이지는 창 사이를 옮길 수 없습니다. 새 창은 주소로 다시 불러올 뿐이어서 스크롤 위치도, 쓰다 만 양식도, 페이지가 들고 있던 것도 모두 사라집니다. 버튼을 주고 그것들을 버리는 쪽이 안 주는 쪽보다 나쁩니다. 이제 각 패널이 옮겨 가도 되는지를 스스로 밝히고, 아니라고 답하는 것은 브라우저뿐입니다.
Français

Corrections

  • Dès que la fenêtre devenait étroite, les panneaux partaient d'eux-mêmes dans une fenêtre séparée — et ne revenaient jamais. La 0.9.16 l'avait introduit exprès, pour que le texte ne soit pas écrasé : ce qui ne tenait plus s'ouvrait à part. Le seuil s'est avéré tout à fait ordinaire. Une conversation plus un panneau demandent 720 px de dock ; une nouvelle fenêtre fait 980 px de large et la barre latérale en prend 272, il en reste 708. La taille par défaut était donc déjà au-delà. Rétrécir un peu la fenêtre — ou mettre une deuxième conversation à l'écran — envoyait votre terminal ou votre navigateur dans une fenêtre à lui. L'élargir de nouveau ne changeait rien : il fallait aller les rechercher un par un, et au démarrage suivant ils repartaient. En écran partagé c'était pire : un seul redimensionnement pouvait ouvrir une fenêtre par panneau de cet écran, plus une pour la conversation, toutes empilées au même endroit. Ce chemin a été supprimé. Un dock trop petit pour ses panneaux les dessine désormais serrés — c'est visible, et élargir la fenêtre suffit.

  • Le chat latéral s'ouvrait vide dans sa propre fenêtre et n'envoyait rien. Afficher la conversation comme envoyer ce que vous tapez suppose de savoir à quelle conversation il est rattaché, et personne ne l'y rattachait dans cette fenêtre. Le panneau restait vide et le champ acceptait le texte sans rien en faire. L'historique n'avait pas disparu : personne n'était allé le chercher.

  • Un terminal détaché ouvrait un nouveau shell au lieu de retrouver le vôtre. La fenêtre de panneau monte le terminal dès sa première image, avant que le dossier du projet ne soit résolu : elle cherchait un terminal dans un dossier vide, n'en trouvait pas, et en ouvrait un. Le serveur que vous aviez lancé était toujours là, hors d'atteinte depuis cette fenêtre. Il retrouve maintenant le shell qu'il avait quitté, avec sa sortie.

  • Le panneau Git cessait de se rafraîchir une fois dans sa propre fenêtre. Pour savoir s'il était à l'écran, il se cherchait dans un dock que ce type de fenêtre n'a pas : la réponse était toujours non, et ni la première récupération ni le relevé toutes les cinq minutes n'ont jamais eu lieu.

  • Cliquer un fichier dans une arborescence détachée ne faisait rien. Le clic passe maintenant à la fenêtre principale, où le fichier s'ouvre, et cette fenêtre revient au premier plan.

Changements

  • Le navigateur ne propose plus « Ouvrir dans une nouvelle fenêtre ». Une page ouverte ne se déplace pas d'une fenêtre à l'autre...
Read more

v0.9.16

Choose a tag to compare

@github-actions github-actions released this 19 Sep 10:03

New

  • Keep up to four conversations in one window. Each chat owns its tools; chats stay at least 420 px wide, tools at least 300 px, and anything that no longer fits opens in a separate window.

  • Drag browsers and terminals with their contents visible. Rearrange them with the pointer or arrow keys, expand a panel within its chat, or open a separate window with pin and return controls. File windows keep open tabs and unsaved edits.

  • Number fields in Settings keep a draft while you type. You can finish entering “16” before the value is checked against its limits.

Fixes

  • Screenshot downloads still save when the clipboard is busy. The confirmation shows the file path; a failed save keeps the selection for retry, using the current download directory.

  • Chats with large images open sooner, and expanding a section keeps your place. Thumbnails are reused, and opening a section no longer jumps to the end of the conversation.

  • Switching conversations keeps the sidebar highlight on the selected chat. Refreshing also restores its split layout and tools.

  • Windows previews keep their ports when connection probing fails. The reasoning effort menu also responds after saving an agent.

  • Long branch names leave room for their action buttons. Workspace and Local rows align their icons with the conversation list.

中文(简体)

新功能

  • 一个窗口最多同时查看四个会话。 每个会话有自己的工具;对话至少保留 420 px 宽,工具至少 300 px,缩小窗口后放不下的内容会转到独立窗口。

  • 拖动浏览器和终端时,内容跟着容器一起移动。 可以用鼠标或方向键调整位置,在当前会话内展开面板,也可以单独开窗、置顶、收回。文件面板切换窗口时保留标签和未保存修改。

  • 设置里的数字可以输完再检查。 输入「16」时,不会刚打出「1」就被改掉。

修复

  • 剪贴板被占用时,下载截图仍会保存文件。 成功后显示完整路径,失败时保留选区供重试,下载位置按当前设置生效。

  • 带大图的会话打开更快,展开内容也不会跳到对话末尾。 缩略图会复用,展开折叠区时保留阅读位置。

  • 切换会话时,侧栏高亮停在选中的那一行。 刷新后也会恢复分屏和各会话里的工具。

  • Windows 上探测连接表失败时,预览仍会显示端口。 保存智能体后,推理强度菜单也能继续切换。

  • 长分支名会给操作按钮留位置。 工作区和本地分支的图标与会话列表对齐。

中文(繁體)

新功能

  • 同一視窗最多查看四個對話。 每個對話保有自己的工具;對話至少保留 420 px 寬,工具至少 300 px,縮小視窗後放不下的內容會另開視窗。

  • 拖曳瀏覽器與終端機時,可以一直看見內容。 支援滑鼠和方向鍵調整位置、在對話內展開面板,以及獨立視窗的置頂與收回。檔案面板移到其他視窗時,分頁和未儲存的修改都會保留。

  • 設定裡的數字可以輸入完再檢查。 輸入「16」時,不會才打出「1」就被改掉。

修復

  • 剪貼簿被占用時,下載截圖仍會存成檔案。 成功後顯示完整路徑,失敗時保留選取範圍供重試,下載位置依目前設定生效。

  • 包含大圖的對話開啟更快,展開內容不再跳到末尾。 縮圖會重複使用,展開摺疊區時保留閱讀位置。

  • 切換對話時,側欄反白停在選取的那一列。 重新整理後也會還原分割配置和各對話的工具。

  • Windows 無法取得連線清單時,預覽仍會顯示連接埠。 儲存智能體後,推理強度選單也能繼續切換。

  • 長分支名稱會為操作按鈕留出空間。 工作區和本機分支的圖示與對話清單對齊。

日本語

新機能

  • 1つのウィンドウで最大4つの会話を表示できます。 ツールは会話ごとに配置され、会話は幅420 px、ツールは300 pxを下回らず、収まらなくなると別ウィンドウに移ります。

  • ブラウザやターミナルの内容を見ながらドラッグできます。 矢印キーでの配置変更、会話内での拡大、別ウィンドウへの切り離し、最前面表示、元の場所への復帰に対応しました。ファイルのタブと未保存の編集内容も、ウィンドウを移る際に引き継ぎます。

  • 設定の数値は入力し終えてから検証されます。 「16」と入力する途中の「1」が勝手に変わることはありません。

修正

  • クリップボードが使用中でもスクリーンショットを保存できます。 保存先を表示し、失敗した場合は選択範囲を残して再試行でき、変更後の保存先もすぐに反映されます。

  • 大きな画像を含む会話が早く開きます。 サムネイルを再利用し、折りたたまれた内容を開いても会話の末尾へ飛ばなくなりました。

  • 会話を切り替えたとき、サイドバーの選択表示が戻らなくなりました。 再読み込み後も分割配置と各会話のツールを復元します。

  • Windowsで接続一覧を取得できなくても、プレビューのポートを表示します。 エージェントを保存した後も推論レベルを変更できます。

  • 長いブランチ名が操作ボタンに重ならなくなりました。 ワークスペースとローカルのアイコン位置も会話一覧に合わせました。

한국어

새로운 기능

  • 한 창에서 대화를 최대 4개까지 볼 수 있습니다. 도구는 각 대화에 속하며, 대화 너비는 420 px, 도구는 300 px 이상을 유지하고 공간이 부족하면 별도 창으로 옮깁니다.

  • 브라우저와 터미널의 내용을 보면서 끌어 옮길 수 있습니다. 방향키로 배치를 바꾸거나 대화 안에서 패널을 펼칠 수 있고, 별도 창에서 항상 위에 표시하거나 원래 위치로 돌려놓을 수도 있습니다. 파일 패널을 다른 창으로 옮겨도 열린 탭과 저장하지 않은 수정 사항은 유지됩니다.

  • 설정의 숫자는 입력을 마친 뒤에 검사합니다. “16”을 입력하는 중간에 “1”이 다른 값으로 바뀌지 않습니다.

수정

  • 클립보드가 사용 중이어도 스크린샷 파일은 저장됩니다. 저장 경로를 표시하고 실패하면 선택 영역을 유지해 다시 시도할 수 있으며, 변경한 다운로드 폴더도 바로 적용됩니다.

  • 큰 이미지가 있는 대화가 더 빨리 열립니다. 썸네일을 재사용하고, 접힌 내용을 펼쳐도 대화 끝으로 이동하지 않습니다.

  • 대화를 전환할 때 사이드바 선택 표시가 이전 항목으로 돌아가지 않습니다. 새로고침 후에도 분할 배치와 각 대화의 도구를 복원합니다.

  • Windows에서 연결 목록을 읽지 못해도 미리보기 포트는 표시됩니다. 에이전트를 저장한 뒤에도 추론 강도를 바꿀 수 있습니다.

  • 긴 브랜치 이름이 작업 버튼을 가리지 않습니다. 작업 공간과 로컬 브랜치의 아이콘도 대화 목록에 맞춰 정렬했습니다.

Français

Nouveautés

  • Affichez jusqu’à quatre conversations dans une fenêtre. Chaque conversation garde ses outils, avec une largeur minimale de 420 px pour le dialogue et de 300 px pour les outils ; ce qui ne tient plus s’ouvre dans une fenêtre séparée.

  • Déplacez le navigateur et le terminal sans perdre leur contenu de vue. Utilisez la souris ou les flèches, agrandissez un panneau dans sa conversation ou détachez-le avec des commandes pour le garder au premier plan et le ramener. Les onglets et les modifications non enregistrées suivent les fichiers d’une fenêtre à l’autre.

  • Les champs numériques attendent la fin de la saisie. Le « 1 » de « 16 » n’est plus corrigé avant que vous ayez terminé.

Corrections

  • Le téléchargement d’une capture fonctionne même si le presse-papiers est occupé. Le chemin du fichier s’affiche ; en cas d’échec, la sélection reste disponible pour réessayer avec le dossier actuellement configuré.

  • Les conversations contenant de grandes images s’ouvrent plus vite. Les miniatures sont réutilisées et déplier une section ne vous envoie plus à la fin du dialogue.

  • La sélection de la barre latérale reste sur la conversation choisie. Le rechargement restaure aussi la disposition et les outils de chaque conversation.

  • Sous Windows, l’aperçu affiche son port même si la lecture des connexions échoue. Le niveau de raisonnement reste modifiable après l’enregistrement d’un agent.

  • Les noms de branche longs laissent de la place aux boutons. Les icônes des branches locales et de l’espace de travail sont alignées avec celles des conversations.

Русский

Новое

  • В одном окне можно открыть до четырёх разговоров. У каждого свои инструменты: ширина разговора не опускается ниже 420 px, инструмента ниже 300 px, а при нехватке места содержимое переносится в отдельное окно.

  • При перетаскивании браузера и терминала их содержимое остаётся видимым. Положение можно менять мышью или стрелками, панель можно развернуть внутри разговора, вынести в окно, закрепить поверх других окон и вернуть обратно. Открытые вкладки файлов и несохранённые правки сохраняются при переносе между окнами.

  • Числовые поля проверяют значение после окончания ввода. Первая цифра в «16» больше не заменяется до ввода второй.

Исправления

  • Снимок экрана сохраняется, даже если буфер обмена занят. После сохранения виден путь к файлу, а при ошибке выделение остаётся для повторной попытки с текущей папкой загрузок.

  • Разговоры с большими изображениями открываются быстрее. Миниатюры используются повторно, а раскрытие свёрнутого блока больше не переносит к концу разговора.

  • Выделение в боковой панели остаётся на выбранном разговоре. После перезагрузки восстанавливаются также расположение панелей и инструменты каждого разговора.

  • В Windows предпросмотр показывает порт, даже если не удалось прочитать список соединений. После сохранения агента можно по-прежнему менять уровень рассуждения.

  • Длинные имена веток не перекрывают кнопки действий. Значки локальных веток и рабочего пространства выровнены со списком разговоров.

v0.9.15

Choose a tag to compare

@github-actions github-actions released this 17 Sep 03:39

Windows 若提示有病毒或更新失败:到「病毒和威胁防护 → 保护历史记录」允许 Lyra,排除项里加上 %APPDATA%@lyra\desktop\updates,再重试。这是未签名安装包被误报,不是包有问题。

New

  • Mermaid diagrams render in the conversation. A mermaid fence draws as a diagram instead of a wall of source.

  • Built-in formatters for more languages. Format on save can run Prettier or the language's own formatter shipped in the app (Go, Ruff, C/C++, Dart, Swift, PHP), without installing those toolchains first.

Fixes

  • Opening a chat no longer freezes or blanks the window. A twelve-megabyte message paints in one frame. A damaged transcript no longer takes the page down, and the run indicator does not stay stuck after the turn has finished.

  • Pull request icons no longer sit on top of each other.

  • The Terminal still opens when Xcode's license is unsigned. Compiling the terminal addon used to fail there; the app falls back to the command-line tools instead of a dead panel.

  • File links stay on one line. You see the file name, with the full path on hover. Long paths used to wrap through the chip.

  • What's new in this version follows the interface language. English shows English, Chinese shows Chinese, anything unlisted falls back to English.

中文(简体)

新功能

  • 对话里的 mermaid 围栏会画成图。 不再是一整墙源码。

  • 更多语言能直接「保存时格式化」。 可以走 Prettier,或应用里自带的那门语言的格式化器(Go、Ruff、C/C++、Dart、Swift、PHP),不用先装那些工具链。

修复

  • 打开会话不再把窗口卡死或整页刷白。 一条十二兆的消息也能在一帧里画完。坏掉的转录不再拖垮页面,一轮已经结束时也不会一直挂着「还在跑」。

  • 拉取请求页的图标不再叠在一起。

  • Xcode 许可没同意时,终端仍然打得开。 以前编终端组件会失败;现在改走命令行工具,而不是留下一个死面板。

  • 指向本地文件的链接收成单行。 只显示文件名,完整路径在悬停提示里。长路径不再把胶囊折成两行。

  • 「当前版本更新内容」跟界面语言走。 英文出英文,中文出中文,没有写过的语言退回英文。

中文(繁體)

新功能

  • 對話裡的 mermaid 圍欄會畫成圖。 不再是一整牆原始碼。

  • 更多語言能直接「儲存時格式化」。 可以走 Prettier,或應用程式內建的該語言格式化器(Go、Ruff、C/C++、Dart、Swift、PHP),不用先裝那些工具鏈。

修復

  • 打開對話不再把視窗卡死或整頁刷白。 一條十二 MB 的訊息也能在一幀裡畫完。壞掉的轉錄不再拖垮頁面,一輪已經結束時也不會一直掛著「還在跑」。

  • 拉取請求頁的圖示不再疊在一起。

  • Xcode 授權沒同意時,終端機仍然打得開。 以前編終端機元件會失敗;現在改走命令列工具,而不是留下一個死面板。

  • 指向本機檔案的連結收成單行。 只顯示檔名,完整路徑在懸停提示裡。長路徑不再把膠囊折成兩行。

  • 「目前版本更新內容」跟介面語言走。 英文出英文,中文出中文,沒有寫過的語言退回英文。

日本語

新機能

  • 会話内のmermaidフェンスが図として描画されます。 ソースの壁ではなく、図が出ます。

  • より多くの言語で「保存時に整形」できます。 Prettierか、アプリに同梱した各言語のフォーマッタ(Go、Ruff、C/C++、Dart、Swift、PHP)を使います。先にツールチェーンを入れる必要はありません。

修正

  • 会話を開いてもウィンドウが固まったり真っ白になったりしません。 12MBのメッセージも1フレームで描画します。壊れた転写でページが落ちず、ターンが終わったあとも実行中表示が残りません。

  • プルリクエストのアイコンが重ならなくなりました。

  • Xcodeのライセンスに未同意でもターミナルが開きます。 以前はアドオンのビルドに失敗していました。コマンドラインツールに切り替えて、死んだパネルのままにはしません。

  • ローカルファイルへのリンクは1行のままです。 ファイル名を表示し、フルパスはホバーに出ます。長いパスでチップが折り返さなくなりました。

  • 「このバージョンの更新内容」は表示言語に従います。 英語なら英語、中国語なら中国語。未収録の言語は英語に戻します。

한국어

새로운 기능

  • 대화의 mermaid 펜스가 그림으로 렌더링됩니다. 소스 벽 대신 다이어그램이 나옵니다.

  • 더 많은 언어에서 '저장할 때 서식'을 쓸 수 있습니다. Prettier나 앱에 들어 있는 해당 언어 포맷터(Go, Ruff, C/C++, Dart, Swift, PHP)를 쓰며, 그 툴체인을 먼저 설치할 필요는 없습니다.

수정

  • 대화를 열어도 창이 멈추거나 하얗게 죽지 않습니다. 12 MB 메시지도 한 프레임에 그려집니다. 손상된 기록이 페이지를 무너뜨리지 않고, 턴이 끝났는데도 실행 중으로 남지 않습니다.

  • Pull Request 아이콘이 서로 겹치지 않습니다.

  • Xcode 라이선스에 동의하지 않아도 터미널이 열립니다. 예전에는 터미널 애드온 빌드가 실패했습니다. 이제 명령줄 도구로 넘어가며, 죽은 패널로 남지 않습니다.

  • 로컬 파일 링크는 한 줄로 유지됩니다. 파일 이름만 보이고, 전체 경로는 마우스 오버에 있습니다. 긴 경로가 칩을 두 줄로 접지 않습니다.

  • '이번 버전의 새로운 점'은 인터페이스 언어를 따릅니다. 영어면 영어, 중국어면 중국어. 없는 언어는 영어로 돌아갑니다.

Français

Nouveautés

  • Les blocs mermaid s'affichent en diagramme dans la conversation. Plus un mur de source.

  • Plus de langues peuvent utiliser « Formater à l'enregistrement ». Prettier, ou le formateur de la langue livré dans l'application (Go, Ruff, C/C++, Dart, Swift, PHP), sans installer ces toolchains d'abord.

Corrections

  • Ouvrir une discussion ne fige plus ni ne blanchit plus la fenêtre. Un message de douze mégaoctets se dessine en une image. Une transcription abîmée ne fait plus tomber la page, et l'indicateur d'exécution ne reste plus coincé une fois le tour terminé.

  • Les icônes des demandes de fusion ne se superposent plus.

  • Le Terminal s'ouvre encore si la licence Xcode n'est pas acceptée. Compiler l'extension du terminal échouait. L'application bascule vers les outils en ligne de commande au lieu d'un panneau mort.

  • Les liens vers un fichier local restent sur une ligne. Le nom du fichier s'affiche, le chemin complet est dans l'infobulle. Un long chemin ne plie plus la pastille.

  • « Nouveautés de cette version » suit la langue de l'interface. L'anglais affiche l'anglais, le chinois le chinois, une langue absente revient à l'anglais.

Русский

Новое

  • Блоки mermaid в беседе рисуются как схемы. Не стена исходника.

  • Больше языков можно «Форматировать при сохранении». Prettier или встроенный форматтер языка (Go, Ruff, C/C++, Dart, Swift, PHP), без предварительной установки этих цепочек инструментов.

Исправления

  • Открытие беседы больше не зависает и не обеляет окно. Сообщение на двенадцать мегабайт рисуется за один кадр. Повреждённая расшифровка больше не роняет страницу, а индикатор выполнения не зависает после окончания хода.

  • Значки на странице запросов на слияние больше не накладываются друг на друга.

  • «Терминал» открывается, даже если лицензия Xcode не принята. Сборка дополнения терминала падала; приложение переключается на инструменты командной строки, а не оставляет мёртвую панель.

  • Ссылки на локальные файлы остаются в одну строку. Видно имя файла, полный путь во всплывающей подсказке. Длинный путь больше не переносит капсулу.

  • «Что нового в этой версии» следует языку интерфейса. Английский показывает английский, китайский китайский, не записанный язык возвращается к английскому.

v0.9.14

Choose a tag to compare

@github-actions github-actions released this 14 Sep 11:30

New

  • A new "Keep computer awake while running" switch in General settings. When enabled, Lyra prevents your display and system from sleeping due to idle timeout during long-running tasks. Closing the laptop lid still sleeps normally according to system power policies.

Fixes

  • Standardised button styles across settings and toolbars. Buttons for primary creation actions like "Add provider" and "Add model" clearly pair icons with text labels and visible borders. Toolbars, table row toggles, and icon-only actions are clean and borderless.

  • In pull request details, the redundant chat button is removed and agent review pre-populates your draft. Clicking "Ask Agent to review" directly prepares the PR review prompt in the composer, focused and ready to send, without getting lost to workspace resets.

  • The Guide button at the bottom of settings shows its text label again. The rocket icon now sits beside "Guide" rather than standing alone as an unlabelled icon.

  • Unified loading indicators into distinct shapes. Running items in lists, task steps, and pipelines display a smooth dashed ring (StatusSpinner); clicked buttons and action spots show a clear arc on a faint track (ActionSpinner).

新功能

  • 通用设置新增「运行期间不让电脑休眠」开关。 开启后 Lyra 运行期间不息屏、不因闲置而进入睡眠,长任务跑一夜也不会中断。合盖操作仍遵循系统电源策略正常休眠。

修复

  • 规范全应用按钮形态与层级。 「添加服务商」「添加模型」等创建操作采用清晰的图文加框按钮;工具栏按钮、行内开关等纯图标动作保持无边框微交互。

  • Pull Request 详情页移除冗余的纯聊天按钮,让 Agent 审查会自动填好草稿。 点击「让 Agent 审查」会将审阅提示词直接带入输入框并聚焦在末尾,修复了此前因工作目录初始化竞态导致草稿丢失的问题。

  • 设置页左下角的「引导」按钮恢复文字标签。 火箭图标旁恢复显示「引导」文案,不再是不明语义的孤立小图标。

  • 统一全局加载动画。 状态行、任务清单与流水线统一采用六段匀速旋转的虚线环(StatusSpinner);按钮与交互动作采用带浅色底轨的亮弧(ActionSpinner),不再忽转忽闪。

新功能

  • 一般設定新增「執行期間不讓電腦休眠」開關。 開啟後 Lyra 執行期間不息屏、不因閒置進入睡眠,長任務跑整夜也不會中斷。闔蓋操作仍依系統電源策略正常休眠。

修復

  • 規範全應用按鈕形態與層級。 「新增服務商」「新增模型」等建立操作採用清晰的圖文加框按鈕;工具列按鈕、行內開關等純圖示動作保持無邊框微互動。

  • Pull Request 詳細資料頁移除多餘的純聊天按鈕,讓 Agent 審查會自動填入草稿。 點選「讓 Agent 審查」會將審核提示詞直接帶入輸入框並聚焦於末尾,修復了此前因工作目錄初始化競態導致草稿遺失的問題。

  • 設定頁左下角的「引導」按鈕恢復文字標籤。 火箭圖示旁恢復顯示「引導」文案,不再是不明語意的孤立小圖示。

  • 統一全域載入動畫。 狀態列、任務清單與管線統一採用六段等分勻速旋轉的虛線環(StatusSpinner);按鈕與操作互動採用帶淡色底軌的亮弧(ActionSpinner)。

新機能

  • 一般設定に「実行中にコンピュータをスリープさせない」設定を追加。 有効にすると、長時間のタスク中でも画面オフやアイドルによるスリープを防ぎます。ノートPCの蓋を閉じた場合は、システム電源設定に従ってスリープします。

修正

  • 各種ボタンのスタイルと階層を統一。 「プロバイダーを追加」「モデルを追加」などの新規作成アクションはアイコン+テキスト+枠線で見やすく整理。ツールバーや行内トグルなどのアイコン単体ボタンは枠線のないすっきりしたスタイルに統一しました。

  • Pull Request 詳細の重複したチャットボタンを削除し、Agent によるレビュー依頼の下書き自動入力を改善。 「Agent にレビューを依頼」をクリックするとレビュー用のプロンプトが入力欄に自動設定され、ワークスペース切り替えで消える不具合を修正しました。

  • 設定画面左下の「ガイド」ボタンにテキスト表記を復元。 ロケットアイコンの横に「ガイド」ラベルが並び、分かりやすくなりました。

  • 読み込みアニメーションの統一。 リストやタスク進行中の状態表示は等分割の点線リング(StatusSpinner)に、ボタン等の操作待機はうっすらとした軌道付きのアーク(ActionSpinner)に整理しました。

새로운 기능

  • 일반 설정에 '실행 중 컴퓨터 절전 모드 방지' 옵션 추가. 켜 두면 긴 작업 도중 화면이 꺼지거나 유휴 상태로 잠들지 않습니다. 노트북 덮개를 닫는 동작은 시스템 전원 설정에 따라 정상 절전됩니다.

수정

  • 전체 버튼 형태 및 시각적 위계 표준화. '제공자 추가', '모델 추가' 등 생성 버튼은 아이콘+텍스트와 테두리로 명확하게 표시하고, 툴바 및 행 토글 등 단독 아이콘 버튼은 테두리 없이 깔끔하게 통일했습니다.

  • Pull Request 상세 보기에서 불필요한 채팅 버튼을 제거하고 Agent 검토 초안 자동 입력을 수정. 'Agent에게 검토 요청' 클릭 시 검토 프롬프트가 입력창에 바로 채워지고, 작업 영역 전환으로 내용이 사라지던 문제를 해결했습니다.

  • 설정 화면 하단 로켓 버튼에 '안내' 텍스트 복원. 아이콘만 있던 버튼에 텍스트를 함께 배치하여 역할을 명확히 했습니다.

  • 로딩 인디케이터 표준화. 작업 목록 및 상태 표시는 일정한 점선 원(StatusSpinner)으로, 버튼 조작 대기는 궤도가 있는 부드러운 호(ActionSpinner)로 정돈했습니다.

Nouveautés

  • Nouvelle option « Empêcher la mise en veille pendant l'exécution » dans les paramètres généraux. Lyra évite l'extinction de l'écran et la mise en veille pendant les longues tâches. Fermer le capot de l'ordinateur portable continue de mettre en veille conformément aux réglages système.

Corrections

  • Harmonisation des styles de boutons. Les actions de création comme « Ajouter un fournisseur » ou « Ajouter un modèle » affichent clairement icône, texte et bordure. Les barres d'outils et commutateurs d'icônes seuls adoptent un style épuré sans bordure.

  • Suppression du bouton de discussion redondant dans les détails de PR et remplissage automatique de la demande de revue. Cliquer sur « Demander une revue par l'Agent » insère le prompt d'analyse directement dans la zone de saisie sans perte lors du changement d'espace.

  • Le bouton « Guide » en bas des paramètres retrouve son libellé textuel. L'icône de fusée est à nouveau accompagnée du texte « Guide ».

  • Uniformisation des animations de chargement. Anneau en pointillés régulier (StatusSpinner) pour les éléments en cours, arc sur rail discret (ActionSpinner) pour les retours d'actions sur boutons.

Новое

  • Новый переключатель «Не давать компьютеру уснуть во время работы» в основных настройках. Lyra предотвращает отключение экрана и переход в спящий режим из-за бездействия во время выполнения длительных задач. Закрытие крышки ноутбука по-прежнему переводит устройство в сон в соответствии с системными политиками питания.

Исправления

  • Стандартизация стилей кнопок. Основные действия создания («Добавить провайдера», «Добавить модель») оформлены понятными кнопками с иконкой, текстом и рамкой. Кнопки панелей инструментов и переключатели внутри строк выполнены в лаконичном стиле без рамок.

  • Удалена лишняя кнопка чата в деталях Pull Request, исправлено заполнение черновика запроса на ревью. Нажатие «Попросить Agent провести ревью» сразу помещает готовый запрос в поле ввода без сброса из-за инициализации рабочей папки.

  • Кнопка «Руководство» внизу панели настроек снова отображает поясняющий текст. Рядом с иконкой ракеты возвращена надпись «Руководство».

  • Унификация индикаторов загрузки. Пунктирное вращающееся кольцо (StatusSpinner) для фоновых процессов и задач, и мягкая дуга с фоновой дорожкой (ActionSpinner) для нажатых кнопок.

v0.9.13

Choose a tag to compare

@github-actions github-actions released this 14 Sep 07:16

New

  • Side chat and the sub-agent box now put a file or image in the sentence, the same way the main box does. A chip with an icon and a name sits in the text. The model can tell which file you mean. You can attach a picture when you steer a sub-agent.

  • When a row of tabs runs out of room, arrows appear at the ends. File tabs, terminal tabs, account tabs, and the same kind of strip elsewhere. Click an arrow and the row moves, keeping a bit of what you just saw.

Fixes

  • A crash in the window used to leave a grey pane and three traffic lights. It now says what threw, offers a reload, and keeps your conversations and settings. The main process is still running.

  • Closing the window on a Mac puts it away. It does not throw the session out. The conversation you had open, how far you had scrolled, and the message you had typed come back as they were. On Windows and Linux this happens when the status bar icon is there; without it, close still quits, so the app does not hide with no way back.

  • Dragging a pane past the window edge follows your hand again. The card is clipped by the window. It used to stop at the edge while the pointer kept going.

  • The move handle sits on the top edge of the pane, in the middle of the card. It no longer lands on the Windows caption buttons when the pane is narrow.

  • A broken line in the transcript no longer blanks the whole conversation. A message with no role used to throw Cannot read properties of undefined (reading 'role') and take the screen with it.

新功能

  • 侧边聊天和子 Agent 的输入框,现在也会把文件或图片放进句子里,和主输入框一样。 一枚带图标和名字的标记坐在正文里,模型分得清你说的是哪一份。给子 Agent 纠偏时,也可以附上一张图。

  • 标签挤不下时,两端会出现箭头。 文件标签、终端标签、账号标签,以及同样那种横条。点一下,横条走一段,刚看过的还留一点。

修复

  • 窗口里崩了,从前只剩一片灰和三颗红绿灯。 现在会写出是谁抛的、给一颗重新加载,会话和设置都还在。主进程没停。

  • 在 Mac 上关窗口,是把窗口收起来,不是把会话扔掉。 开着的对话、滚到哪、打到一半的字,回来还是那样。Windows 和 Linux 上,有状态栏图标才这样收;没有图标时关掉就是退出,免得藏起来找不到。

  • 拖面板越过窗口边缘时,卡片又跟着指针走了。 探出去的部分被窗口裁掉。从前卡片停在边上,手还在往外走。

  • 移动的那一杠在面板顶边,对着卡片正中。 窄面板上不再压到 Windows 标题栏那几个按钮。

  • 转录里坏掉的一行,不会再把整场对话刷白。 一条没有 role 的消息从前会抛 Cannot read properties of undefined (reading 'role'),整页跟着没了。

新功能

  • 側邊聊天和子 Agent 的輸入框,現在也會把檔案或圖片放進句子裡,和主輸入框一樣。 一枚帶圖示和名字的標記坐在正文裡,模型分得清你說的是哪一份。給子 Agent 糾偏時,也可以附上一張圖。

  • 標籤擠不下時,兩端會出現箭頭。 檔案標籤、終端標籤、帳號標籤,以及同樣那種橫條。點一下,橫條走一段,剛看過的還留一點。

修復

  • 視窗裡崩了,從前只剩一片灰和三顆紅綠燈。 現在會寫出是誰拋的、給一顆重新載入,工作階段和設定都還在。主行程沒停。

  • 在 Mac 上關視窗,是把視窗收起來,不是把工作階段扔掉。 開著的對話、捲到哪、打到一半的字,回來還是那樣。Windows 和 Linux 上,有狀態列圖示才這樣收;沒有圖示時關掉就是結束,免得藏起來找不到。

  • 拖面板越過視窗邊緣時,卡片又跟著指標走了。 探出去的部分被視窗裁掉。從前卡片停在邊上,手還在往外走。

  • 移動的那一槓在面板頂邊,對著卡片正中。 窄面板上不再壓到 Windows 標題列那幾個按鈕。

  • 轉錄裡壞掉的一行,不會再把整場對話刷白。 一條沒有 role 的訊息從前會拋 Cannot read properties of undefined (reading 'role'),整頁跟著沒了。

新機能

  • サイドチャットとサブエージェントの入力欄も、本文の中にファイルや画像を置きます。メインと同じです。 アイコンと名前のチップが文の中に座ります。モデルはどれを指しているか分かります。サブエージェントに指示を出すときも、絵を付けられます。

  • タブが幅に収まらないと、両端に矢印が出ます。 ファイル、ターミナル、アカウント、同じ形の横列です。押すと列が動き、今見ていたものが少し残ります。

修正

  • 画面が落ちると、灰色と信号機の三つだけが残っていました。 今は何が投げたかを書き、再読み込みを出し、会話と設定は残します。メインプロセスは止まっていません。

  • Mac で窓を閉じると、しまいます。セッションは捨てません。 開いていた会話、どこまで読んだか、打ちかけの文が、そのまま戻ります。Windows と Linux では、ステータスバーのアイコンがあるときだけそうします。アイコンが無いときに閉じると終了します。隠れても戻れない状態にはしません。

  • ペインを窓の外へドラッグすると、また手に付いていきます。 はみ出した分は窓で切れます。これまでは縁で止まり、ポインターだけが先へ行っていました。

  • 移動のしるしはペインの上端、カードの真ん中です。 狭いペインで Windows のタイトルボタンに重なりません。

  • 壊れた一行で会話全体が白くなりません。 role の無いメッセージが Cannot read properties of undefined (reading 'role') を投げ、画面ごと消えていました。

새로운 기능

  • 사이드 챗과 하위 에이전트 입력칸도 이제 파일이나 이미지를 문장 안에 넣습니다. 메인과 같습니다. 아이콘과 이름이 붙은 칩이 글 안에 앉습니다. 모델이 어느 파일인지 구분합니다. 하위 에이전트에게 길을 알려 줄 때도 그림을 붙일 수 있습니다.

  • 탭이 자리에 안 들어가면 양끝에 화살표가 나옵니다. 파일 탭, 터미널 탭, 계정 탭, 같은 모양의 가로줄입니다. 누르면 줄이 움직이고, 방금 본 것이 조금 남습니다.

수정

  • 창이 무너지면 회색과 신호등 세 개만 남았습니다. 지금은 무엇이 던졌는지 쓰고, 새로 고침을 주며, 대화와 설정은 그대로입니다. 메인 프로세스는 살아 있습니다.

  • Mac에서 창을 닫으면 치워 둡니다. 세션을 버리지 않습니다. 열려 있던 대화, 어디까지 읽었는지, 쓰다 만 글이 그대로 돌아옵니다. Windows와 Linux에서는 상태 표시줄 아이콘이 있을 때만 이렇게 합니다. 아이콘이 없으면 닫는 것이 종료입니다. 숨겨 두고 못 찾게 하지 않습니다.

  • 패널을 창 밖으로 끌면 다시 손을 따라갑니다. 나간 부분은 창에 잘립니다. 이전에는 카드가 가장자리에서 멈추고 포인터만 나갔습니다.

  • 옮기는 막대는 패널 맨 위, 카드 한가운데에 있습니다. 좁은 패널에서 Windows 제목 단추 위에 앉지 않습니다.

  • 깨진 한 줄 때문에 대화 전체가 하얘지지 않습니다. role이 없는 메시지가 Cannot read properties of undefined (reading 'role')를 던지고 화면을 가져갔습니다.

Nouveautés

  • La discussion latérale et la boîte du sous-agent mettent maintenant un fichier ou une image dans la phrase, comme la boîte principale. Une pastille avec une icône et un nom s'assoit dans le texte. Le modèle sait de quel fichier vous parlez. On peut joindre une image en guidant un sous-agent.

  • Quand une rangée d'onglets n'a plus de place, des flèches apparaissent aux bouts. Onglets de fichiers, de terminal, de comptes, et la même bande ailleurs. Un clic avance la rangée et laisse un peu de ce qu'on venait de voir.

Corrections

  • Un plantage dans la fenêtre ne laissait qu'un panneau gris et trois feux. Elle dit maintenant ce qui a levé, propose de recharger, et garde les conversations et les réglages. Le processus principal tourne encore.

  • Fermer la fenêtre sur un Mac la range. Ça ne jette pas la session. La conversation ouverte, jusqu'où on avait défilé, et le message tapé reviennent comme on les a laissés. Sous Windows et Linux, c'est ainsi quand l'icône de la barre d'état est là ; sans elle, fermer quitte encore, pour ne pas cacher une appli sans issue.

  • Glisser un volet hors de la fenêtre suit à nouveau la main. La carte est coupée par la fenêtre. Elle s'arrêtait au bord pendant que le pointeur continuait.

  • La poignée de déplacement est sur le bord haut du volet, au milieu de la carte. Elle ne tombe plus sur les boutons de titre Windows quand le volet est étroit.

  • Une ligne cassée dans la transcription n'efface plus toute la conversation. Un message sans rôle levait Cannot read properties of undefined (reading 'role') et emportait l'écran.

Новое

  • Боковая беседа и поле субагента теперь кладут файл или картинку в предложение, как главное поле. Метка с значком и именем сидит в тексте. Модель понимает, о каком файле речь. К указанию субагенту можно приложить картинку.

  • Когда ряду вкладок не хватает места, по краям появляются стрелки. Вкладки файлов, терминала, аккаунтов и такая же полоса в других местах. Нажатие сдвигает ряд и оставляет чуть-чуть того, что только что было видно.

Исправления

  • Падение в окне оставляло серую панель и три светофора. Теперь написано, что выбросило, есть перезагрузка, беседы и настройки на месте. Главный процесс ещё работает.

  • Закрытие окна на Mac убирает его. Сессию не выбрасывает. Открытая беседа, до куда долистали, и недописанное сообщение возвращаются как были. В Windows и Linux так только если есть значок в строке состояния; без него закрытие по-прежнему выход, чтобы приложение не спряталось без дороги назад.

  • Перетаскивание панели за край окна снова идёт за рукой. Карточка обрезается окном. Раньше она вставала у края, а указатель шёл дальше.

  • Ручка переноса на верхнем крае панели, по центру карточки. На узкой панели она больше не садится на кнопки заголовка Windows.

  • Сломанная строка в расшифровке больше не белит всю беседу. Сообщение без role бросало Cannot read properties of undefined (reading 'role') и уносило экран.

v0.9.12

Choose a tag to compare

@github-actions github-actions released this 13 Sep 15:46

New

  • The same release now has an Android APK and an iOS IPA. Lyra-<version>-android.apk installs directly. Lyra-<version>-ios-unsigned.ipa is unsigned: sign it with Sideloadly, AltStore, or Xcode (a free Apple ID is enough), then install. The phone app is a shell. It talks to Lyra on your computer. Sessions, models, and keys stay there.

  • Linux arm64 is in the release. Raspberry Pi, Ampere machines, and a Linux VM on a Mac can take Lyra-<version>-arm64.AppImage or Lyra-<version>-arm64.deb. Before this, the updater on those machines said "you're up to date" because it could not find a file for that architecture.

  • A file or image in the message is a chip: icon plus name, sitting in the sentence. It is no longer a row above the text. Right-click opens the file or shows it in the folder. The caret cannot walk into the chip.

  • read can pull the words out of Word, Excel, PowerPoint, and PDF. Drop one of those on a chat, or point the agent at the path, and it reads the text instead of treating the file as opaque.

  • Switching the interface language moves the words that stayed the same to their new place, instead of cutting. The language list uses each language's own name. Every language in that list can be formatted; ones that cannot are not listed.

Fixes

  • After you sent a message, the chips lost their background, and right-click opened an empty box. The marks were still there. They just no longer looked or behaved like chips.

  • Typing Chinese collapsed a chip back into a string of brackets. Composing a sentence around a file mark turned the mark into the raw token, and the file dropped out of the message.

  • The icon sat on top of the file name when punctuation squeezed the line, and the caret could still walk into the chip. Those two were the same layout: the mark did not reserve a box the caret had to skip.

  • Several items on the attachment menu were grey because the path was never fetched. Open and Reveal did nothing. They looked disabled. They were waiting on a path nobody asked for.

  • The fade at the top of the sidebar was usually missing. It only painted on one scroll state, so most of the time the list ran straight into the header.

  • The usage chart jumped instead of moving. The animation finished in a frame, so the page looked like it had no motion at all.

  • When the dock ran out of width, it covered the conversation. The layout flattened into one full-width strip instead of keeping the chat as its own column.

  • Dragging a pane past the window edge made the card vanish. The pointer left the window and the card followed it out.

  • Menu separators vanished in the dark theme. Their contrast was computed against the page, not the menu.

  • Delete on an archived chat did nothing. The confirm dialog left with the context menu, so the click never landed.

  • On Windows, a remote that asked for a login left the sync buttons stuck. The panel waited until the command timed out, and sometimes left a credentials window behind. It now fails at once and says to set the credentials up in a terminal first.

新功能

  • 同一个 release 里有安卓安装包和 iOS 安装包。 Lyra-<版本>-android.apk 直接装。Lyra-<版本>-ios-unsigned.ipa 没签名:用 Sideloadly、AltStore 或 Xcode 自己签一遍再装,免费 Apple ID 就够。手机端只是个壳,连的是你电脑上的 Lyra,会话、模型和密钥都在那边。

  • Linux arm64 进产物了。 树莓派、Ampere 机器、Mac 上的 Linux 虚拟机可以下 Lyra-<版本>-arm64.AppImage 或 Lyra-<版本>-arm64.deb。以前这些机器上点更新,界面说的是「已是最新」,因为它找不到自己架构的文件。

  • 消息里的文件或图片变成一枚标记:图标加名字,坐在句子里。 不再单独占输入框上面那一排。右键可以打开文件,也可以指出它在文件夹里的位置。光标进不去这枚标记。

  • read 读得到 Word、Excel、PowerPoint 和 PDF 里的字。 把这类文件丢进对话,或者让 agent 去读那条路径,它读的是正文,而不是把文件当成一块不认识的东西。

  • 切换界面语言时,没变的词会走到新位置,而不是整页硬切。 语言列表用的是每种语言自己的名字。列表里出现的每一种都能格式化;格不了的不会出现在列表里。

修复

  • 发出去之后,那几枚标记的底没了,右键弹出来的是个空框。 标记还在,只是不再长得像、也不再表现得像一枚芯片。

  • 打中文的时候,句子里的标记塌回成一串方括号。 在文件标记旁边组句,标记会变成原始记号,文件从这条消息里掉出去。

  • 标点一挤,图标就压在文件名上,而且光标仍进得去标记里面。 这两件是同一件事:标记没有给自己留出光标必须跳过的那一块。

  • 附件菜单上那几行是灰的,因为路径一次都没取到。 「打开」和「在文件夹中显示」点了没反应。看起来像禁用,其实是在等一条没人去取的路径。

  • 侧边栏顶上那道虚化,大部分时候根本不存在。 它只在一种滚动状态下会画,所以列表常常直接顶到标题上。

  • 用量图那一下太快,看着就是没动画。 动画在一帧里走完,页面像是硬切过去的。

  • 面板放不下时盖住会话。 布局被拍成一条全宽的带子,对话不再自己占一列。

  • 拖面板时指针移出窗口,卡片跟着跑出去消失。 指针离开窗口,卡片也跟着离开。

  • 菜单分隔线在暗色下看不见。 对比度是照着页面算的,不是照着菜单。

  • 归档会话右键「删除」点了没反应。 确认框被菜单一起带走,那一次点击落在空处。

  • Windows 上,远端要登录时,同步按钮会一直停住。 面板等到命令超时,有时还会留下一个凭据窗口。现在立刻失败,并说明要先在终端里配好凭据。

新功能

  • 同一個 release 裡有 Android 安裝包和 iOS 安裝包。 Lyra-<版本>-android.apk 直接裝。Lyra-<版本>-ios-unsigned.ipa 沒有簽名:用 Sideloadly、AltStore 或 Xcode 自己簽過再裝,免費 Apple ID 就夠。手機端只是個殼,連的是你電腦上的 Lyra,工作階段、模型和金鑰都在那邊。

  • Linux arm64 進產物了。 樹莓派、Ampere 機器、Mac 上的 Linux 虛擬機可以下載 Lyra-<版本>-arm64.AppImage 或 Lyra-<版本>-arm64.deb。以前這些機器上點更新,介面說的是「已是最新」,因為它找不到自己架構的檔案。

  • 訊息裡的檔案或圖片變成一枚標記:圖示加名字,坐在句子裡。 不再單獨占輸入框上面那一排。右鍵可以開啟檔案,也可以指出它在資料夾裡的位置。游標進不去這枚標記。

  • read 讀得到 Word、Excel、PowerPoint 和 PDF 裡的字。 把這類檔案丟進對話,或讓 agent 去讀那條路徑,它讀的是正文,而不是把檔案當成一塊不認識的東西。

  • 切換介面語言時,沒變的詞會走到新位置,而不是整頁硬切。 語言清單用的是每種語言自己的名字。清單裡出現的每一種都能格式化;格不了的不會出現在清單裡。

修復

  • 送出去之後,那幾枚標記的底沒了,右鍵彈出來的是個空框。 標記還在,只是不再長得像、也不再表現得像一枚晶片。

  • 打中文的時候,句子裡的標記塌回成一串方括號。 在檔案標記旁邊組句,標記會變成原始記號,檔案從這條訊息裡掉出去。

  • 標點一擠,圖示就壓在檔案名上,而且游標仍進得去標記裡面。 這兩件是同一件事:標記沒有替自己留出游標必須跳過的那一塊。

  • 附件選單上那幾行是灰的,因為路徑一次都沒取到。 「開啟」和「在檔案夾中顯示」點了沒反應。看起來像停用,其實是在等一條沒人去取的路徑。

  • 側邊欄頂上那道虛化,大部分時候根本不存在。 它只在一種捲動狀態下會畫,所以清單常常直接頂到標題上。

  • 用量圖那一下太快,看起來就是沒有動畫。 動畫在一幀裡走完,頁面像是硬切過去的。

  • 面板放不下時蓋住工作階段。 版面被拍成一條全寬的帶子,對話不再自己占一欄。

  • 拖面板時指標移出視窗,卡片跟著跑出去消失。 指標離開視窗,卡片也跟著離開。

  • 選單分隔線在暗色下看不見。 對比是照著頁面算的,不是照著選單。

  • 封存工作階段右鍵「刪除」點了沒反應。 確認框被選單一起帶走,那一次點擊落在空處。

  • Windows 上,遠端要登入時,同步按鈕會一直停住。 面板等到命令逾時,有時還會留下一個憑證視窗。現在立刻失敗,並說明要先在終端機裡配好憑證。

新機能

  • 同じリリースにAndroidのAPKとiOSのIPAが入ります。 Lyra-<バージョン>-android.apk はそのままインストールできます。Lyra-<バージョン>-ios-unsigned.ipa は未署名です。Sideloadly、AltStore、またはXcodeで自分で署名してから入れてください。無料のApple IDで足ります。モバイルアプリは殻です。つながる先は手元のLyraで、セッション、モデル、鍵はそちらにあります。

  • Linuxのarm64用パッケージがリリースに入りました。 Raspberry Pi、Ampereのマシン、Mac上のLinux仮想マシンは Lyra-<バージョン>-arm64.AppImage か Lyra-<バージョン>-arm64.deb を使います。これまでは、そのアーキテクチャのファイルが無いので、更新を押しても「最新です」とだけ出ていました。

  • メッセージの中のファイルや画像は、アイコンと名前のチップとして文の中に座ります。 入力欄の上の一段ではなくなりました。右クリックでファイルを開くか、フォルダーでの位置を示します。キャレットはこのチップの中に入れません。

  • readがWord、Excel、PowerPoint、PDFの文字を読めます。 会話に載せても、パスを渡しても、中身のテキストを読みます。知らない塊としては扱いません。

  • 表示言語を切り替えると、変わっていない語は新しい位置へ動きます。ページごと差し替わるのではありません。 言語一覧は、それぞれの言語の自家の名前です。一覧に出る言語はどれも整形できます。整形できないものは一覧に出しません。

修正

  • 送信したあと、チップの地がなくなり、右クリックは空の枠だけでした。 印は残っていました。チップとしては見えず、チップとしては動きませんでした。

  • 日本語や中国語を入力すると、文中のチップが角括弧の列に戻っていました。 ファイルの印のそばで変換すると、印が生のトークンになり、ファイルがメッセージから落ちます。

  • 約物が詰まるとアイコンがファイル名に重なり、キャレットはチップの中に入れたままです。 どちらも同じレイアウトです。印が、キャレットが飛ばなければならない箱を確保していませんでした。

  • 添付メニューの数行が灰色なのは、パスを一度も取っていなかったからです。 「開く」も「フォルダーに表示」も無反応でした。無効に見えて、誰も取りに行かないパスを待っていました。

  • サイドバー上端のぼかしは、ほとんどの場合ありませんでした。 あるスクロール状態でしか描かれないので、一覧が見出しに突き当たっていました。

  • 使用量のグラフが一瞬で切り替わり、動きが無いように見えました。 アニメーションが 1 フレームで終わっていました。

  • ドックの幅が足りなくなると、会話を覆いました。 レイアウトが全幅の一本になり、会話が自分の列を失いました。

  • ペインをドラッグしてポインターがウィンドウの外へ出ると、カードが消えていました。 ポインターが窓を離れ、カードもついて出ていました。

  • ダークテーマではメニューの区切り線が見えませんでした。 コントラストをメニューではなくページに対して計算していました。

  • アーカイブした会話の右クリック「削除」が無反応でした。 確認ダイアログがメニューと一緒に消え、クリックが空に落ちていました。

  • Windows では、ログインを求めるリモートで同期ボタンが止まったままでした。 パネルはコマンドが時間切れになるまで待ち、資格情報の窓が残ることもありました。今はすぐ失敗し、先に端末で資格情報を用意するよう知らせます。

새로운 기능

  • 같은 릴리스에 Android APK와 iOS IPA가 들어갑니다. Lyra-<버전>-android.apk는 바로 설치합니다. Lyra-<버전>-ios-unsigned.ipa는 서명되어 있지 않습니다. Sideloadly, AltStore 또는 Xcode로 직접 서명한 뒤 설치하세요. 무료 Apple ID면 됩니다. 휴대폰 앱은 껍데기입니다. 연결하는 대상은 컴퓨터의 Lyra이고, 세션·모델·키는 그쪽에 있습니다.

  • Linux arm64 패키지가 릴리스에 들어갑니다. 라즈베리 파이, Ampere 기기, Mac의 Linux 가상 머신은 Lyra-<버전>-arm64.AppImage 또는 Lyra-<버전>-arm64.deb를 받으면 됩니다. 이전에는 그 아키텍처 파일이 없어서, 업데이트를 눌러도 "이미 최신"이라고만 나왔습니다.

  • 메시지의 파일이나 이미지는 아이콘과 이름이 붙은 칩으로 문장 안에 앉습니다. 입력칸 위 한 줄을 차지하지 않습니다. 오른쪽 클릭으로 파일을 열거나 폴더에서 위치를 보여 줍니다. 캐럿은 이 칩 안으로 들어가지 못합니다.

  • read가 Word, Excel, PowerPoint, PDF 안의 글을 읽습니다. 대화에 올리든 경로를 넘기든, 알 수 없는 덩어리가 아니라 본문을 읽습니다.

  • 인터페이스 언어를 바꾸면, 그대로인 단어는 새 위치로 움직입니다. 페이지를 통째로 갈아끼우지 않습니다. 언어 목록은 각 언어 자신의 이름입니다. 목록에 있는 언어는 모두 서식을 맞출 수 있습니다. 맞출 수 없는 언어는 목록에 올리지 않습니다.

수정

  • 보낸 뒤에 칩의 바탕이 사라지고, 오른쪽 클릭은 빈 상자만 열었습니다. 표시는 남아 있었습니다. 칩처럼 보이지도, 칩처럼 동작하지도 않았습니다.

  • 한글이나 중국어를 입력하면 문장 속 칩이 대괄호 나열로 무너졌습니다. 파일 표시 옆에서 조합하면 표시가 원본 토큰이 되고, 파일이 메시지에서 빠집니다.

  • 문장 부호가 줄을 밀어 넣으면 아이콘이 파일 이름 위에 겹치고, 캐럿은 여전히 칩 안으로 들어갔습니다. 둘 다 같은 레이아웃입니다. 표시가 캐럿이 건너뛰어야 할 칸을 잡아 두지 않았습니다.

  • 첨부 메뉴의 몇 줄이 회색인 이유는 경로를 한 번도 가져오지 않았기 때문입니다. 열기와 폴더에서 보기가 반응이 없었습니다. 비활성처럼 보였지만, 아무도 가져오지 않은 경로를 기다리고 있었습니다.

  • 사이드바 맨 위 흐림은 대부분 존재하지 않았습니다. 한 가지 스크롤 상태에서만 그려져, 목록이 제목에 바로 붙었습니다.

  • 사용량 그래프가 한순간에 바뀌어 애니메이션이 없는 것처럼 보였습니다. 애니메이션이 한 프레임 만에 끝났습니다.

  • 독 너비가 모자라면 대화를 덮었습니다. 레이아웃이 가로 전체 한 줄이 되어, 대화가 자기 열을 잃었습니다.

  • 패널을 끌다가 포인터가 창 밖으로 나가면 카드가 사라졌습니다. 포인터가 창을 떠나고 카드도 따라 나갔습니다.

  • 어두운 테마에서 메뉴 구분선이 보이지 않았습니다. 대비를 메뉴가 아니라 페이지 기준으로 계산했습니다.

  • 보관한 대화의 오른쪽 클릭 "삭제"가 반응이 없었습니다. 확인 상자가 메뉴와 함께 사라져, 클릭이 빈곳에 떨어졌습니다.

  • Windows에서 로그인을 요구하는 원격을 만나면 동기화 버튼이 멈춘 채로 있었습니다. 패널은 명령이 시간 초과될 때까지 기다렸고, 자격 증명 창이 남는 일도 있었습니다. 지금은 바로 실패하고, 터미널에서 먼저 자격 증명을 맞추라고 말합니다.

Nouveautés

  • La même version contient un APK Android et un IPA iOS. Lyra-<version>-android.apk s'installe directement. Lyra-<version>-ios-unsigned.ipa n'est pas signé : signez-le avec Sideloadly, AltStore ou Xcode (un identifiant Apple gratuit suffit), puis installez-le. L'application téléphone n'est qu'une coquille. Elle parle à Lyra sur l'ordinateur. Les sessions, les modèles et les clés restent là-bas.

  • Linux arm64 est dans la version. Un Raspberry Pi, une machine Ampere ou une machine virtuelle Linux sur un Mac prennent Lyra-<version>-arm64.AppImage ou Lyra-<version>-arm64.deb. Avant, sur ces machines, « Vérifier les mises à jour » répondait que tout était à jour, faute de fichier pour cette architecture.

  • **Un fichier...

Read more

v0.9.11

Choose a tag to compare

@github-actions github-actions released this 12 Sep 12:32

修复

  • 子智能体提交结果后不再空转。 子智能体调用 yield 交付之后,会话循环仍会向模型追加一轮请求。这轮请求没有接收方:答案就是刚才交付的那个对象,模型此时无话可说,返回的空回答被判定为上游故障并进入重试。在「一直重试」设置下,同一个请求可以重复发送数百次,而已经生成好的结果始终送不到调用方。现在交付即结束,空回答另有自己的重试上限(4 次);断线与服务端错误的重试策略不变。

  • 子智能体重连时,界面会说明它在等什么。 此前重连过程在界面上没有任何提示,唯一的迹象是一个持续转动的任务。现在面板与状态条会显示重试次数和失败原因,重试不计入工具调用次数。按下停止时,子智能体已经产出的内容也会保留在面板上。

  • 运行时的 token 统计与速度计入子智能体。 运行指示器此前只统计主智能体自身的消耗:派发四个子智能体后,显示的数值与实际相差一个数量级;主智能体等待期间,速度读数会停在极低的水平。会话列表与用量统计页此前已正确统计,不受影响。同时移除了三处重复显示的「本次编排合计」。

  • 默认主题改为跟随系统。 主进程在读不到设置时按系统外观绘制启动屏,而默认值将未选择过主题的用户一律视为深色。两者不一致,在浅色系统上表现为启动瞬间的闪烁。已在设置中选择过主题的用户不受影响。

  • 五个工具恢复可用。 recall、rule、learn、lsp、web_search 此前在桌面端从未提供给模型。

  • 「禁止命令联网」开关现在真正生效。 此前这个设置可以配置,但没有传递到命令执行的一层。

  • 删除工作树不会再误删普通目录。 当传入的路径不是 git 工作树时,git worktree remove 失败后的兜底逻辑会递归删除该目录。现在只删除 git 自身列出的工作树,相关接口补充了项目路径校验。

  • 修复两处流式响应处理。 Anthropic 链路会把中断的流当作完整回答;两条 OpenAI 链路在上游停止响应时会无限等待。

  • 上下文压缩的三项参数在桌面端恢复传递。

修復

  • 子智慧體提交結果後不再空轉。 子智慧體呼叫 yield 交付之後,工作階段迴圈仍會向模型追加一輪請求。這輪請求沒有接收方:答案就是剛才交付的那個物件,模型此時無話可說,回傳的空回答被判定為上游故障並進入重試。在「一直重試」設定下,同一個請求可以重複傳送數百次,而已經產生好的結果始終送不到呼叫方。現在交付即結束,空回答另有自己的重試上限(4 次);斷線與伺服器錯誤的重試策略不變。

  • 子智慧體重新連線時,介面會說明它在等什麼。 此前重新連線的過程在介面上沒有任何提示,唯一的跡象是一個持續轉動的任務。現在面板與狀態列會顯示重試次數和失敗原因,重試不計入工具呼叫次數。按下停止時,子智慧體已經產出的內容也會保留在面板上。

  • 執行時的 token 統計與速度計入子智慧體。 執行指示器此前只統計主智慧體自身的消耗:派發四個子智慧體後,顯示的數值與實際相差一個數量級;主智慧體等待期間,速度讀數會停在極低的水準。工作階段清單與用量統計頁此前已正確統計,不受影響。同時移除了三處重複顯示的「本次編排合計」。

  • 預設佈景主題改為跟隨系統。 主行程在讀不到設定時按系統外觀繪製啟動畫面,而預設值將未選擇過佈景主題的使用者一律視為深色。兩者不一致,在淺色系統上表現為啟動瞬間的閃爍。已在設定中選擇過佈景主題的使用者不受影響。

  • 五個工具恢復可用。 recall、rule、learn、lsp、web_search 此前在桌面端從未提供給模型。

  • 「禁止命令連網」開關現在真正生效。 此前這個設定可以設定,但沒有傳遞到命令執行的那一層。

  • 刪除工作樹不會再誤刪一般目錄。 當傳入的路徑不是 git 工作樹時,git worktree remove 失敗後的備援邏輯會遞迴刪除該目錄。現在只刪除 git 自身列出的工作樹,相關介面補上了專案路徑檢查。

  • 修復兩處串流回應處理。 Anthropic 鏈路會把中斷的串流當作完整回答;兩條 OpenAI 鏈路在上游停止回應時會無限等待。

  • 上下文壓縮的三項參數在桌面端恢復傳遞。

Fixes

  • A sub-agent no longer spins after delivering its result. Once a sub-agent called yield, the session loop still sent one more request to the model. That request has no recipient — the answer is the object just delivered — so the model had nothing left to say, and the empty reply that came back was classified as an upstream failure and retried. Under the "retry indefinitely" setting the same request could go out hundreds of times while the finished result never reached the caller. Delivery now ends the run, and empty replies carry a retry ceiling of their own (four). Retry behaviour for dropped connections and server errors is unchanged.

  • While a sub-agent is reconnecting, the interface says what it is waiting for. Reconnection used to be invisible; the only sign was a task that kept spinning. The pane and the status line now show the attempt count and the reason, and retries are not counted as tool calls. Stopping a sub-agent also keeps whatever it had already produced.

  • Token counts and speed during a run include sub-agents. The running indicator counted only the main agent's own usage: with four sub-agents dispatched, the figure sat an order of magnitude below the real one, and the rate reading dropped to near zero while the main agent waited. The session list and the usage page already counted correctly and are unaffected. Three duplicate "orchestration total" readouts have been removed.

  • The default theme now follows the system. With no setting present the main process paints the boot screen from the system appearance, while the default treated anyone who had never chosen a theme as dark. On a light system the mismatch showed as a flash at startup. Anyone who has chosen a theme is unaffected.

  • Five tools are available again. recall, rule, learn, lsp and web_search were never offered to the model on desktop.

  • The "no network for commands" switch now takes effect. The setting could be configured but was not passed down to the layer where commands run.

  • Removing a worktree no longer deletes an ordinary directory. When the path given was not a git worktree, the fallback after git worktree remove failed deleted that directory recursively. Only worktrees git itself lists are removed now, and the related endpoints check that the path is inside a project.

  • Two stream-handling fixes. The Anthropic path treated a truncated stream as a complete reply; the two OpenAI paths waited indefinitely when the upstream stopped responding.

  • Three context-compaction parameters are passed through again on desktop.

修正

  • サブエージェントが結果を提出したあとに空回りしなくなりました。 サブエージェントが yield で結果を提出したあとも、セッションループはモデルへのリクエストをもう一度送っていました。このリクエストには受け取り手がありません。答えは提出済みのオブジェクトそのものであり、モデルには言うことが残っていないため、返ってくる空の応答が上流の障害と判定されて再試行に入ります。「無制限に再試行」の設定では同じリクエストが数百回送られ、その間、完成済みの結果は呼び出し元に届きませんでした。提出をもって実行を終了するようにし、空の応答には独自の再試行上限(4 回)を設けました。接続断とサーバーエラーの再試行方針は変わりません。

  • サブエージェントの再接続中、何を待っているかが画面に表示されます。 これまで再接続は画面上に何の手がかりもなく、回り続けるタスクだけが唯一の兆候でした。パネルとステータス行に再試行の回数と理由が出るようになり、再試行はツール呼び出し回数に数えません。停止した場合も、そのサブエージェントがすでに出力した内容はパネルに残ります。

  • 実行中のトークン数と速度にサブエージェント分を含めるようにしました。 実行インジケーターはメインエージェント自身の消費しか数えていませんでした。サブエージェントを四つ動かすと表示値は実際より一桁小さく、メインエージェントの待機中は速度表示がほぼ止まった値のままでした。セッション一覧と使用量ページはすでに正しく集計しており、影響はありません。あわせて、重複していた三か所の「オーケストレーション合計」表示を削除しました。

  • 既定のテーマをシステム連動に変更しました。 設定が無い場合、メインプロセスはシステムの外観に合わせて起動画面を描画しますが、既定値はテーマを選んだことのない利用者をすべてダークとして扱っていました。ライト設定のシステムでは、この食い違いが起動時のちらつきとして現れます。設定でテーマを選んだことのある利用者に影響はありません。

  • 五つのツールが再び利用できます。 recall、rule、learn、lsp、web_search はデスクトップ版でモデルに提示されていませんでした。

  • 「コマンドのネットワークを禁止」スイッチが実際に効くようになりました。 設定はできるものの、コマンドを実行する層まで渡っていませんでした。

  • ワークツリーの削除で通常のディレクトリを消してしまうことがなくなりました。 渡されたパスが git のワークツリーでない場合、git worktree remove の失敗後のフォールバックがそのディレクトリを再帰的に削除していました。現在は git 自身が列挙したワークツリーだけを削除し、関連するエンドポイントでもパスがプロジェクト内にあるかを確認します。

  • ストリーム処理の修正を二件。 Anthropic 系統は途中で切れたストリームを完全な応答として扱っていました。OpenAI 系統の二つは、上流が応答を止めた場合に無限に待ち続けていました。

  • コンテキスト圧縮の三つのパラメータがデスクトップ版で再び渡されるようになりました。

수정

  • 서브 에이전트가 결과를 제출한 뒤 공회전하지 않습니다. 서브 에이전트가 yield로 결과를 제출한 뒤에도 세션 루프는 모델에 요청을 한 번 더 보냈습니다. 이 요청에는 받는 쪽이 없습니다. 답은 방금 제출한 객체 자체이므로 모델은 더 할 말이 없고, 돌아오는 빈 응답이 업스트림 장애로 분류되어 재시도에 들어갑니다. "무제한 재시도" 설정에서는 같은 요청이 수백 번 나가는 동안 이미 완성된 결과가 호출한 쪽에 전달되지 못했습니다. 이제 제출과 함께 실행이 끝나며, 빈 응답에는 별도의 재시도 상한(4회)을 두었습니다. 연결 끊김과 서버 오류의 재시도 정책은 그대로입니다.

  • 서브 에이전트가 재연결 중일 때 무엇을 기다리는지 화면에 표시됩니다. 그동안 재연결은 화면에 아무런 단서가 없었고, 계속 돌아가는 작업 표시만이 유일한 흔적이었습니다. 이제 패널과 상태 줄에 재시도 횟수와 실패 이유가 표시되며, 재시도는 도구 호출 횟수에 포함되지 않습니다. 중지한 경우에도 서브 에이전트가 이미 만들어 둔 내용은 패널에 남습니다.

  • 실행 중 토큰 집계와 속도에 서브 에이전트가 포함됩니다. 실행 표시기는 메인 에이전트 자신의 사용량만 집계했습니다. 서브 에이전트를 넷 띄우면 표시되는 값이 실제보다 한 자릿수 작았고, 메인 에이전트가 기다리는 동안 속도 표시는 거의 0에 머물렀습니다. 세션 목록과 사용량 페이지는 이미 올바르게 집계하고 있어 영향이 없습니다. 아울러 중복으로 표시되던 세 곳의 "오케스트레이션 합계"를 제거했습니다.

  • 기본 테마를 시스템 설정에 따르도록 변경했습니다. 설정이 없을 때 메인 프로세스는 시스템 외관에 맞춰 시작 화면을 그리지만, 기본값은 테마를 고른 적이 없는 사용자를 모두 다크로 취급했습니다. 라이트 시스템에서는 이 불일치가 시작 시 깜빡임으로 나타납니다. 설정에서 테마를 고른 적이 있는 사용자는 영향을 받지 않습니다.

  • 다섯 개 도구를 다시 사용할 수 있습니다. recall, rule, learn, lsp, web_search는 데스크톱에서 모델에 제공된 적이 없었습니다.

  • "명령의 네트워크 차단" 스위치가 실제로 동작합니다. 설정은 가능했지만 명령이 실행되는 계층까지 전달되지 않았습니다.

  • 워크트리 삭제가 일반 디렉터리를 지우지 않습니다. 전달된 경로가 git 워크트리가 아닐 때, git worktree remove 실패 후의 대체 처리가 그 디렉터리를 재귀적으로 삭제했습니다. 이제 git이 직접 나열한 워크트리만 삭제하며, 관련 엔드포인트에서도 경로가 프로젝트 안에 있는지 확인합니다.

  • 스트림 처리 수정 두 건. Anthropic 경로는 중간에 끊긴 스트림을 완전한 응답으로 취급했습니다. OpenAI 두 경로는 업스트림이 응답을 멈추면 무한히 기다렸습니다.

  • 컨텍스트 압축의 세 가지 매개변수가 데스크톱에서 다시 전달됩니다.

Corrections

  • Un sous-agent ne tourne plus à vide après avoir livré son résultat. Une fois yield appelé, la boucle de session envoyait encore une requête au modèle. Cette requête n'a pas de destinataire : la réponse est l'objet qui vient d'être livré, le modèle n'a donc plus rien à dire, et la réponse vide qui revenait était classée comme panne amont puis réessayée. Avec le réglage « réessayer indéfiniment », la même requête pouvait partir des centaines de fois sans que le résultat déjà produit n'atteigne jamais l'appelant. La livraison met désormais fin à l'exécution, et les réponses vides ont leur propre plafond de réessais (quatre). La politique de réessai pour les coupures de connexion et les erreurs serveur est inchangée.

  • Pendant la reconnexion d'un sous-agent, l'interface indique ce qui est attendu. La reconnexion n'apparaissait nulle part ; seul un indicateur de tâche qui continuait de tourner la trahissait. Le panneau et la ligne d'état affichent maintenant le nombre de tentatives et la raison de l'échec, et les réessais ne comptent pas comme des appels d'outil. À l'arrêt, ce que le sous-agent avait déjà produit reste affiché.

  • Le comptage des jetons et la vitesse en cours d'exécution incluent les sous-agents. L'indicateur ne comptait que la consommation de l'agent principal : avec quatre sous-agents lancés, la valeur affichée était inférieure d'un ordre de grandeur, et la vitesse restait proche de zéro pendant que l'agent principal attendait. La liste des sessions et la page d'utilisation comptaient déjà correctement et ne sont pas concernées. Trois affichages redondants du « total d'orchestration » ont été retirés.

  • Le thème par défaut suit désormais le système. Sans réglage enregistré, le processus principal dessine l'écran de démarrage d'après l'apparence du système, alors que la valeur par défaut considérait comme sombre tout utilisateur n'ayant jamais choisi de thème. Sur un système clair, cet écart se voyait comme un clignotement au démarrage. Les utilisateurs ayant choisi un thème ne sont pas concernés.

  • Cinq outils sont de nouveau disponibles. recall, rule, learn, lsp et web_search n'avaient jamais été proposés au modèle sur le bureau.

  • L'option « interdire le réseau aux commandes » prend maintenant effet. Le réglage était configurable mais n'était pas transmis à la couche qui exécute les commandes.

  • La suppression d'un worktree n'efface plus un répertoire ordinaire. Lorsque le chemin fourni n'était pas un worktree git, le repli après l'échec de `git worktree remov...

Read more

v0.9.10

Choose a tag to compare

@github-actions github-actions released this 11 Sep 23:58

新功能

  • 方向键往回翻自己说过的话。输入框里按 ↑ 翻出上一句,再按往更早翻,↓ 往回走;翻过最近那条,就回到原来那句还没打完的草稿——草稿必须回得来,否则「想看看上次是怎么说的」这个念头,代价是丢掉手里正写着的半句话。框里最上沿标一行「历史 1/4」,翻到哪儿一眼看得见。

    当初那条附了图或文件的,图和文件也跟着回来。翻回来的是整条消息,而不是那条消息里的一句话——只给字的话,一句「这张图里有什么」翻出来就成了没有指代对象的问题。

    方向键在这个输入框里本来就有三个主人(@ 的名单、/ 的命令单、排队消息的挪动),所以历史排在最后一个,而且只在光标已经贴着头或尾的时候才接管:消息有好几行时,↑ 的本分仍然是把光标挪到上一行。

修复

  • 一条读不出来的记录,不再让人失去整个窗口。上一版修同一句崩溃(Cannot read properties of undefined (reading 'role'))时只堵了写入口,渲染端一行没动,所以承诺只兑现了一半:坏记录少了几条来路,可一旦真的出现,界面照样整个白掉——有人在 Windows 上长时间跑任务时又撞到了同一句。这一版补上另一半:读不出来的那一条就地换成一条画得出来的,位置不动。位置必须保住,因为压缩标记、命令记录、抖动行全是指进这个数组的下标,抽掉一条它们就整体错位一格,画出一份对不上的转录比崩更难发现。读会话那条路上也装了同一道闸——那里一抛出来,会话会永远停在「正在加载对话…」,一句报错都不给。
  • 附件上那个取下的叉,改成鼠标移上去才出现,而且浮在缩略图的右上角上,不再常驻在图里面。它盖着的正是人想看的那张图;一排缩略图配一排叉,最显眼的东西成了「删掉我」,而这排东西本来是拿来看的。

新功能

  • 方向鍵往回翻自己說過的話。輸入框裡按 ↑ 翻出上一句,再按往更早翻,↓ 往回走;翻過最近那條,就回到原來那句還沒打完的草稿——草稿必須回得來,否則「想看看上次是怎麼說的」這個念頭,代價是丟掉手裡正寫著的半句話。框裡最上沿標一行「歷史 1/4」,翻到哪兒一眼看得見。

    當初那條附了圖或檔案的,圖和檔案也跟著回來。翻回來的是整條訊息,而不是那條訊息裡的一句話——只給字的話,一句「這張圖裡有什麼」翻出來就成了沒有指涉對象的問題。

    方向鍵在這個輸入框裡本來就有三個主人(@ 的名單、/ 的命令單、排隊訊息的挪動),所以歷史排在最後一個,而且只在游標已經貼著頭或尾的時候才接管:訊息有好幾行時,↑ 的本分仍然是把游標挪到上一行。

修復

  • 一條讀不出來的記錄,不再讓人失去整個視窗。上一版修同一句崩潰(Cannot read properties of undefined (reading 'role'))時只堵了寫入口,繪製端一行沒動,所以承諾只兌現了一半:壞記錄少了幾條來路,可一旦真的出現,介面照樣整個白掉——有人在 Windows 上長時間跑任務時又撞到了同一句。這一版補上另一半:讀不出來的那一條就地換成一條畫得出來的,位置不動。位置必須保住,因為壓縮標記、命令記錄、抖動行全是指進這個陣列的索引,抽掉一條它們就整體錯位一格,畫出一份對不上的逐字稿比崩更難發現。讀工作階段那條路上也裝了同一道閘——那裡一拋出來,工作階段會永遠停在「正在載入對話…」,一句錯誤都不給。
  • 附件上那個取下的叉,改成滑鼠移上去才出現,而且浮在縮圖的右上角上,不再常駐在圖裡面。它蓋著的正是人想看的那張圖;一排縮圖配一排叉,最顯眼的東西成了「刪掉我」,而這排東西本來是拿來看的。

New

  • The arrow keys go back through what you have said. Press ↑ in the composer for your previous message, again for the one before that, ↓ to come back; past the most recent one you land on the half-written draft you started with. The draft has to come back — otherwise the thought "let me see how I put it last time" costs you the sentence you are in the middle of writing. A line along the top inside the field reads "History 1/4", so where you are is never a guess.

    If that message had an image or a file attached, those come back with it. What you get back is the whole message rather than one sentence out of it: with only the words, "what is in this picture" returns as a question with nothing to point at.

    The arrow keys already had three owners here — the @ list, the / command list, and reordering queued messages — so history goes last, and only takes over once the caret is already at the very start or the very end. In a message several lines long, ↑ still does its usual job of moving the caret up a line.

Fixes

  • One unreadable record no longer costs you the whole window. The previous fix for this crash (Cannot read properties of undefined (reading 'role')) only closed the ways in; nothing changed on the rendering side, so the promise was half kept. Fewer bad records got written, but one that did still took the interface down — someone running a long task on Windows hit the same error again. This version adds the other half: a record that cannot be read is replaced in place by one that can be drawn, keeping its position. The position has to hold, because compaction marks, command runs and hiccup rows are all indices into that array; drop one and every one of them shifts by a place, and a transcript that quietly disagrees with itself is harder to notice than a crash. The same gate now sits on the read path, where a throw used to leave the session stuck on "loading conversation…" forever, saying nothing at all.
  • The remove button on an attachment now appears when you hover it, and sits on the thumbnail's top corner instead of inside the picture. It used to be pinned there permanently, covering the very image you were looking at; a row of thumbnails came with a row of crosses, which made "delete me" the most prominent thing about a strip you are meant to be looking at.

新機能

  • 方向キーで自分が書いた文をさかのぼれるようになりました。 入力欄で ↑ を押すと一つ前の文が、もう一度押すとさらに前の文が戻ってきます。↓ は逆向きで、いちばん新しいものを通り越すと、書きかけだった下書きに戻ります。下書きが戻ってくることは必須です——そうでないと「前はどう書いたっけ」と思っただけで、いま書いている途中の一文を失うことになります。入力欄の内側いちばん上に「履歴 1/4」と出るので、どこまで戻ったかは見ればわかります。

    その文に画像やファイルが付いていた場合、それらも一緒に戻ります。戻ってくるのはメッセージ全体であって、その中の一文ではありません——文字だけでは、「この画像には何が写っていますか」が指す先のない問いになってしまいます。

    この入力欄では方向キーにすでに三つの持ち主がいます(@ の一覧、/ のコマンド一覧、順番待ちメッセージの入れ替え)。ですから履歴はいちばん後ろに並び、しかもカーソルが先頭か末尾に着いているときだけ引き受けます。数行あるメッセージでは、↑ は今までどおりカーソルを一行上へ動かします。

修正

  • 読み取れない記録が一つあっても、ウィンドウ全体を失うことはなくなりました。 同じクラッシュ(Cannot read properties of undefined (reading 'role'))を前回直したときは書き込み口を塞いだだけで、描画側には一行も手を入れていませんでした。約束は半分しか果たされておらず、壊れた記録の入口は減ったものの、いざ現れれば画面はやはり真っ白になります——Windows で長時間タスクを回していた方が、また同じ文言に行き当たりました。今回もう半分を補いました。読めない記録は、位置をそのままに、描ける一行へその場で置き換えます。位置を守る必要があるのは、圧縮の目印・コマンドの記録・回線の乱れの行が、すべてこの配列への添字だからです。一つ抜けばすべてが一つずつずれ、静かに食い違った記録はクラッシュより気づきにくくなります。同じ関門は読み込み側にも置きました。そちらで例外が出ると、その会話は**「会話を読み込んでいます…」のまま永久に止まり**、何も言ってくれませんでした。
  • 添付ファイルの取り消しボタンは、カーソルを重ねたときだけ現れ、サムネイルの右上の角に載るようになりました。 以前は画像の中に出しっぱなしで、まさに見たいその絵を覆っていました。サムネイルが並べば×も並び、本来は眺めるためのその一列で、いちばん目立つものが「消す」になっていました。

새 기능

  • 방향키로 자기가 썼던 말을 거슬러 올라갑니다. 입력창에서 ↑를 누르면 바로 앞 메시지가, 한 번 더 누르면 그 앞의 것이 돌아옵니다. ↓는 반대 방향이고, 가장 최근 것을 지나치면 쓰다 만 초안으로 돌아옵니다. 초안은 반드시 돌아와야 합니다 — 그러지 않으면 "지난번엔 어떻게 썼더라" 하는 생각의 대가가 지금 쓰던 문장을 잃는 일이 됩니다. 입력창 안쪽 맨 위에 "기록 1/4"이라고 적혀 있어, 어디까지 왔는지는 보면 압니다.

    그 메시지에 이미지나 파일이 붙어 있었다면 그것들도 함께 돌아옵니다. 돌아오는 건 메시지 전체이지 그 안의 한 문장이 아닙니다 — 글자만 돌아오면 "이 사진에 뭐가 있나요"는 가리킬 대상이 없는 질문이 되어 버립니다.

    이 입력창에서 방향키에는 이미 주인이 셋 있습니다(@ 목록, / 명령 목록, 대기 중인 메시지 순서 바꾸기). 그래서 기록은 맨 뒤에 서고, 커서가 이미 맨 앞이나 맨 끝에 닿아 있을 때만 넘겨받습니다. 여러 줄짜리 메시지에서 ↑는 여전히 커서를 한 줄 위로 옮기는 제 일을 합니다.

수정

  • 읽을 수 없는 기록 하나 때문에 창 전체를 잃지 않습니다. 같은 오류(Cannot read properties of undefined (reading 'role'))를 지난번에 고칠 때는 쓰는 입구만 막았고 그리는 쪽은 한 줄도 손대지 않았습니다. 약속은 절반만 지켜진 셈이라, 망가진 기록이 들어올 길은 줄었지만 일단 생기면 화면은 여전히 통째로 하얘졌습니다 — Windows에서 오래 도는 작업을 하던 분이 같은 문장을 또 만났습니다. 이번에 나머지 절반을 채웠습니다. 읽히지 않는 기록은 자리를 그대로 둔 채 그릴 수 있는 한 줄로 그 자리에서 바뀝니다. 자리를 지켜야 하는 이유는 압축 표시, 명령 기록, 끊김 줄이 전부 그 배열의 색인이기 때문입니다. 하나를 빼면 전부 한 칸씩 밀리고, 조용히 어긋난 기록은 아예 죽는 것보다 알아채기 어렵습니다. 같은 관문을 읽는 쪽에도 두었습니다. 거기서 예외가 나면 그 대화는 "대화를 불러오는 중…"에서 영영 멈춰 아무 말도 하지 않았습니다.
  • 첨부 파일의 제거 버튼이 마우스를 올렸을 때만 나타나고, 썸네일 오른쪽 위 모서리에 걸치도록 바뀌었습니다. 전에는 그림 안에 늘 박혀 있어서 정작 보려던 그 그림을 가렸습니다. 썸네일이 늘어서면 ×도 함께 늘어서서, 보라고 만든 줄에서 가장 눈에 띄는 것이 "지우기"가 되어 있었습니다.

Nouveautés

  • Les flèches remontent ce que vous avez déjà écrit. Dans la zone de saisie, ↑ rappelle votre message précédent, encore une fois celui d'avant, ↓ revient en arrière ; passé le plus récent, vous retombez sur le brouillon inachevé d'où vous étiez parti. Ce brouillon doit revenir : sans cela, l'envie de « voir comment je l'avais formulé » coûte la phrase que vous êtes en train d'écrire. Une ligne en haut, à l'intérieur du champ, indique « Historique 1/4 » : où vous en êtes ne se devine pas.

    Si ce message avait une image ou un fichier joint, ils reviennent avec lui. Ce qui revient est le message entier, pas une phrase qui en est extraite : avec les seuls mots, « qu'y a-t-il sur cette image » redevient une question qui ne désigne rien.

    Les flèches avaient déjà trois propriétaires ici — la liste du @, celle des commandes /, et le réordonnancement des messages en file. L'historique passe donc en dernier, et ne prend la main que lorsque le curseur est déjà tout au début ou tout à la fin. Dans un message de plusieurs lignes, ↑ fait toujours son travail habituel : monter d'une ligne.

Corrections

  • Un enregistrement illisible ne coûte plus la fenêtre entière. Le correctif précédent pour ce plantage (Cannot read properties of undefined (reading 'role')) n'avait fermé que les entrées ; rien n'avait bougé du côté de l'affichage, la promesse n'était donc tenue qu'à moitié. Les mauvais enregistrements se faisaient plus rares, mais l'un d'eux suffisait encore à faire tomber l'interface — quelqu'un l'a de nouveau rencontré sous Windows, sur une tâche longue. Cette version ajoute l'autre moitié : un enregistrement qu'on ne peut pas lire est remplacé sur place par un qui s'affiche, en gardant sa position. Elle doit tenir, car les marques de compression, les commandes et les lignes de coupure sont toutes des indices dans ce tableau ; en retirer un les décale tous d'un rang, et une transcription qui se contredit en silence se repère moins bien qu'un plantage. La même barrière est maintenant posée du côté de la lecture, où une exception laissait la conversation bloquée sur « chargement de la conversation… » indéfiniment, sans rien dire.
  • Le bouton de retrait d'une pièce jointe n'apparaît plus qu'au survol, et se pose sur le coin supérieur droit de la vignette au lieu d'être dedans. Il y était affiché en permanence, masquant précisément l'image que vous regardiez ; une rangée de vignettes s'accompagnait d'une rangée de croix, et « supprimer » devenait l'élément le plus visible d'une bande faite pour être regardée.

Новое

  • Стрелки листают то, что вы уже писали. В поле ввода ↑ возвращает предыдущее сообщение, ещё раз — то, что было до него, ↓ идёт обратно; за самым свежим вас ждёт недописанный черновик, с которого всё начиналось. Черновик обязан возвращаться: иначе мысль «а как я это сформулировал в прошлый раз» стоит вам той фразы, которую вы пишете сейчас. Строка вверху, внутри поля, показывает «История 1/4» — где вы находитесь, не приходится угадывать.

    Если к тому сообщению были приложены картинка или файл, они возвращаются вместе с ним. Возвращается сообщение целиком, а не одна фраза из него: с одними словами «что на этой картинке» снова становится вопросом, которому не на что указать.

    У стрелок в этом поле уже есть три хозяина — список по @, список команд по /, и перестановка сообщений в очереди. Поэтому история идёт последней и берёт управление только тогда, когда курсор уже стоит в самом начале или в самом конце. В сообщении из нескольких строк ↑ по-прежнему делае...

Read more