Skip to main content
Blinks

Blinks — Руководство пользователя

Использование Blinks

Blinks — это строительный блок OrbitingFox. Blink может быть заметкой, задачей, событием, расходом, напоминанием, или любой другой информацией, которую вы хотите зафиксировать.

Создание Blink

  1. Откройте Blinks из меню приложения.
  2. Нажмите Новый Blink и выберите тип: Заметка, Задача, Событие, Расход, Напоминание и т.д.
  3. Заполните заголовок, текст, дату выполнения (для задач/событий) и любые теги.
  4. Сохраните. Ваш Blink сразу доступен во всех приложениях, которые поддерживают связывание Blinks.

Типы Blink

  • Заметка — свободный текст.
  • Задача — действие с датой выполнения и отметкой о завершении.
  • Событие — отображается в вашем Календаре.
  • Расход — финансовая запись; пополняет панель управления Финансами.
  • Напоминание — вызывает уведомление в заданное время.

Связывание Blinks

Blinks можно связывать с Целями, Проектами, Бизнесами и FoxCom Spaces для более богатого контекста. Они также отображаются на канбан-доске, если они добавлены к ней.

OrbitPilot

Все ваши Blinks доступны OrbitPilot. Задавайте вопросы, такие как: "Какие задачи необходимо выполнить на этой неделе?" или "Подведи итоги моих расходов за май."

Изображения в описании Blink (2026-08)

Вы можете вставлять или перетаскивать изображение прямо в описание Blink — удобно для заметок, где изображение уместно между строками. Эти изображения теперь полностью изменяемы и легко находить:

  • Изменение размера и перемещение: наведите курсор на изображение, чтобы его выбрать, затем перетащите любой из угловых ручек для изменения размера, или используйте маленькую панель инструментов для установки размера (М / С / Б / Полный) и выравнивания влево, по центру или вправо. Работает через сенсорный экран на телефонах и планшетах.
  • Отображается в разделе Изображения: изображения, находящиеся внутри описания, также появляются в списке Изображений Blink (и "Существующие изображения" на странице редактирования), помеченные значком 📍 "В заметке", чтобы вы могли отличить их от отдельно прикрепленных изображений. У них нет кнопки удаления там специально — чтобы удалить одно, удалите его внутри текста описания, чтобы вы никогда случайно не потеряли изображение, на которое ссылается ваша заметка.
  • Открыть в полном размере: нажмите на любое изображение (прикрепленное или в заметке), чтобы открыть его в большом размере в новой вкладке.

Для разработчиков: модуль изменения размера/выравнивания находится в templates/blink/_blink_form.html (оверлей прикреплен к обертке редактора, вне contenteditable Quill, чтобы Quill его не удалял; ширина сохраняется как атрибут width изображения, выравнивание как text-align на блоке — оба проходят render_description санитайзер). Фильтр blink_extras.description_images собирает изображения в заметках (по соответствующей политике: data:image/*, кроме svg, http(s), относительно сайта). Изображения в формате Data-URI открываются через URL-объект блоба (templates/blink/_note_image_open_js.html), поскольку браузеры блокируют навигацию верхнего уровня к data: URL.

Форматирование ваших заметок и упорядоченная страница редактирования (2026-08)

Нажмите Formatting выше описания Blink, чтобы открыть панель стилей. Она теперь включает в себя цвет текста и выделение вместе с жирным, курсивом, заголовками, списками, цитатами, кодом и выравниванием.

  • Как стилизовать: выберите слова, которые вы хотите, и нажмите стиль. Если вы просто поместите курсор внутри слова и нажмете стиль, он применяется к всему слову — выбор не требуется. Под панелью инструментов есть подсказка.
  • Цвета и выделение сохраняются с заметкой и отображаются на странице Blink.

Страница Редактировать теперь организована в ясно обозначенные карточки — Детали Blink, Изображения, Файлы и Голосовые заметки — так что каждый раздел легко распознать. Кнопки Обновить · Просмотр · Отмена расположены вместе под формой и повторяются в самом низу страницы, чтобы вы могли сохранить, не прокручивая обратно вверх.

Для разработчиков: использование цвета/выделения Quill inline-style атрибуты (attributors/style/color + /background); санитайзер описания (blink_extras.render_description) валидирует стили по одному — выравнивание текста + цвет/фоновый цвет с шестнадцатеричными/rgb()/rgba()/именованными значениями сохраняется, все остальное (позиция, url(), …) сбрасывается. Стилизация текста с курсором — помощник захвата на mousedown в _blink_form.html. Нижняя панель действий отправляет форму через form="blink-edit-form".

Сохранение одного Blink в приватном доступе от OrbitPilot (2026-08-23)

Некоторые вещи, которые вы фиксируете, не должны знать другие — даже ваш ассистент. Каждый Blink теперь имеет компактный переключатель (нажмите маленькую "i", рядом с ним, чтобы прочитать, что он делает), "Секретный Blink для OrbitPilot", внизу основного вкладки на форме Blink. Он по умолчанию выключен, что означает, что OrbitPilot может его читать — вам не нужно ничего включать.

Включите его, и этот Blink станет приватным для вас: OrbitPilot больше не сможет его читать, и он также потеряет доступ к голосовым записям, изображениям и файлам этого Blink. Все, что он уже запомнил по этому Blink, будет незамедлительно удалено — вам не нужно ничего восстанавливать или ждать. В вашей библиотеке Blink будет иметь небольшой Приватный значок, чтобы вы могли сразу увидеть, какие из этих заметок AI не может видеть.

Вы можете выключить его в любое время; Blink вернется к знаниям AI в следующий раз, когда ваша память будет обновлена. Это находится рядом с двумя другими общими управлением, которые у вас уже есть: выбор, какие части вашего рабочего пространства OrbitPilot может читать, и папка файлов OrbitPilot для документов.

Терминология: Blink — это основное слово (2026-08-23)

Владелец решил, что Blink — это основное слово для пользователя. Wink остается в силе нарочно как наследственное имя: оно упоминается в истории именовании на нашей философии, FAQ и терминологии, и ретеривер OrbitPilot все еще соответствует ему, чтобы старые формулировки и старые ссылки оставались рабочими. Когда вы пишете новый текст, пишите Blink.

Переход происходит поэтапно — смотрите docs/brand/BLINK-RENAME-PLAN.md и docs/BACKLOG.md §1c — и охраняется manage.py terminology_audit плюс adminapp/test_terminology.py, ратчет, который может упасть, но никогда не поднимется.

⚠️ Кодовые идентификаторы, которые читают blink, заморожены и не ожидают работы. max_winks — это живой Feature.key за пределами плановых лимитов — его переименование приведет к сбою открытого гейта. То же самое касается имен файлов шаблонов, имен URL, ключей сессии, CSS классов и плейсхолдеров в стиле {wink_title} внутри сохраненных в админке сообщений. Полный список заморозки находится в плане и в terminology.ALLOWED_IDENTIFIERS.

"Поймать другой" после сохранения Blink (2026-08-28)

Баннер Blink сохранен! Куда дальше? на панели управления Blink предлагает четыре варианта. Три из них ведут вас в другое место. Четвертый, Поймать другой, раньше указывал на панель управления — страницу, на которой вы уже находились — так что она перезагрузила всё, чтобы отобразить форму Blink, которая уже была открыта и уже пустая, в нескольких сотнях пикселей ниже на том же экране.

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

Заметка для разработчиков: управление #blinkCatchAnother в templates/dashboard.html, якорь к #blink-create-panel с поведением открытия и фокуса в собственном сценарии этого шаблона. Сам баннер управляется blink_just_saved флагом контекста (blink/views.py, установленным из ?blink_saved=1). Закреплен blink/test_post_save_where_next.py, в том числе что другие tри кнопки все еще покидают страницу.

Длинные описания больше не прыгают вверх (2026-08-28)

Если Детали Blink длились долго, нажатие на них снаружи и обратно бросало страницу на самый вверх, далеко выше того места, где вы вводили текст. На телефоне описание из около шестидесяти абзацев помещало примерно две тысячи пикселей между курсором и тем местом, где вы приземлитесь.

Теперь у рамки Детали есть максимальная высота и прокрутка внутри, так, как это обычно делают редакторы. Ваше место сохраняется, страница остается разумной длины, и ничто не скрыто — длинный текст просто прокручивается внутри рамки, вместо того чтобы растягивать страницу.

Ничего не изменилось в написании или сохранении; только форма рамки.

Заметки для разработчиков — почему это произошло (BL-66)

Причина не была в ошибке в нашем коде. Редактор описания был одной неограниченной редактируемой областью: с длинным описанием он измерял 4933px в высоту при ширине 375px. Фокусировка элемента заставляет браузер прокручивать этот элемент в поле зрения, и элемент оказался на тысячи пикселей выше курсора — так что браузер поступал правильно, а редактор просто был не той формы.

Измерено до и после, с описанием на 60 абзацев:

  • до — 375px: scrollY 2379 → 134 при повторном фокусе; 1280px: 1032 → 0; страница 6729px длинная
  • после — 375px: 213 → 213 → 213; 1280px: 311 → 308; страница 2056px длинная

Изменение находится в templates/blink/_blink_form.html: #desc-editor получает max-height + overflow-y: auto (420px, 260px под каноническим порогом 575.98px), и его размеры перемещаются из встраиваемого style= в таблицу стилей шаблона — встроенный стиль не может быть переопределен медиа-запросом телефона, поэтому двое должны были двигаться вместе. Белая заливка стала токеном --of-surface-strong для нового .of-desc-editor-wrap класса, с областью видимости, чтобы ничего другое не наследовало его.

Тесты. blink/test_description_editor_scroll.py фиксирует предел, предел, специфичный для телефона, канонический порог и отсутствие встроенных стилей. blink/test_description_editor_visual.py запускает настоящий Chromium и измеряет позицию прокрутки при 375 и 1280; он пропускает, где Playwright отсутствует, так что CI не затрагивается, и ни одна зависимость не была добавлена к нему.

Ловушка, которая записывает файлы для следующего теста на живом сервере: LiveServerTestCase — это TransactionTestCase и обрезает таблицы после каждого теста, забирая с собой строки планов, созданные миграцией. Без плана приложение перенаправляет на /billing/plans/, так что первый тест проходит, и каждый последующий загружает 500 страницу. Исправление заключается в том, чтобы заново сеять то, что нужно странице в setUp (через apps.get_model, никогда не импортируя межприложенчески — счётчик связи также учитывает это в тестах).

This guide was translated automatically. Read the English original.

🪐 OrbitPilot