Intake Skill

Локальная расшифровка голосовых заметок Apple на Mac: таблицы реплик, дневные отчеты и конспекты встреч для агента

  • 66 ★ репозитория
  • Последний коммит
  • MIT
Скилл

Широкий доступ

Почему такой уровень

  • Скилл читает личные голосовые заметки из контейнера Voice Memos, а текст расшифровок передает в Codex CLI
  • Ночной запуск по расписанию работает без участия человека и пишет файлы на диск
Все причины и проверки

grapeot/intake-skill

Установка

Работает в

Ручная установка

python -m intake_skill doctor

Проверка окружения после установки. Запуск за день: `python -m intake_skill run-day --date YYYYMMDD --asr-engine mlx --postprocess-engine codex`.

Доступ и проверки

Как мы проверяем

Широкий доступИнструмент может менять данные, выполнять команды или работать с секретами.

  • Скилл читает личные голосовые заметки из контейнера Voice Memos, а текст расшифровок передает в Codex CLI
  • Ночной запуск по расписанию работает без участия человека и пишет файлы на диск

Это чужой код. Посмотрите файлы в репозитории перед установкой.

Что делает

Intake Skill берет голосовые заметки Apple, уже синхронизированные на Mac, и складывает в папку `data/YYYYMMDD/` нормализованное аудио, таблицу расшифровки `transcript_YYYYMMDD.csv`, дневные отчеты в Markdown и HTML и конспекты встреч в `meetings/*.md`. Конвейер состоит из трех шагов: синхронизация локальных файлов из стандартного контейнера Voice Memos, расшифровка локальной моделью MLX Qwen3 ASR (`Qwen/Qwen3-ASR-1.7B`) и подготовка отчетов через настроенный Codex CLI. Команды: `python -m intake_skill doctor` проверяет окружение, `sync --date ... --dry-run` показывает, что будет скопировано, `run-day --date ... --asr-engine mlx --postprocess-engine codex` выполняет прогон, `dashboard` открывает панель состояния. Скилл рассчитан на установку самим агентом: в рабочей папке ему дают ссылку на репозиторий, и он клонирует его в `skills/intake-skill`, ставит зависимости и `mlx-qwen3-asr`, прогоняет синтетическое аудио через все шаги и показывает результаты. Ночной автоматический запуск по расписанию необязателен и включается только после подтверждения оператора.

Для кого. Пользователям Mac с голосовыми заметками, которым нужны ежедневные расшифровки и конспекты встреч без облачных сервисов распознавания.

Подходит, если

  • Заметки с диктофона Apple накапливаются, и из них нужен дневной отчет в Markdown и HTML
  • После встречи надо получить конспект из записи без ручной расшифровки
  • Распознавание должно идти локально, а текст отчета готовит Codex CLI
  • Нужен ночной запуск по расписанию и панель для ручной догонки пропущенных дней

Не подходит, если

  • Источник записей не Apple Voice Memos: скилл не записывает звук с микрофона
  • Нужно определение говорящих или привязка реплик к участникам: этого нет по замыслу
  • Нет Mac, где заметки уже синхронизировались

Пример запроса к агенту

Установи для меня https://github.com/grapeot/intake-skill, прогони тестовое аудио и покажи, куда легли отчеты

Ограничения

Скилл узкий по замыслу: только Apple Voice Memos на Mac, без записи с микрофона, без разделения по говорящим и без других источников аудио. Для локального распознавания нужны `mlx-qwen3-asr` и скачанная модель `Qwen/Qwen3-ASR-1.7B`, первая загрузка занимает время. Отчеты готовит Codex CLI, поэтому он должен быть настроен, а текст расшифровок уходит в этот CLI. Ночной запуск требует, чтобы Mac не спал, был подключен к питанию и чтобы Voice Memos синхронизировались достаточно часто. Cron запускается с минимальным окружением, и управляемая строка задает `PATH`. Установка локальна для проекта и глобальный скилл Codex не создает.

Как отключить. Удалите папку `skills/intake-skill` проекта и ночной запуск из расписания (`crontab -e`). Папка `data/` с результатами останется, удалите ее отдельно при необходимости.

Частые вопросы

Как поставить Intake Skill?

Дайте агенту ссылку на репозиторий и попросите установить: он клонирует его в `skills/intake-skill`, поставит зависимости и `mlx-qwen3-asr` и проверит конвейер на тестовом аудио. Подробный сценарий лежит в `skills/skill_intake.md`.

Где лежат результаты?

В папке `data/YYYYMMDD/`: аудио, `transcript_YYYYMMDD.csv`, `daily_YYYYMMDD.md`, `daily_YYYYMMDD.html` и конспекты в `meetings/`.

Распознавание идет локально?

Да, расшифровку делает локальная модель MLX Qwen3 ASR после установки `mlx-qwen3-asr`. Отчеты готовит Codex CLI оператора, поэтому текст расшифровок уходит в него.

Как включить ночной запуск?

Скилл ставит расписание один раз после вашего подтверждения, а состояние показывает `python -m intake_skill dashboard`. Mac в это время не должен спать.

Умеет ли скилл различать говорящих?

Нет, определение говорящих и привязка реплик к участникам исключены по замыслу. Скилл также не записывает с микрофона.

Обсуждение

Вопросов и отзывов пока нет.

Скиллы

Скилл и MCP-сервер дают агенту искать и разбирать расшифровки встреч, лекций и стримов из приложения DeLive

СкиллРасширенный доступ261Звезды репозитория

18 переносимых скиллов для задач, где ИИ слабее человека: голос, тон сообщения, проверка трендов и безопасный выпуск.

ПлагинМинимальный доступ108Звезды репозитория
Официальный

MeetCap записывает встречи на Mac и расшифровывает их локально, а скилл дает Claude Code и Codex вести запись и искать по архиву

СкиллШирокий доступ305Звезды репозитория

Личная коллекция скиллов cafe3310: ведение проекта по спецификации, обзор кода, отчеты, браузер, 3D и видео в одном репозитории

СкиллРасширенный доступ256Звезды репозитория

Локальные ИИ-команды для голоса и текста: диктовка в буфер, правка, озвучка, ассистент и параллельные агенты в worktree

CLIРасширенный доступ239Звезды репозитория

Навык ведет агента от идеи до рабочего TypeScript-расширения для Voz: диктовка на Mac становится командой, стилем или заметкой.

СкиллШирокий доступ55Звезды репозитория

Коротко о README

README задает узкую область, конвейер из трех шагов, основные команды, структуру результатов и границы работы локального распознавания и Codex. Подробный сценарий установки вынесен в `skills/skill_intake.md`.

Бейдж для README

Исходный SKILL.md

---
name: intake-skill
description: >-
  Install, verify, operate, and debug the Apple Voice Memos Intake Skill via python -m intake_skill.
disable-model-invocation: true
---

# Intake Skill

Use this skill when a user asks an AI agent to install or operate the Intake Skill repo. The expected user request is:

```text
Install this repo for me: https://github.com/grapeot/intake-skill
```

The job is complete only after the repo is cloned as a project-local skill, the local CLI is installed, tests pass, real local ASR has been installed and verified, a sample audio file has gone through sync, MLX Qwen3 ASR, and Codex postprocessing end to end, the operator has been shown where the output files are, and the operator has made an explicit choice about the optional nightly automatic run.

When talking to the operator, keep the cognitive burden low. Prefer phrases like "nightly automatic run", "runs every night", or "daily background run" instead of leading with terms such as "cron", "cron job", or "crontab". Use the technical terms only when showing exact commands, errors, or backup files. Explain setup as: "I can set this up to run once every night while your Mac is awake."

## Scope and Runtime Defaults

Intake Skill is Voice Memos only. It reads files that Apple Voice Memos has already synced to the Mac. Do not add microphone recording, non-Voice-Memos sources, speaker recognition, diarization, reference voices, or participant attribution.

Mock engines are retained for unit tests and explicit offline debugging. Functional setup and operation should use MLX Qwen3 ASR and Codex postprocessing by default. Before processing real Voice Memos, verify Codex with a trivial non-private prompt and validate Codex postprocessing on synthetic sample audio.

## Install from GitHub

Start in the user's current workspace and install this repo as a project-local skill, not as a standard global Codex skill. If `skills/intake-skill` already exists, inspect it rather than cloning over it.

```bash
mkdir -p skills
git clone https://github.com/grapeot/intake-skill.git skills/intake-skill
cd skills/intake-skill
uv venv .venv
source .venv/bin/activate
uv pip install -e '.[dev,qwen-asr]'
python -m pytest -q
python -m intake_skill --help
```

If `uv` is missing, install `uv` first by the user's normal package manager or mark setup blocked with the exact reason. Do not switch to a global `pip install` unless the user explicitly requests it.

## First-Run Setup Gate

Run `doctor` and inspect the JSON before touching private audio:

Сообщить о проблеме