Skip to content

harnsy v0.7.0

Choose a tag to compare

@butschster butschster released this 29 Sep 18:20
· 1 commit to main since this release

This release lets you dictate instead of typing, choose how each role starts, and pause a whole team
with one button. Upgrading is one step: the installer restarts harnsy for you. Home is calmer, agents
get their task updates in one message instead of a stream, and an agent stuck on a missing permission
is now easy to spot.

New

  • Pause a whole team. «Pause team» on Teams holds every message and notice to the team's agents
    and delivers them in order when you press «Resume». Choose «After the current step» (running turns
    finish, nobody is woken for new work) or «Now» (presses Esc in every busy agent; on resume they are
    told to continue). Your own messages from the dashboard still go through. A paused team is marked
    on Teams and Home.
  • Dictation in the dashboard. Every text field has a microphone in its corner (or press
    Ctrl+Shift+Space; Esc cancels). A live level meter and a timer show while you record; the text
    lands at the cursor and is never sent on its own. Add a speech-to-text provider under
    System › Connections › Dictation: OpenAI or a local Whisper server, each with its recognition
    language (Auto or a fixed one). Audio is kept in memory only. Browsers give the microphone only
    on https or on this machine (127.0.0.1, localhost).
  • Pick a role's harness, model and effort. A role's «Launch» picker goes harness → model →
    effort: Claude Code, Codex or OpenCode, then a model from that harness's list (or type any other),
    then the reasoning effort (OpenCode has none). Set it once in the company's role template, or give
    one project's role its own launch. New agents of the role start with it, including when you open
    a free seat from the dashboard. Opening or restoring an agent keeps the harness it already runs
    and takes the role's model and effort only when that harness is the role's. With nothing set, the
    role starts Claude Code with its own model.
  • See which model an agent runs. The model of a live Claude Code session shows next to the
    agent.
  • A handover size for each role. A role can hand over at its own context size, in thousands of
    tokens: set it in the «Handover threshold» field of the role. A node-wide size sits under
    System › Notifications to leads («Or at a fixed size»), next to the share of the window. The role's
    size comes first, then the node's, and in a window not larger than that, the share. Teams shows at
    what size each holder hands over and where that number comes from. The dashboard recommends
    300–400 thousand tokens and says why: every step re-reads the whole context, so large contexts
    cost more.
  • A new agent reads the history of its post. An agent that takes a role sees the role's last
    finished tasks, its earlier holders' conversations (short excerpts) and their handover notes, so
    it starts where the last one stopped.
  • An easier first run. harnsy install tells you where to start: the initiator, under «Next».
    Home without a team shows «Start your first team» with a link to it. «Open an agent here» in the
    initiator starts an agent in the project folder, and «Open an agent» on a role's free or invited
    seat opens an agent already seated on that role.
  • Upgrades restart harnsy. Run the installer again and it replaces the binary and restarts a
    node that runs the old build: at a terminal it asks first, without one it restarts and says so
    (on Windows, run it in a PowerShell window). Agents keep running during the few seconds the bus
    is down. INSTALL.md has a new «Upgrading» section: what is kept, how to check the version, how to
    go back to an older release.
  • #N in task texts is a link. A task number such as #388 in a task's text opens that task in the
    same card («←» goes back). Numbers in code spans, URLs and unknown tasks stay plain text.
  • The terminal icon opens the terminal ready for typing. On Agents, Teams, agent profiles and
    task cards, the icon opens the agent's terminal in input mode with the cursor in it.
  • Roster shows each role's documents. A count such as «3 docs (1 own)» tells you how many
    documents a role reads, its own plus the project's it inherits; a click opens the role with them.
  • «Show sub-items» on the task board. Every sub-item of your requests appears as its own card
    in the column of its state, with a dashed border and its parent's name. The choice is remembered.

Improved

  • Handover at 40% of the window by default (it was 70%). Agents are asked to hand over earlier,
    while their context is still cheap to carry. A value you set in the config or on the dashboard is
    kept.
  • Task updates arrive together. An idle agent gets its task updates as one message, «harnsy: N
    updates for you», about a minute after the last one and at most three minutes after the first,
    instead of being woken for each. A busy agent gets them when it next looks. Your own decisions on
    a card (accept, rework, comment) still go at once. A role change joins the next batch. The waits
    are set in the config (notices.batch_quiet, notices.batch_max; 0 sends at once, as before).
  • Fewer needless messages between agents. The agent guide now tells agents not to send
    acknowledgements, to send one report per finished step to whoever acts next, and to let a task's
    own updates serve as the report. It also says where each thing you tell the lead goes, and that an
    item with more than one criterion gets a checklist.
  • A team's lead can close any tab of its agents, including a previous lead's and a released
    agent's; rights over a tab follow the post, not the name. The terminal guide says so plainly.
  • Teams: projects on the left. The Teams page has the same project column as Home, Tasks and
    Changes; a click on a project opens its team. A project with several teams lists them under it.
  • The project column is always there, even with one project, and can still be folded.
  • Compact agent cards on Home. The terminal button sits next to the agent's name, the status is
    said once, and a question with its choices fits a phone screen.
  • «For information» is folded by default on Home, with its count in view. «Hide all N notices»
    hides every notice that can be hidden at once; questions and permission requests stay.
  • The Tasks color legend hides behind a «?» next to the column heading.
  • On Agents, short-lived service sessions (claude -p, SDK runs) are tucked behind «show service
    sessions (N)».

Fixed

  • An agent that stops for a missing permission is now visible. When Claude Code refuses an
    action for lack of a permission and the agent then waits for you, its row shows red «blocked: no
    permission» with what was refused, and in tmux its terminal tab turns red. Before, it looked like
    an ordinary wait.
  • Home no longer shows an old question. A new question from a Claude Code session replaces its
    older unanswered ones, so a card no longer shows a question from an earlier session with the same
    name.
  • Short-lived Claude Code sessions (claude -p, SDK runs, temporary folders) no longer flood Home
    with «disappeared mid-task».
  • tmux: opening an agent's live view no longer switches the windows in your own tmux terminal, and
    closing your terminal no longer ends the agents.
  • The Home counter in the menu now matches the number on the page; items waiting in other projects
    are named there with a link.
  • Windows: the installer finds a working Python 3 for the Claude Code briefing hook (and says what
    to install when there is none), and puts harnsy on your user PATH, so harnsy works in a new
    window. Uninstall takes that entry off again.

Upgrading

  • Run the install command below again. The database updates itself on first start. The installer
    restarts the running node on the new build (it asks first at a terminal).

Install

Limits of harnsy

  • 1 project, at most 10 agents running at once, one machine (no nodes or cluster mode).
  • The tray app is not in the macOS packs of this release; the dashboard and the command line work as
    everywhere.

Русский

В этом релизе можно диктовать вместо набора, выбирать, как запускается каждая роль, и ставить на
паузу всю команду одной кнопкой. Обновление — один шаг: установщик сам перезапускает harnsy.
«Главная» стала спокойнее, агенты получают обновления задач одним сообщением, а не потоком, а агента,
которому не хватило прав, теперь легко заметить.

Новое

  • Пауза всей команды. «Остановить команду» на странице «Команды» удерживает все сообщения и
    уведомления агентам команды и по кнопке «Продолжить» доставляет их по порядку. Можно выбрать «После
    текущего шага» (идущие ходы заканчиваются, новую работу никому не будят) или «Сейчас» (Esc в каждом
    занятом агенте; при возобновлении им говорят продолжить). Ваши собственные сообщения из дашборда
    проходят и на паузе. Команда на паузе отмечена в «Командах» и на «Главной».
  • Диктовка в дашборде. В углу каждого текстового поля — микрофон (или Ctrl+Shift+Space; Esc
    отменяет). Во время записи видны индикатор уровня и время; текст встаёт в место курсора и сам не
    отправляется. Сервис распознавания речи добавляется в Система › Подключения › Диктовка: OpenAI или
    локальный Whisper, у каждого свой язык распознавания (авто или заданный). Звук хранится только в
    памяти. Браузер даёт микрофон только по https или на этой машине (127.0.0.1, localhost).
  • Harness, модель и уровень рассуждения роли. Выбор «Запуск» у роли идёт по шагам: harness →
    модель → уровень. Claude Code, Codex или OpenCode, затем модель из списка этого harness (или
    впишите любую), затем уровень рассуждения (у OpenCode его нет). Задайте один раз в шаблоне роли
    компании или дайте роли в одном проекте свой запуск. Новые агенты роли стартуют с ним, в том числе
    когда вы открываете свободное место из дашборда. При открытии и восстановлении агент остаётся на
    своём harness, а модель и уровень роли берёт, только если это harness роли. Если ничего не задано,
    роль запускает Claude Code с его моделью по умолчанию.
  • Видно, на какой модели работает агент. Модель живой сессии Claude Code показана рядом с
    агентом.
  • Свой порог передачи дел у роли. Роль может передавать дела при своём размере контекста, в
    тысячах токенов: поле «Порог передачи дел» у роли. Общий размер для узла — в Система › Уведомления
    лидам («Или при объёме»), рядом с долей окна. Сначала действует порог роли, затем узла, а если окно
    не больше этого числа — доля. «Команды» показывают, при каком размере передаёт дела каждый
    держатель и откуда взято число. Дашборд советует 300–400 тысяч токенов и объясняет почему: каждый
    шаг перечитывает весь контекст, поэтому большой контекст дороже.
  • Новый агент читает историю должности. Агент, занявший роль, видит последние законченные
    задачи роли, переписку прежних держателей (короткими выдержками) и их записки о передаче дел — и
    начинает с того места, где остановился прошлый.
  • Первый запуск проще. harnsy install подсказывает, с чего начать: с инициатора, в блоке
    «Next». «Главная» без команды показывает «Соберите первую команду» со ссылкой на него. «Открыть
    агента здесь» в инициаторе запускает агента в папке проекта, а «Открыть агента» на свободном или
    приглашённом месте роли открывает агента, уже занявшего эту роль.
  • Обновление перезапускает harnsy. Запустите установщик ещё раз: он заменит программу и
    перезапустит узел, если тот работает на старой сборке. В терминале сначала спросит, без терминала
    перезапустит и скажет об этом (на Windows запускайте в окне PowerShell). Агенты продолжают работать
    те несколько секунд, пока шина недоступна. В INSTALL.md новый раздел «Upgrading»: что сохраняется,
    как проверить версию, как вернуться на прошлый релиз.
  • #N в текстах задач — ссылка. Номер задачи, например #388, в тексте задачи открывает эту задачу в
    той же карточке («←» возвращает назад). Номера в коде, в адресах и несуществующие задачи остаются
    обычным текстом.
  • Значок терминала открывает терминал сразу для ввода. В «Агентах», «Командах», профиле агента и
    карточках задач значок открывает терминал агента в режиме ввода, курсор уже в нём.
  • Штат показывает документы роли. Счётчик вида «3 документа (1 свой)» — сколько документов читает
    роль: свои плюс унаследованные от проекта; нажатие открывает роль с ними.
  • «Показывать подзадачи» на доске задач. Каждая подзадача ваших запросов — отдельная карточка в
    колонке своего состояния, с пунктирной рамкой и названием родителя. Выбор запоминается.

Улучшено

  • Передача дел по умолчанию при 40% окна (было 70%). Агентов просят передавать дела раньше, пока
    контекст ещё дёшево нести. Значение, заданное вами в конфиге или на дашборде, сохраняется.
  • Обновления задач приходят вместе. Свободный агент получает обновления своих задач одним
    сообщением «harnsy: N updates for you» — примерно через минуту после последнего и не позже чем
    через три минуты после первого, а не просыпается на каждое. Занятый агент получит их, когда
    освободится. Ваши решения по карточке (принять, доработка, комментарий) по-прежнему уходят сразу.
    Изменение роли приходит со следующей пачкой. Ожидание настраивается в конфиге
    (notices.batch_quiet, notices.batch_max; 0 — сразу, как раньше).
  • Меньше лишних сообщений между агентами. Руководство для агентов теперь велит не слать
    подтверждения «принял», отправлять один отчёт на законченный шаг тому, кто действует дальше, и
    считать отчётом сами обновления задачи. Ещё оно объясняет, куда идёт каждое ваше слово лиду, и что
    у задачи с несколькими критериями есть чек-лист.
  • Лид команды закрывает любую вкладку своих агентов, в том числе вкладки прежнего лида и
    освобождённого агента; права на вкладку определяются должностью, а не именем. Руководство по
    терминалу говорит об этом прямо.
  • «Команды»: проекты слева. На странице «Команды» та же колонка проектов, что на «Главной», в
    «Задачах» и «Изменениях»; нажатие на проект открывает его команду. Если команд у проекта несколько,
    они перечислены под ним.
  • Колонка проектов видна всегда, даже при одном проекте, и по-прежнему сворачивается.
  • Компактные карточки агентов на «Главной». Кнопка терминала — рядом с именем агента, статус
    сказан один раз, вопрос с вариантами помещается на экране телефона.
  • «Для информации» по умолчанию свёрнута, счётчик виден. «Скрыть все N уведомлений» разом
    скрывает всё, что можно скрыть; вопросы и запросы разрешений остаются.
  • Легенда цветов «Задач» спрятана за «?» рядом с заголовком колонки.
  • В «Агентах» короткоживущие служебные сессии (claude -p, запуски SDK) убраны под «показать
    служебные сессии (N)».

Исправлено

  • Агент, которому не хватило прав, теперь заметен. Если Claude Code отказал в действии из-за
    отсутствия права, а агент после этого ждёт вас, его строка красная — «blocked: no permission» — с
    тем, в чём отказано, а в tmux красной становится его вкладка терминала. Раньше это выглядело как
    обычное ожидание.
  • «Главная» больше не показывает старый вопрос. Новый вопрос сессии Claude Code заменяет её
    прежние без ответа, так что карточка не показывает вопрос из прежней сессии с тем же именем.
  • Короткоживущие сессии Claude Code (claude -p, запуски SDK, временные папки) больше не заваливают
    «Главную» строками «пропал посреди задачи».
  • tmux: просмотр терминала агента больше не переключает окна в вашем собственном терминале tmux, а
    закрытие вашего терминала больше не завершает агентов.
  • Счётчик «Главной» в меню теперь равен числу на странице; то, что ждёт в других проектах, названо
    там со ссылкой.
  • Windows: установщик находит рабочий Python 3 для хука брифинга Claude Code (а без него говорит,
    что установить) и добавляет harnsy в PATH пользователя, так что harnsy работает в новом окне.
    Удаление убирает эту запись.

Обновление

  • Запустите команду установки ниже ещё раз. База обновится сама при первом старте. Установщик
    перезапустит работающий узел на новой сборке (в терминале сначала спросит).

Установка

Ограничения harnsy

  • 1 проект, не больше 10 агентов одновременно, одна машина (без узлов и кластера).
  • Значка в трее в пакетах для macOS в этом релизе нет; дашборд и командная строка работают как везде.