Repository navigation
Releases: pavel-logachev/dsh-mobile
Release list
DSH Mobile 0.8.2
Приложение DSH Mobile 0.8.2 для Android и плагин-компаньон 0.7.2 для DeepSeek Harness. Выпуск исправляет три проблемы, которые я сам заметил в работе: уведомления приходили поздно или вразнобой, нажатие на уведомление могло открыть другой чат, а после отправки с телефона висел статус «отправка не подтверждена» вместо начала работы агента.
Версия 0.8.1 не публиковалась, поэтому ее изменения тоже вошли в этот выпуск. Обновите приложение и плагин вместе: исправление задержек уведомлений и ускоренный прием задач с телефона работают только с плагином 0.7.2.
Неофициальный проект. Не связан с DeepSeek и не одобрен ею.
Что нового
Уведомления приходили поздно или вразнобой
Главная причина была в плагине. На каждое событие он запрашивал у DSH полный список сессий и разбирал события строго по одному. На моем компьютере 3032 сессии DSH, один такой список занимал около 5–6,6 с, и события копились в очереди. В копии базы данных плагина пять сохранившихся событий ушли на телефон с опозданием 54,3–74,8 минуты — то есть уведомления отставали примерно на час.
- Плагин 0.7.2 больше не запрашивает полный список на каждое событие: он точечно читает нужную сессию. События разных чатов идут в отдельных очередях и не ждут друг друга.
- Приложение переподключается при смене сети, в том числе при изменениях VPN. Если соединение молчит 25 секунд, приложение переподключается, а пауза между попытками — не больше 5 секунд.
- Если событие пришло повторно, приложение обновляет то же уведомление без второго звука.
- Уведомление появляется, не дожидаясь полного обновления чата.
Нажатие на уведомление могло открыть другой чат
- Каждое уведомление ведет к своему чату и срабатывает один раз: прежняя цель не открывается снова, когда Android пересоздает экран, а новое уведомление, нажатое при открытом приложении, открывает свой чат. Сводное уведомление группы открывает список чатов.
- Переход по уведомлению начинается сразу, до загрузки свежей истории. Если компьютер временно недоступен, приложение повторяет переход.
После отправки висело «отправка не подтверждена»
- Обычная отправка показывает нейтральный статус «Отправляем…». На моем телефоне он появлялся через 0,3–0,7 с после нажатия. Статус отправки, которую компьютер еще не подтвердил, приложение проверяет само, а предупреждение остается только тогда, когда доставка действительно неизвестна.
- Новый чат: первая задача после создания чата отправляется один раз. Повторное подтверждение от компьютера не запускает вторую отправку.
- Отправка, которую компьютер уже принял, не отменяется, если сразу уйти на главный экран. После отправки чат сразу показывает, что задача в работе.
- Каждая отправка идет по отдельному новому соединению, и сетевой клиент не может незаметно отправить запрос повторно.
- Плагин 0.7.2 больше не запрашивает трижды полный список сессий перед каждой задачей с телефона. На моем компьютере это добавляло около 15 с до начала работы агента. В синтетических тестах плагин теперь принимает задачу за 28–48 мс; реальное время от нажатия до начала работы агента с плагином 0.7.2 я не замерял.
- Если точно известно, что сеть отказала еще до ответа компьютера, приложение само повторяет отправку: до трех попыток с тем же идентификатором запроса, с паузами 0,5 и 1,5 с. В остальных случаях — когда компьютер уже начал отвечать, доставка неопределенна, сертификат не прошел проверку или Android перезапустил приложение — повтора нет. Если отправить не удалось, черновик остается, а приложение показывает «Не отправлено. Черновик сохранён — повторите отправку.» с кнопкой «Повторить». На реальном телефоне этот путь пока не проверен, см. «Ограничения».
- Чтобы замечать смену сети, приложению нужно обычное разрешение ACCESS_NETWORK_STATE, которое Android выдает при установке.
Также вошло из неопубликованной 0.8.1
Фото и вложения
- Фотографии с поворотом или отражением, записанным в EXIF, отображаются правильно.
- Снимки с камеры из сохраненного черновика или из отправки с неопределенной доставкой больше не удаляются только потому, что прошло 24 часа. Копии, полученные через «Поделиться», по-прежнему истекают.
- Загрузки вложений идут через одну очередь, показывают ожидание и учитывают ограничение частоты запросов на компьютере. Повторяется загрузка файла, а не задача.
- Если доступ к камере запрещен, приложение предлагает перейти в настройки. У фотографий читаемые имена. Вложения видны в отправляемых сообщениях, а их имена сохраняются после восстановления.
Чат
- Текст сообщения с вложением отображается так же, как остальные сообщения. Таблицы Markdown правильно учитывают экранированный
|и|внутри кода. - Полноэкранный просмотр изображения открывается поверх чата; между изображениями можно переходить, в том числе с помощью специальных возможностей.
- Индикатор обновления жестом вниз виден до конца обновления. На продолженные вопросы агента можно ответить. Отметка рекомендуемого варианта не сливается с его подписью.
- Статус чата больше не обрезается раньше названия проекта и переносится при крупном шрифте. У плашки новых сообщений отдельная полоса. Исправлена прокрутка к концу чата после открытия вопроса или изменения размера экрана.
- «Назад» закрывает поиск в списке чатов.
- Обновлены индикация ожидания и работы, анимации, карточки вложений и вопросов. При выключенных системных анимациях движение отключается. Обновлены формулировки интерфейса на русском и английском.
Уведомления и список чатов
- Сводное уведомление больше не выглядит как отдельный чат. При обновлении звуковой и беззвучный каналы сохраняют выбор, сделанный в системе.
- Пустые сессии, созданные на компьютере, скрыты из списка, а новый пустой чат, созданный с телефона, остается. Список показывает, что агент ждет ответа, а чат без названия получает переводимое название вместо «Untitled session».
- Плагин не теряет учет уже загруженных вложений при горячей перезагрузке и обновлении.
Файлы
| Файл | Что это | SHA-256 |
|---|---|---|
| dsh-mobile-0.8.2.apk | Подписанное приложение 0.8.2 (versionCode 15), Android 8.0+ | 60242f75aee1b164f4c78152aef49483b74747ecfa851e08b5a83717d79c4d85 |
| dsh-mobile-0.8.2.apk.sha256 | Контрольная сумма APK | содержит хеш APK из строки выше |
| dsh-mobile-host-0.7.2.zip | Плагин-компаньон 0.7.2 для DeepSeek Harness с установщиком | 644209b543789a44875d9eedfe52e8614a7264f4d7d4ab08ef8936e586495ffb |
| dsh-mobile-host-0.7.2.zip.sha256 | Контрольная сумма архива плагина | содержит хеш архива из строки выше |
Отпечаток сертификата подписи APK (SHA-256), тот же, что у прежних релизов: F9080C63B49A0BDE6B74AA2ADF7E9531D6C4F305978A24D3F5D271A39F1B7B95.
Сверьте хеши скачанных файлов с .sha256. Если они не совпали, не устанавливайте.
Обновление
С опубликованной 0.8.0 и плагина 0.7.0
Версии 0.8.1 и 0.7.1 не публиковались, поэтому обновляйтесь сразу до приложения 0.8.2 и плагина 0.7.2. При этом плагин получает изменения 0.7.1: он добавляет в свою базу данных новую таблицу (схема 3 → 4), прежние данные не меняет. Порядок обновления и отката описан в инструкции.
Плагин нужно обновить до 0.7.2 вместе с приложением
Исправление задержек уведомлений и ускоренный прием задач с телефона работают только с плагином 0.7.2. Другие сочетания приложения 0.8.2 со старыми плагинами не тестировались.
Плагин обновляется установщиком из нового архива с ключами -Upgrade -Activate. Установщик заменяет блок плагина в профиле DSH заглушкой, ждет, пока прежний плагин освободит порт, и только после этого подключает новую версию, а DSH подхватывает ее на лету. Агенты продолжают работать, телефон ненадолго теряет связь.
Если в DSH не включена горячая перезагрузка и прежний плагин не освободил порт, установщик останавливается, не подключив новую версию, и оставляет в профиле заглушку. Тогда нужен перезапуск DSH, но сам по себе он обновление не завершает: после остановки прежнего плагина подключение новой версии нужно довести до конца по инструкции. Перезапуск завершает идущие ходы агентов, поэтому делайте его, когда агенты ничего не выполняют.
APK ставится поверх прежнего, привязка сохраняется
APK 0.8.2 подписан тем же ключом, что и все прежние релизы, и устанавливается поверх без удаления приложения. На моем OnePlus с Android 16 установка 0.8.2 поверх 0.8.1 сохранила привязку. Раньше, 23 октября 2026 года, на OnePlus проверена установка 0.8.1 поверх 0.8.0: данные приложения и привязка сохранились. Установка 0.8.2 напрямую поверх 0.8.0 отдельно не проверялась.
Проверки
Автотесты
- Android-приложение: 357 из 357 модульных тестов, lint без ошибок.
- Плагин 0.7.2: 282 из 282 тестов. Установщик: 28 из 28 синтетических сценариев.
Независимая проверка
- Независимая проверка кода плагина 0.7.2 нашла 3 блокирующие ошибки. Их исправили до выпуска.
Сборка
- Подпись APK (схемы v2/v3) и выравнивание проверены. APK, на котором шли проверки на телефоне, побайтно совпадает с файлом в этом релизе — у них одинаковый SHA-256.
На моем телефоне (OnePlus, Android 16), проверки провел агент
- Статус после нажатия кнопки отправки появляется через 0,3–0,7 с.
- Отправка и сразу переход на главный экран: дважды, и каждый раз задача доставлена ровно один раз.
- Отправка в новый и в существующий чат.
- Отправка после простоя дольше 110 с.
- Установка поверх 0.8.1 сохранила привязку.
Это несколько прогонов, а не один прогон с плагином 0.7.2: в последнем из них компьютер еще работал с плагином 0.7.1. Поэтому время от нажатия до начала работы агента с плагином 0.7.2 эти проверки не показывают...
DSH Mobile 0.8.0 — вложения, ответы на вопросы агента и «Направить»
С телефона теперь можно отправлять агенту фото и файлы, отвечать на его вопросы и направлять его прямо во время работы, не останавливая ход. Чат можно переименовать и сменить в нем модель, изображения открываются прямо в переписке, а длинные чаты больше не открываются пустыми.
Новые возможности требуют плагина-компаньона 0.7.0 — он приложен к релизу. Приложение показывает каждую новую функцию, только если подключенный плагин сообщает о ее поддержке, поэтому с плагином 0.6.0 оно продолжает работать — без новых функций.
Что нового
- «Направить» — в дополнение к очереди. Сообщение, отправленное во время работы агента, по умолчанию встает в очередь и доходит до агента в следующем ходе. «Направить» доставляет его на следующем шаге агента, не останавливая текущий ход: удерживайте кнопку отправки или нажмите ↳ у сообщения в очереди. Сообщения можно и убрать из очереди.
- Вложения с телефона. Снимок с камеры, фотографии через системный выбор фото (Photo Picker), файлы через системный выбор файлов. Загрузка начинается сразу после выбора. В одном сообщении — до 20 вложений общим объемом до 200 МиБ, каждый файл — до 20 МиБ. Изображения PNG, JPEG, WebP и GIF агент получает как изображения, а файлы передаются в собственное хранилище вложений DSH в момент отправки. Неотправленные загрузки истекают на компьютере через 10 минут и в DSH не попадают.
- Изображения в чате. Картинки из сообщений видны прямо в переписке. По нажатию открывается полноэкранный просмотр: изображение можно увеличить, отправить через «Поделиться» или сохранить. Файлы из сообщений можно скачать — до 20 МиБ.
- Ответы на вопросы агента. Когда агент задает вопрос (
ask_user_questionв DSH), на телефоне можно выбрать один или несколько вариантов, написать свой ответ или пропустить вопрос. Вариант, который рекомендует агент, отмечен, но не выбран заранее. Уведомление о вопросе сразу открывает этот вопрос. Подтверждения действий агента остаются на компьютере: DSH не дает плагинам доступа к ним. - Переименование чата — в меню ⋯.
- Смена модели чата — тоже в меню ⋯. Новая модель применяется со следующего запроса к модели, возможно уже на следующем шаге идущего хода. Запрос, который уже выполняется, не переключается.
- Уведомления. Звук теперь сопровождает каждое новое событие, а не только первое. Несколько оповещений группируются. Постоянное уведомление о связи — беззвучное. На экране блокировки уведомление о вопросе показывает только название чата. Предупреждение «Часть событий могла быть пропущена» раньше оставалось навсегда после любого разрыва, а теперь исчезает само, когда компьютер подтверждает полное восстановление без пропусков.
- Длинные чаты больше не открываются пустыми. Если в длинном сжатом активном чате старую историю не удавалось восстановить в пределах ограничений, плагин возвращал пустой чат. Теперь видны последние сообщения и пометка о том, что история обрезана.
- Быстрее загрузка. Плагин сжимает JSON-ответы размером от 1 КиБ (gzip) и держит соединения открытыми 60 секунд, поэтому списки и чаты по Wi‑Fi и Tailscale загружаются быстрее.
- Доставка команд — по тем же правилам. У каждой команды есть идентификатор запроса и сохраненная квитанция на компьютере. Повтор возвращает ту же квитанцию, а неопределенная доставка показывается в приложении и не повторяется вслепую.
Файлы
| Файл | Что это |
|---|---|
| dsh-mobile-0.8.0.apk | Подписанное приложение для Android 8+, versionCode 13 |
| dsh-mobile-0.8.0.apk.sha256 | Контрольная сумма APK |
| dsh-mobile-host-0.7.0.zip | Плагин-компаньон 0.7.0 для DSH и установщик |
| dsh-mobile-host-0.7.0.zip.sha256 | Контрольная сумма архива плагина |
SHA-256 файлов — сверьте перед установкой:
cde73f1de83018b10dc81c7b6ef7c19e51d5487e439f8d3569ebb45fb16349d3 dsh-mobile-0.8.0.apk
9784459e5fc4c8ad561d4a1cafa1f7c755e10750f850ca4cfa628e088b5c6a62 dsh-mobile-host-0.7.0.zip
APK подписан тем же ключом, что и все прежние релизы. SHA-256 сертификата:
F9080C63B49A0BDE6B74AA2ADF7E9531D6C4F305978A24D3F5D271A39F1B7B95
Обновление
Телефон. Установите APK поверх 0.7.1, без удаления приложения. Ключ подписи прежний, поэтому чаты, настройки и привязка сохраняются.
Компьютер. Обновите плагин до 0.7.0 установщиком install-host.ps1 из архива с ключами -Upgrade -Activate, как описано в инструкции установки и обновления. Установщик заменяет блок плагина в профиле DSH, а DSH подхватывает новую версию на лету: агенты продолжают работать, телефон ненадолго теряет связь. Если новый плагин не начал принимать подключения — например, в DSH не включена горячая перезагрузка, — DSH нужно перезапустить. Перезапуск завершает идущие ходы агентов, поэтому делайте его, когда агенты ничего не выполняют.
Пока плагин не обновлен, приложение 0.8.0 работает с плагином 0.6.0, но без новых функций.
Проверки
- Android: 280 модульных тестов, Android lint без ошибок.
- Инструментальные тесты: 45 из 45 на эмуляторе Android 11 и 45 из 45 на эмуляторе Android 16.
- Плагин 0.7.0: 241 тест — 237 проходят, 4 пропущены. Это необязательные интеграционные тесты: они запускаются, только если указать установленный модуль DSH и OpenSSL.
- Канареечный тест плагина на изолированной установленной копии DSH пройден.
- Release APK подписан, подпись и выравнивание проверены.
- На OnePlus 15 владельца (Android 16): APK 0.8.0 установлен поверх 0.7.1 — версия 0.8.0, чаты и привязка сохранились.
- Плагин 0.7.0 работает в рабочем DSH владельца с 20 октября 2026 года. Его включил автоматический холодный перезапуск с проверками состояния и откатом. После перезапуска плагин сообщает обо всех новых функциях: «Направить», очередь, переименование, модели, вопросы, пропуск вопроса, вложения, скачивание файлов, уведомления.
- Владелец пользуется 0.8.0 на своем телефоне со своим рабочим DSH, и приложение отлично работает.
Ограничения
- DSH Mobile — неофициальный проект, а не продукт DSH.
- Push через Google (FCM) нет. Уведомления в фоне работают через необязательное постоянное соединение с компьютером, пока в шторке видно уведомление о связи; Android может остановить это соединение. После перезагрузки телефона или принудительной остановки откройте приложение снова.
- Подтвердить действие агента с телефона нельзя — только на компьютере.
- Новые функции работают только с плагином 0.7.0.
- Одна привязка — один компьютер. Полной истории переписки без связи с компьютером нет.
- Фильтрация по проектам — не песочница: агент с телефона может то же, что и с компьютера.
DSH Mobile 0.7.1
Язык интерфейса теперь можно выбрать в самом приложении. Это небольшой релиз только для Android: плагин-компаньон остался версии 0.6.0 — к релизу приложен тот же файл, что и в 0.7.0.
Что нового
- Выбор языка интерфейса. В настройках появился пункт «Язык»: «Как в системе» (по умолчанию), «Русский» или «English». Русский и английский интерфейс были и раньше, но приложение всегда следовало языку телефона. Язык меняется сразу, без потери привязки, черновиков и сохраненных чатов, и сохраняется после перезапуска.
- Связь с системной настройкой. На Android 13+ приложение появляется в системной настройке языка приложений, и выбор там и в приложении синхронизируется в обе стороны. На Android 8–12 выбор хранит само приложение. Если в системе для приложения закреплен язык, которого в нем нет, пункт «Как в системе» снимает это закрепление.
- Уведомления на выбранном языке. Переводятся и уведомления, уже показанные в шторке, — тихо, без звука, — и названия каналов уведомлений в системных настройках. Настройки каналов, например звук и важность, при переименовании сохраняются.
- Состояние связи для программ чтения с экрана. Состояние подключения теперь озвучивается на языке интерфейса, а не английскими словами вроде ONLINE/OFFLINE.
- Новый вид выбора темы и языка. Вместо переключателей из трех сегментов — вертикальные списки с галочкой у выбранного варианта. Раньше на узких экранах в английском интерфейсе подписи сегментов обрезались.
- Статус связи в шторке не сбрасывается. Раньше, в том числе в 0.7.0, при каждом открытии приложения уведомление о состоянии связи — например, «Связь прервана. Переподключение…» — сменялось на «Проверяется полнота уведомлений…» до следующего обновления статуса. Теперь в нем остается последний известный статус.
Файлы
| Файл | Что это |
|---|---|
| dsh-mobile-0.7.1.apk | Подписанное приложение для Android 8+, versionCode 12 |
| dsh-mobile-0.7.1.apk.sha256 | Контрольная сумма APK |
| dsh-mobile-host-0.6.0.zip | Плагин-компаньон для DSH и установщик — без изменений, тот же файл, что в 0.7.0 |
| dsh-mobile-host-0.6.0.zip.sha256 | Контрольная сумма архива плагина |
SHA-256 файлов — сверьте перед установкой:
2358f3194a1b3ad68178c5cf358472c4322040be74444dd9d68ef35b2012103e dsh-mobile-0.7.1.apk
4a9c59d9d1d6b9a425b4d0039562a71343ecd29bc2b58d1d523f69835f2eb411 dsh-mobile-host-0.6.0.zip
APK подписан прежним ключом. SHA-256 сертификата:
F9080C63B49A0BDE6B74AA2ADF7E9531D6C4F305978A24D3F5D271A39F1B7B95
Обновление
Установите APK поверх прежней версии, без удаления приложения. Ключ подписи прежний, поэтому обновление устанавливается поверх более ранних версий. Обновление с 0.7.0 с сохранением привязки проверено на телефоне владельца.
Если плагин 0.6.0 из релиза 0.7.0 уже установлен, обновлять его не нужно. При переходе с более ранних версий обновите плагин установщиком из архива, как описано в инструкции установки и обновления. Совместимость, проверки плагина 0.6.0 и замеры скорости — в описании релиза 0.7.0.
Проверки
- Android: 247 JVM-тестов, Android lint без ошибок.
- На эмуляторе Android 16 (API 36): 12 инструментальных тестов переключения языка и уведомлений. На эмуляторе Android 11 (API 30) — те же 12 тестов, применимы 11.
- На OnePlus 15 владельца (Android 16) с его DSH: APK 0.7.1 установлен поверх 0.7.0 без удаления. Привязка сохранилась, список чатов с компьютера загрузился сразу, статус «ПК онлайн».
- Там же: переключение English → «Русский» → «Как в системе» сразу меняет весь интерфейс — список чатов, чат и настройки. Системная настройка языка приложений синхронно показывала English, затем системный язык. Названия каналов уведомлений в настройках Android переключились на английский — «Agent answers · With sound», «Agent answers · Silent». Сбоев не было.
- На эмуляторе Android 11 (API 30): подписанный APK 0.7.1 установлен поверх опубликованного 0.7.0 без удаления. Система сохранила данные приложения и время первой установки, приложение запустилось без ошибок.
- Независимая проверка кода в четыре раунда. Найдены и исправлены дефекты:
- «Как в системе» не снимал закрепленный в системе неподдерживаемый язык;
- уведомления, уже показанные в шторке, не переводились заново, если фоновая служба была остановлена;
- для закрепленного неподдерживаемого языка запасной язык выбирался несогласованно;
- при большом количестве уведомлений в шторке переводились только первые пять: Android отбрасывает слишком частые обновления. Теперь уведомления обновляются через очередь, реже 4 раз в секунду, с итоговой проверкой и повтором;
- гонка, из-за которой приложение могло упасть, если фоновую службу останавливали сразу после запуска. Ее внесла очередь обновлений, исправлено до выпуска;
- гонка, из-за которой «Ответ готов» из очереди мог появиться уже после того, как пользователь открыл этот чат. Теперь это проверяется непосредственно перед показом;
- уведомление о состоянии связи, оставшееся от 0.7.0, не переводилось.
Ограничения
- Уведомления используют постоянное соединение с компьютером: после перезагрузки телефона или принудительной остановки откройте приложение снова.
- Ответить на вопрос агента или подтвердить действие с телефона пока нельзя. Нет вложений.
- Фильтрация по проектам — не песочница: агент с телефона может то же, что и с компьютера.
DSH Mobile 0.7.0
Список и недавние чаты загружаются из зашифрованного кеша на телефоне. В релизе — раздельные режимы уведомлений, индикатор работающих субагентов и плагин 0.6.0 с более быстрым открытием чатов.
Что нового
- Сохраненная переписка открывается сразу. При запуске список чатов показывается из кеша, не дожидаясь ответа компьютера. Сохраненный чат открывается сразу, свежие сообщения подгружаются следом. Пока показаны только кешированные данные, отправка и «Стоп» недоступны.
- Зашифрованный кеш на телефоне. Список и недавние чаты защищены AES-GCM; ключ хранится в Android Keystore, данные исключены из резервного копирования. Срок хранения — 24 часа, до 8 чатов и не более 10 MiB на диске. Кеш стирается при «Забыть ПК», повторной привязке и отзыве доступа. Приложение заранее подгружает до 5 чатов в начале списка — недавних или работающих: только запросами чтения, не более 2 одновременно, с учетом
Retry-Afterот компьютера. - Раздельные режимы уведомлений. Для «Ответ готов» и «Агент ждет вашего решения» отдельно выбираются «Со звуком» — всплывающий баннер со звуком, «Без звука» или «Выключены». У каждого режима свой канал Android, из настроек приложения можно перейти к его системным настройкам. При обновлении прежний системный выбор сохраняется: выключенный канал остается выключенным, беззвучный — беззвучным. Для открытого на экране чата уведомлений нет, обновление того же уведомления не повторяет звук. На экране блокировки содержимое чата скрыто.
- Видно работу субагентов. В списке и в чате появляется «субагенты работают · N», даже если основной агент уже закончил свой ход. Нужен плагин 0.6.0; со старым плагином индикатор не показывается. Кнопка «Стоп» по-прежнему останавливает только ход основного агента.
- Новая иконка Agent. Темный визор с двумя глазами на зеленом фоне. Иконка адаптивная, с одноцветным вариантом для тематических иконок Android 13+.
- Исправления интерфейса. Единые размеры иконок, статус «Нет связи» без дублирования, окно «Новый чат» без обрезания при крупном шрифте. Строка времени и копирования под сообщением опущена ниже, переходы в системные настройки оформлены одинаково, «Стоп» и «Отправить» одного размера. Подсказка в поле ввода стала короче: «Встанет в очередь».
- Плагин 0.6.0 открывает нужный чат напрямую. Раньше при каждом открытии он дважды читал заголовки всех сессий. Теперь параллельный запрос истории и поток обновлений используют одно открытие. Проверка доступа остается на каждом запросе: архивные, скрытые и недоступные по правам сессии, в том числе поврежденные, возвращают «не найдено». Необязательное поле
runningSubagentsдобавлено без смены версии протокола.
Замеры
На OnePlus 15 владельца с Android 16 получены такие результаты. Для приложения 0.7.0 использован плагин 0.6.0.
| Сценарий | Приложение 0.6.1 | Приложение 0.7.0 |
|---|---|---|
| Холодный запуск до появления списка чатов | 6,4 с | 2,2 с |
| Первое открытие старого чата, который раньше не открывали | 8,5 с | ≤2,2 с |
Повторное открытие чата в 0.7.0 — ≤2,1 с. Метод замера не различает интервалы короче примерно 2 с. Статус «ПК онлайн» по-прежнему появляется примерно через 6,4 с после запуска — здесь ускорения нет.
Отдельный замер плагина выполнен на изолированной копии DSH 0.2.0-rc.2 с 1 494 сессиями и копиями трех реальных чатов. Раньше холодное открытие на компьютере занимало 2,6–2,9 с. С плагином 0.6.0:
| Чат | История | Поток обновлений |
|---|---|---|
| Маленький | 0,09 с | 0,08 с |
| Средний | 0,16 с | 0,15 с |
| Большой | 0,37 с | 0,30 с |
Это один прогон только на компьютере, без relay и телефона. Загрузка списка чатов на компьютере не ускорилась: около 1,4 с.
Файлы
| Файл | Что это |
|---|---|
| dsh-mobile-0.7.0.apk | Подписанное приложение для Android 8+, versionCode 11 |
| dsh-mobile-0.7.0.apk.sha256 | Контрольная сумма APK |
| dsh-mobile-host-0.6.0.zip | Плагин-компаньон для DSH и установщик |
| dsh-mobile-host-0.6.0.zip.sha256 | Контрольная сумма архива плагина |
SHA-256 файлов — сверьте перед установкой:
e74022d864fc14d82655ad63c2299ac7d13f1b091fb5bcc7065e884b5b5af186 dsh-mobile-0.7.0.apk
4a9c59d9d1d6b9a425b4d0039562a71343ecd29bc2b58d1d523f69835f2eb411 dsh-mobile-host-0.6.0.zip
APK подписан прежним ключом. SHA-256 сертификата:
F9080C63B49A0BDE6B74AA2ADF7E9531D6C4F305978A24D3F5D271A39F1B7B95
Обновление
Установите APK поверх прежней версии, без удаления приложения. Обновление с 0.6.1 с сохранением привязки проверено на телефоне владельца.
Плагин обновите установщиком из архива, как описано в инструкции установки и обновления. Переход 0.5.1 → 0.6.0 проверен на тестовой копии: конфигурация, TLS-ключ и остальное содержимое профиля сохранились. DSH владельца переведен на плагин 0.6.0 через запланированный перезапуск.
Приложение 0.7.0 работает с плагином 0.5.1 — проверено на телефоне. В такой паре нет индикатора субагентов, а первое открытие чата медленнее. Приложение 0.6.1 и плагин 0.6.0 совместимы по протоколу, но эта комбинация отдельно не запускалась.
Проверки
- Android: 244 JVM-теста.
- На эмуляторе: 5 инструментальных тестов каналов уведомлений и зашифрованного хранилища, 6 Compose-тестов интерфейса и привязка.
- Плагин: 185 тестов; в стандартном прогоне 181 проходит, 4 пропускаются без модуля DSH.
- Relay: 18 тестов. Установщик: 28 сценариев; отдельно 9 проверок обновления плагина 0.5.1 → 0.6.0.
- На изолированном настоящем DSH
0.2.0-rc.2: создание чата, переподключение, «Стоп», субагенты и поврежденные сессии. - Плагин прошел независимую проверку кода после двух раундов исправлений.
- На OnePlus 15 владельца: обновление APK поверх 0.6.1 с сохранением привязки, работа приложения 0.7.0 с плагином 0.5.1 и замеры с плагином 0.6.0.
Ограничения
- Уведомления используют постоянное соединение с компьютером: после перезагрузки телефона или принудительной остановки откройте приложение снова.
- Уведомления проверены автоматическими тестами на эмуляторе. Всплывающий баннер со звуком на реальном телефоне пока не подтвержден визуально.
- Ответить на вопрос агента или подтвердить действие с телефона пока нельзя. Нет вложений.
- Фильтрация по проектам — не песочница: агент с телефона может то же, что и с компьютера.
DSH Mobile 0.6.1
Новый интерфейс, задача прямо из списка чатов и более надежная загрузка переписки.
Что нового
- Новый интерфейс. Спокойное монохромное оформление: текст на белом или почти черном фоне и одна заметная кнопка главного действия. Цвет остался только у статусов: зеленая точка — компьютер на связи, желтая — нет связи или агент ждет, красная — ошибка. Шрифт Geist вместо Onest, новая иконка приложения, включая одноцветную для тематических иконок Android.
- Тема как в системе. По умолчанию приложение следует теме телефона. Светлую или темную можно выбрать в настройках.
- Задача сразу из списка чатов. Внизу списка появилось поле «Новая задача для компьютера…». Выберите проект и пресет, напишите задачу и нажмите «Отправить» — приложение создаст чат и отправит текст один раз. Если отправить не удалось, текст останется в черновике нового чата и сам повторно не уйдет.
- Список чатов и чат. Проекты переключаются вкладками, у каждого чата видны индикатор работы и время. В чате поиск и обновление перенесены в меню «…», копирование и время стоят под каждым сообщением.
- Переписка открывается надежнее. Последняя загруженная переписка остается на экране, пока приложение сверяется с компьютером; отправка и «Стоп» в это время недоступны. Слишком большая или поврежденная история больше не выглядит как потеря связи: показывается «Чат недоступен», остальные чаты работают.
- Плагин 0.5.1. Открывает длинные чаты, в которых DSH заменил ранние сообщения сводкой: раньше такой чат мог не открыться на телефоне. Восстановление ограничено по объему; сверх лимита показываются последние сообщения с пометкой.
Файлы
| Файл | Что это |
|---|---|
dsh-mobile-0.6.1.apk |
Android-приложение, подписано тем же ключом, что 0.4.0 и 0.5.0 (сертификат SHA-256 F9:08:0C:63:…:7B:95) |
dsh-mobile-host-0.5.1.zip |
Плагин-компаньон для DSH и установщик |
*.sha256 |
Контрольные суммы. Сверьте их перед установкой |
Обновление
Установите APK поверх 0.4.0 или 0.5.0, без удаления — привязка сохранится. Плагин обновите через install-host.ps1 из архива, как описано в docs/SETUP.md. Протокол между приложением и плагином не менялся, поэтому приложение 0.6.1 должно работать и с плагином 0.5.0; в такой паре оно отдельно не проверялось. Длинные чаты со сводкой надежно открываются только с плагином 0.5.1.
Проверки
- Android: 221 JVM-тест, lint без ошибок, 9 инструментальных тестов на эмуляторе.
- Плагин: 162 теста (четыре требуют установленного DSH и в обычном прогоне пропускаются), relay: 18 тестов, установщик: 28 сценариев на синтетическом профиле.
- На эмуляторе с синтетическим хостом без DSH: привязка, создание чата и отправка задачи, восстановление после перезапуска приложения, работа без связи и переподключение.
- Сценарии с изолированным настоящим DSH (очередь, «Стоп», уведомления) проверялись в 0.5.0 и для 0.6.1 не повторялись. Список поддерживаемых версий DSH не менялся:
0.2.0-rc.2и0.2.1-alpha.1.
Ограничения
- Уведомления держат постоянное соединение: после перезагрузки телефона или принудительной остановки откройте приложение. На реальном телефоне уведомления еще не проверялись, только на эмуляторе.
- Ответить на вопрос агента с телефона пока нельзя. Нет вложений.
- Фильтрация по проектам — не песочница: агент с телефона может то же, что и с компьютера.
DSH Mobile 0.5.0
Чистая переписка, сообщения во время работы агента и уведомления на телефон.
Что нового
- Чистая переписка. В чате только ваши сообщения и ответы агента. Служебные события DSH — результаты сабагентов, фоновые задачи, обновления контекста — свернуты в строку «Действия агента», полный текст открывается по нажатию.
- Можно писать, пока агент работает. Сообщение встает в очередь DSH и доходит до агента на следующем шаге. «Стоп» — отдельная кнопка с подтверждением, очередь при остановке сохраняется.
- Уведомления (включаются в настройках). «Ответ готов» и «Агент ждет вашего решения» с названием проекта и чата, без текста ответа; на экране блокировки — только «Ответ готов». Можно выключить для отдельных проектов и чатов. Работает через постоянное соединение с вашим компьютером, без сервисов Google.
- Полировка интерфейса. Поиск по переписке, меню сообщения по долгому нажатию, отклик вибрацией, черновик для каждого чата, шрифт Onest, сканер QR в альбомной ориентации, отпечаток сертификата удобнее сверять.
Файлы
| Файл | Что это |
|---|---|
dsh-mobile-0.5.0.apk |
Android-приложение, подписано тем же ключом, что 0.4.0 (сертификат SHA-256 F9:08:0C:63:…:7B:95) |
dsh-mobile-host-0.5.0.zip |
Плагин-компаньон для DSH и установщик |
*.sha256 |
Контрольные суммы. Сверьте их перед установкой |
Обновление
Установите APK поверх 0.4.0, без удаления — привязка сохранится. Плагин обновите через install-host.ps1 из архива, как описано в docs/SETUP.md. Новое приложение работает и со старым плагином 0.4.0, но без уведомлений и с упрощенным сворачиванием служебных событий.
Проверки
- Android: 190 JVM-тестов, lint без ошибок, 9 UI-тестов на эмуляторе.
- Плагин: 121 тест, включая журнал уведомлений, сверку после перезапуска и нагрузку на 600 неактивных чатов.
- На эмуляторе с изолированным DSH: очередь сообщений и «Стоп», доставка «Ответ готов» в фоне (около 1 с, в режиме Doze 0,4 с), переход по нажатию в нужный чат, приватность экрана блокировки, переподключение после перезапуска плагина без повторных уведомлений.
Ограничения
- Уведомления держат постоянное соединение: после перезагрузки телефона или принудительной остановки откройте приложение. Агрессивная экономия батареи у некоторых производителей может задерживать доставку. На реальном телефоне уведомления еще не проверялись, только на эмуляторе.
- «Ждет решения» на эмуляторе проверено на синтетических событиях; ответить на вопрос агента с телефона пока нельзя.
- Нет вложений. Фильтрация по проектам — не песочница: агент с телефона может то же, что и с компьютера.
DSH Mobile 0.4.0
Первый публичный выпуск, который можно поставить на свой компьютер с DeepSeek Harness, не собирая ничего из исходников.
Что нового
- Все проекты DSH на телефоне. Список проектов совпадает с боковой панелью DSH, новые проекты появляются автоматически.
- Новый интерфейс. Темная графитовая тема с лаймовым акцентом (есть светлая и системная), поиск, фильтр по проектам, группировка по датам, ответы агента в Markdown.
- Привязка по QR-коду. Компьютер показывает одноразовый QR, телефон сканирует его. Распознавание работает без сети и без сервисов Google, камера запрашивается только на время сканирования.
- Подключение по Wi‑Fi или Tailscale без своего сервера. Плагин сам выпускает сертификат для адреса компьютера, телефон проверяет его по отпечатку из приглашения.
- Установщик плагина
install-host.ps1: подготовка, подключение к DSH без перезапуска, обновление, откат и удаление. - Поддерживаемые версии DSH:
0.2.0-rc.2и0.2.1-alpha.1. - Исправлен транспорт. Длинные ответы через relay больше не обрываются ложным «нет связи».
Файлы
| Файл | Что это |
|---|---|
dsh-mobile-0.4.0.apk |
Android-приложение, подписано ключом проекта (сертификат SHA-256 F9:08:0C:63:…:7B:95) |
dsh-mobile-host-0.4.0.zip |
Плагин-компаньон для DSH и установщик |
*.sha256 |
Контрольные суммы. Сверьте их перед установкой |
Установка
Следуйте docs/SETUP.md. Инструкцию можно целиком отдать своему агенту DSH: он спросит разрешение перед каждым важным шагом.
Приложение ставится вне Google Play. Android попросит разрешить установку из выбранного источника, Play Защита может показать предупреждение. Если у вас стоит одна из прежних версий, подписанных этим же ключом, устанавливайте поверх нее, без удаления приложения.
Проверки
- Android: 142 JVM-теста, lint без ошибок. В APK только три разрешения: интернет, камера и внутреннее служебное.
- Плагин: 85 тестов. Изолированные прогоны на настоящем DSH обеих поддерживаемых версий.
- Установщик: 28 сценариев.
- CI на Linux и Windows зеленый.
- Пройден весь путь: QR через камеру, окно доверия, HTTPS, все проекты на главном экране, поворот экрана, отказ в доступе к камере.
Ограничения
Нет push-уведомлений, вложений и подтверждений действий агента. Фильтрация по проектам — не песочница: агент с телефона может то же, что и с компьютера.