chore(i18n): refresh uk translations
This commit is contained in:
parent
c2ce8ee725
commit
1fc7e46d1c
@ -1,79 +1,88 @@
|
||||
---
|
||||
read_when:
|
||||
- Налаштування UI mac menu або логіки стану
|
||||
summary: Логіка стану в рядку меню і що показується користувачам
|
||||
- Налаштування інтерфейсу меню Mac або логіки статусу
|
||||
summary: Логіка стану рядка меню та те, що показується користувачам
|
||||
title: Рядок меню
|
||||
x-i18n:
|
||||
generated_at: "2026-04-24T04:16:52Z"
|
||||
model: gpt-5.4
|
||||
generated_at: "2026-05-01T07:26:11Z"
|
||||
model: gpt-5.5
|
||||
provider: openai
|
||||
source_hash: 89b03f3b0f9e56057d4cbf10bd1252372c65a2b2ae5e0405a844e9a59b51405d
|
||||
source_hash: 340b86a2e222fb1fe7fda4f0f0434127af1393a64348ea033ea284ba52866beb
|
||||
source_path: platforms/mac/menu-bar.md
|
||||
workflow: 15
|
||||
workflow: 16
|
||||
---
|
||||
|
||||
# Логіка стану в рядку меню
|
||||
# Логіка стану рядка меню
|
||||
|
||||
## Що показується
|
||||
|
||||
- У значку рядка меню та в першому рядку стану меню ми показуємо поточний стан роботи агента.
|
||||
- Поки робота активна, стан справності приховується; він повертається, коли всі сесії простоюють.
|
||||
- Блок “Nodes” у меню перелічує лише **пристрої** (спарені вузли через `node.list`), а не записи client/presence.
|
||||
- Розділ “Usage” з’являється під Context, коли доступні snapshot використання провайдера.
|
||||
- Ми показуємо поточний стан роботи агента в піктограмі рядка меню та в першому рядку стану меню.
|
||||
- Стан справності приховується, поки робота активна; він повертається, коли всі сеанси неактивні.
|
||||
- Кореневе підменю «Контекст» містить останні сеанси замість розгортання їх безпосередньо в кореневому меню.
|
||||
- Блок «Вузли» в кореневому меню перелічує лише **пристрої** (спарені вузли через `node.list`), а не записи клієнтів/присутності.
|
||||
- Кореневий розділ «Використання» з’являється під Контекстом, коли доступні знімки використання провайдера, а за наявності після нього йдуть відомості про вартість використання.
|
||||
|
||||
## Модель стану
|
||||
|
||||
- Сесії: події надходять із `runId` (для окремого запуску) плюс `sessionKey` у payload. “Main” сесія — це ключ `main`; якщо його немає, ми використовуємо найнещодавніше оновлену сесію.
|
||||
- Пріоритет: main завжди перемагає. Якщо main активна, її стан показується негайно. Якщо main простоює, показується найнещодавніше активна не-main сесія. Ми не перемикаємося туди-сюди посеред активності; перемикання відбувається лише тоді, коли поточна сесія переходить у простій або main стає активною.
|
||||
- Види активності:
|
||||
- `job`: виконання високорівневої команди (`state: started|streaming|done|error`).
|
||||
- Сеанси: події надходять із `runId` (для кожного запуску) плюс `sessionKey` у корисному навантаженні. «Основний» сеанс має ключ `main`; якщо його немає, ми повертаємося до найнещодавніше оновленого сеансу.
|
||||
- Пріоритет: основний завжди має перевагу. Якщо основний активний, його стан показується негайно. Якщо основний неактивний, показується найнещодавніше активний неосновний сеанс. Ми не перемикаємося туди-сюди посеред активності; перемикаємося лише тоді, коли поточний сеанс стає неактивним або основний стає активним.
|
||||
- Типи активності:
|
||||
- `job`: виконання команди високого рівня (`state: started|streaming|done|error`).
|
||||
- `tool`: `phase: start|result` з `toolName` і `meta/args`.
|
||||
|
||||
## Перелік `IconState` (Swift)
|
||||
## Перелік IconState (Swift)
|
||||
|
||||
- `idle`
|
||||
- `workingMain(ActivityKind)`
|
||||
- `workingOther(ActivityKind)`
|
||||
- `overridden(ActivityKind)` (debug override)
|
||||
- `overridden(ActivityKind)` (перевизначення для налагодження)
|
||||
|
||||
### `ActivityKind` → гліф
|
||||
### ActivityKind → гліф
|
||||
|
||||
- `exec` → 💻
|
||||
- `read` → 📄
|
||||
- `write` → ✍️
|
||||
- `edit` → 📝
|
||||
- `attach` → 📎
|
||||
- типове значення → 🛠️
|
||||
- стандартно → 🛠️
|
||||
|
||||
### Візуальне зіставлення
|
||||
### Візуальне відображення
|
||||
|
||||
- `idle`: звичайний critter.
|
||||
- `workingMain`: badge з гліфом, повне тонування, анімація руху лапок “working”.
|
||||
- `workingOther`: badge з гліфом, приглушене тонування, без метушні.
|
||||
- `overridden`: використовує вибраний гліф/тонування незалежно від активності.
|
||||
- `idle`: звичайне звірятко.
|
||||
- `workingMain`: бейдж із гліфом, повний відтінок, анімація лап «працює».
|
||||
- `workingOther`: бейдж із гліфом, приглушений відтінок, без метушіння.
|
||||
- `overridden`: використовує вибраний гліф/відтінок незалежно від активності.
|
||||
|
||||
## Підменю Контекст
|
||||
|
||||
- Кореневе меню показує один рядок «Контекст» із кількістю/станом сеансів і відкриває підменю.
|
||||
- Заголовок підменю Контекст показує кількість активних сеансів за останні 24 години.
|
||||
- Кожен рядок сеансу зберігає свою смугу токенів, вік, попередній перегляд, thinking/verbose, а також дії скидання, ущільнення й видалення.
|
||||
- Повідомлення про завантаження, від’єднання та помилки завантаження сеансів з’являються всередині підменю Контекст.
|
||||
- Відомості про використання провайдера та вартість використання залишаються на кореневому рівні під Контекстом, щоб їх можна було швидко переглянути без відкриття підменю.
|
||||
|
||||
## Текст рядка стану (меню)
|
||||
|
||||
- Поки робота активна: `<Session role> · <activity label>`
|
||||
- Приклади: `Main · exec: pnpm test`, `Other · read: apps/macos/Sources/OpenClaw/AppState.swift`.
|
||||
- У стані простою: повертається до зведення справності.
|
||||
- Коли неактивно: повертається до зведення справності.
|
||||
|
||||
## Обробка подій
|
||||
## Приймання подій
|
||||
|
||||
- Джерело: події `agent` каналу control (`ControlChannel.handleAgentEvent`).
|
||||
- Джерело: події `agent` каналу керування (`ControlChannel.handleAgentEvent`).
|
||||
- Розібрані поля:
|
||||
- `stream: "job"` з `data.state` для запуску/зупинки.
|
||||
- `stream: "tool"` з `data.phase`, `name`, необов’язковими `meta`/`args`.
|
||||
- Мітки:
|
||||
- `exec`: перший рядок `args.command`.
|
||||
- `read`/`write`: скорочений шлях.
|
||||
- `edit`: шлях плюс виведений тип зміни з `meta`/кількості змін у diff.
|
||||
- `edit`: шлях плюс виведений тип зміни з `meta`/кількості відмінностей.
|
||||
- резервний варіант: назва інструмента.
|
||||
|
||||
## Debug override
|
||||
## Перевизначення для налагодження
|
||||
|
||||
- Settings ▸ Debug ▸ вибір “Icon override”:
|
||||
- `System (auto)` (типово)
|
||||
- Параметри ▸ Налагодження ▸ перемикач «Перевизначення піктограми»:
|
||||
- `System (auto)` (стандартно)
|
||||
- `Working: main` (для кожного типу інструмента)
|
||||
- `Working: other` (для кожного типу інструмента)
|
||||
- `Idle`
|
||||
@ -81,13 +90,13 @@ x-i18n:
|
||||
|
||||
## Контрольний список тестування
|
||||
|
||||
- Запустіть job main-сесії: перевірте, що значок перемикається одразу, а рядок стану показує мітку main.
|
||||
- Запустіть job не-main сесії, поки main простоює: значок/стан показує не-main; залишається стабільним, доки завдання не завершиться.
|
||||
- Запустіть main, поки active інша сесія: значок миттєво перемикається на main.
|
||||
- Швидкі сплески інструментів: переконайтеся, що badge не мерехтить (TTL grace на результати інструментів).
|
||||
- Рядок справності з’являється знову, коли всі сесії переходять у простій.
|
||||
- Запустіть завдання основного сеансу: перевірте, що піктограма перемикається негайно, а рядок стану показує мітку основного сеансу.
|
||||
- Запустіть завдання неосновного сеансу, поки основний неактивний: піктограма/стан показує неосновний; залишається стабільним до завершення.
|
||||
- Запустіть основний, поки інший активний: піктограма миттєво перемикається на основний.
|
||||
- Швидкі серії інструментів: переконайтеся, що бейдж не мерехтить (пільговий TTL для результатів інструментів).
|
||||
- Рядок справності знову з’являється, коли всі сеанси стають неактивними.
|
||||
|
||||
## Пов’язане
|
||||
|
||||
- [Застосунок macOS](/uk/platforms/macos)
|
||||
- [Значок рядка меню](/uk/platforms/mac/icon)
|
||||
- [застосунок macOS](/uk/platforms/macos)
|
||||
- [Піктограма рядка меню](/uk/platforms/mac/icon)
|
||||
|
||||
Loading…
Reference in New Issue
Block a user