Всі проєкти
PulseMark
Розширення VS Code для перегляду Markdown і озвученнярозширення_vscodeінструменти_розробникапродуктивністьaiінструменти_контентувласний_хостинг

PulseMark

Розширення VS Code, яке перетворює коректуру на роботу «на слух» — слухай свій Markdown із синхронним підсвічуванням слів, через ElevenLabs або повністю власний сервер Ollama та Orpheus, піднятий у домашній лабораторії.

Visit Project

#Проблема

Перевіряти власний текст — справа невдячна. Мозок читає те, що очікує побачити, і незграбні фрази тихо прослизають повз увагу. Класичний спосіб дати собі раду — почути текст уголос — у VS Code змушує вийти з редактора: скопіювати зміст у вкладку браузера з озвученням, втратити місце в документі, втратити контекст роботи.

PulseMark прибирає цей зайвий крок. Уся петля перевірки залишається там, де народжується текст — у редакторі.

#Що вміє

PulseMark відкриває окрему панель попереднього перегляду поруч із редактором для будь-якого файлу .md і читає його вголос через обраний голосовий рушій. Під час відтворення панель підсвічує те слово, яке зараз звучить, і автоматично прокручується, аби текст завжди залишався у полі зору — слухати, стежити очима й помічати помилки можна без втрати зосередження.

  • Підсвічування з точністю до окремого слова, коли голосовий рушій повертає мітки часу
  • Перегляд поряд із редактором, що оновлюється під час набору тексту
  • Пошук, пауза, гарячі клавіші — усе всередині VS Code
  • Налаштування через звичну панель параметрів VS Code, без окремого вікна

#Для кого

  • Технічні письменники та команди документації, які по кілька разів проходять одні й ті самі довгі тексти у форматі Markdown
  • Розробники, що підтримують файли README, документи RFC і списки змін, і хочуть пришвидшити коректуру
  • Команди, що дбають про доступність, для яких озвучення тексту — частина щоденної роботи, а не доданий згори елемент
  • Середовища з підвищеною конфіденційністю, де надсилати чернетки до зовнішніх служб неприпустимо

#Домашня лабораторія та локальні моделі

PulseMark із самого початку проєктувався під повністю власне розгортання голосового рушія, а не лише під хмарні служби. Тому будь-хто, у кого є домашня лабораторія, або будь-яка команда, що мусить тримати чернетки у власній інфраструктурі, може під'єднати розширення до локального сервера озвучення, сумісного з API OpenAI, і ніколи не надіслати назовні жодного байта.

У сховищі вже є готовий до запуску шаблон під найпоширенішу конфігурацію:

  • Ollama на хост-машині з моделлю legraphista/Orpheus для нейронного озвучення
  • Orpheus-FastAPI у контейнері Docker, який віддає http://127.0.0.1:8000/v1/audio/speech для розширення
  • Одна команда docker compose up --build, щоб підняти все разом

Коли локальна служба працює, PulseMark спілкується з нею так само, як з ElevenLabs — те ж відтворення, ті ж кнопки, той самий звичний хід. Перемикання постачальника з панелі інструментів не потребує перезапуску. ElevenLabs — для найвищої якості голосу, коли вартість і затримка прийнятні; домашня лабораторія — коли важливі приватність, робота без інтернету або необмежена кількість озвучень.

#Технічні рішення

Розширення побудоване на Webview API VS Code, а звук відтворюється через Web Audio API всередині панелі перегляду, а не через рідні бібліотеки Node. Це обходить кросплатформні труднощі зі встановленням, на яких зазвичай ламаються розширення, що працюють зі звуком, і тримає код достатньо невеликим, щоб його підтримувала одна людина.

Звук генерується частинами й зберігається на диску (~/.globalStorage/tts-cache/), тому повторне прослуховування того ж абзацу — миттєве і безкоштовне. Ключі API лежать у SecretStorage VS Code, ніколи у файлі settings.json, і процес випуску перевіряє це окремим контролем перед кожною публікацією.

Чітке відокремлення постачальників у tts.ts означає, що додати третій рушій (інший власний сервер, іншу хмарну службу) — це невелика, локальна правка, а не перебудова.

#Поширення

PulseMark публікується у Visual Studio Marketplace. Пакуванням опікується vsce, а випусками — процес у GitHub Actions, який автоматично підвищує номер версії, ставить мітку в сховищі та надсилає файл .vsix у магазин. Завдяки цьому випускати невеликі покращення можна без жодної церемонії.

#Результати

  • Швидша й зосередженіша робота з коректурою Markdown без виходу з редактора
  • Реальний вибір між якістю хмари і приватністю власного сервера — без різниці у повсякденній роботі
  • Невелике, легке для підтримки розширення, що здатне приймати нових голосових постачальників і нові функції редагування без переписування

Маєте ідею для розвитку?
Перетворімо її на рішення, яке працює.

Розкажіть нам, чого хочете досягти. Під час безкоштовної консультації ми впорядкуємо вашу ідею, визначимо пріоритети та знайдемо найкращий спосіб втілити її в життя.