Pickoo — скилл сохранения ссылок в базу знаний

Pickoo

Локальная рабочая среда Pickoo со скиллом save-to-favorites, через которую агент собирает коллекцию ссылок в вашей папке

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

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

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

  • Приложение копирует скиллы в каталоги агентов и запускает скрипты и утилиты обработки медиа
  • Агент загружает чужое содержимое из интернета, и в нем могут быть инструкции, которым нельзя следовать
Все причины и проверки

kristenpan/pickoo-your-favorites

Установка

Работает в

В терминале, через SkillFoxx CLI

npx skillfoxx add skills/pickoo

Определит агенты на машине, покажет уровень доступа и зафиксирует версию.

Другие способы установки

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

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

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

  • Приложение копирует скиллы в каталоги агентов и запускает скрипты и утилиты обработки медиа
  • Агент загружает чужое содержимое из интернета, и в нем могут быть инструкции, которым нельзя следовать

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

Что делает

Pickoo — локальная рабочая среда для коллекции ссылок и вдохновения. Вы отдаете агенту ссылку или текст из «поделиться», а скилл save-to-favorites определяет источник, проверяет, нет ли дубля, забирает материал и складывает его в вашу папку как редактируемый Markdown вместе с пакетом доказательств: исходным текстом, картинками, аудио и видео. Поддерживаются китайские соцсети и подкасты, статьи WeChat и обычные веб-страницы. Для видео и подкастов делаются расшифровка с метками времени и смысловые главы, для картинок распознавание текста. Затем из каждого источника можно выделить шесть видов повторно используемых материалов, и в библиотеку попадают только подтвержденные источником. В репозитории три скилла: save-to-favorites, creator-content-ingest и asset-review-agent. Приложение на Node.js подключает их к Codex, WorkBuddy, Hermes и Claude одним нажатием по карточке агента. Все агенты работают с одной папкой и общей очередью задач.

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

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

  • Сохранить пост Xiaohongshu с картинками и получить Markdown с распознанным текстом
  • Расшифровать подкаст «Сяоюйчжоу» или видео Bilibili с метками времени и главами
  • Не сохранять дважды: Pickoo определяет, что ссылка уже сохранена, и предупреждает
  • Собрать личную библиотеку цитат, зацепок и структур по источникам для работы над контентом
  • Продолжать разбор в разных агентах (Codex, Claude, Hermes) из общей папки и очереди

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

  • Нужен обычный менеджер закладок для браузера: Pickoo рассчитан на обработку содержимого агентом
  • Контент закрыт платным доступом, DRM или входом: Pickoo такие ограничения не обходит
  • Нужна работа без Python и консольных утилит для медиа: полная обработка аудио и видео требует их

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

Сохрани эту ссылку на пост Xiaohongshu в библиотеку Pickoo, распознай текст на картинках и выдели цитаты.

Ограничения

Интерфейс, документация и тексты скиллов в основном на китайском. Для запуска нужен Node.js 20, для полной обработки медиа еще Python 3.10, ffmpeg, ffprobe и yt-dlp. Расшифровка и распознавание текста используют уже имеющиеся на машине средства, а при их отсутствии приложение ставит изолированные окружения.

Pickoo не обходит платный доступ, DRM, ограничения по региону и входу. Вход в NetEase Cloud Music сохраняется только локально в файле с правами 0600 в ~/.config/pickoo/. Режим «локально» не означает работу без сети: при захвате публичных ссылок материал загружается из интернета.

Лицензия MIT.

Как отключить. В приложении нажмите на карточку подключенного агента: скиллы переедут в ~/.config/pickoo/disconnected-skills/. Либо удалите каталог save-to-favorites из ~/.claude/skills/ вручную. Папка с коллекцией остается нетронутой.

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

Как установить Pickoo и подключить к Claude Code?

Выполните `npm ci`, поставьте зависимости Python из skill-source/creator-content-ingest/requirements.txt и запустите `npm start`. В браузере откроется http://127.0.0.1:4324: нажатие на карточку Claude в настройках копирует скилл в ~/.claude/skills/save-to-favorites.

Какие источники поддерживает Pickoo?

Xiaohongshu (посты, видео и публичные подборки), статьи WeChat, Douyin, Bilibili, обычные веб-страницы, подкасты «Сяоюйчжоу» и метаданные песен NetEase Cloud Music. Содержимое, которое не удалось получить полностью, получает статус «待复核» (на проверку), «部分完成» (частично) или «失败» (сбой).

Какие шесть видов материалов выделяет Pickoo?

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

Где хранятся мои данные?

Новые записи пишутся в выбранную вами папку, по умолчанию ~/Documents/Pickoo Library. Настройки лежат в ~/.config/pickoo/settings.json, очередь и интерфейс на macOS в ~/Library/Application Support/Pickoo. Локальный сервер слушает только 127.0.0.1.

Нужен ли отдельный ИИ-сервис для Pickoo?

Нет. Pickoo работает через ваших агентов: Codex, WorkBuddy, Hermes или Claude, и расходы зависят от выбранной модели.

Обсуждение

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

Скиллы

Набор бытовых скиллов для агента: веб-поиск, автоматизация браузера, Gmail, Google Календарь и Диск, расшифровка речи и субтитры YouTube

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

CLI на Go, который держит скиллы, агентов и правила в одном месте и синхронизирует их во все AI-агенты одной командой

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

Плагин Claude Code, который в разговоре собирает под вас систему знаний из markdown-файлов: структуру папок, шаблоны заметок, конвейер обработки и хуки

ПлагинРасширенный доступ3,5 тыс.Звезды репозитория

Набор скиллов, с которыми агент ведет личную вики в Obsidian: собирает знания из документов и прошлых сессий и отвечает со ссылками

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

Скиллы для работы агента с Obsidian: Markdown с викиссылками, Bases, JSON Canvas, Obsidian CLI, Defuddle и Knap

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

Скилл и MCP-сервер для Claude Code: Google NotebookLM создает блокноты из ссылок и файлов, отвечает с цитатами и выдает подкасты, слайды и тесты

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

Сравнение с похожими

Записи с тем же главным запросом: чем они отличаются.

ЗаписьОфициальныйАвторизацияЗвезды репозиторияГлавное отличие
Pickoo — скилл сохранения ссылок в базу знаний (эта запись)нет20
xiaohongshu-mcpнетне нужна16 672MCP-сервер для публикации и поиска в Xiaohongshu от лица агента, а Pickoo сохраняет и разбирает чужие материалы
OpenContextнет1 270локальное хранилище контекста о проектах для кодовых агентов, без захвата ссылок и расшифровки

Коротко о README

Pickoo задуман как локальная коллекция в духе «разбери и сохрани»: общий результат для разных агентов, исходники рядом с выводами и достижения за исследование коллекции. Отдельные разделы объясняют словарь для распознавания речи, границы данных и права.

Бейдж для README

Исходный SKILL.md

---
name: save-to-favorites
description: The single complete Pickoo workflow for new Xiaohongshu, WeChat, Douyin, Bilibili, Xiaoyuzhou, podcast, music, article/blog, or general web links. Use for 收藏、保存、收录、抓取、归档、拆解、分析、OCR、ASR or 完整处理 from Codex, WorkBuddy, Hermes, Claude, or Claudian. It owns intake and the complete downstream workflow; obsolete standalone capture or link-intake skills must not be selected.
---

# Save to favorites

Write every Agent's result into the same local library. The frontend is a reader for that library, not a separate database.

## Routing boundary

This is the only automatically selected skill for a new link entering Pickoo. One request gets one intake owner and one shared task; the source platform does not select another top-level skill. Platform capture, OCR, ASR, chaptering, analysis, and asset review are downstream capabilities of this task, not competing entry points.

Do not invoke `creator-content-ingest` or `asset-review-agent` as another route, including as a user-facing downstream Skill. They are internal implementation contracts owned and scheduled by this workflow after the Pickoo package exists. Obsolete standalone platform-capture and link-intake Skills are not part of Pickoo's runtime, including as an explicit alternative or fallback. All platform capture, OCR, ASR, chaptering, analysis, and archive work stays inside this managed workflow.

## Shared contract

Read [references/library-contract.md](references/library-contract.md) before writing. Use the bundled `scripts/save_link.py` as the single entry point so duplicate detection and Markdown output stay identical across Agents.

For podcast shownote timestamps, use the internal shownote-timeline contract supplied by the current Pickoo execution manifest or bundled runtime. Do not discover another Skill to find it. Capture owns the canonical structured timeline; chapter rebuilding may parse body text only as a legacy fallback and must never override valid structured evidence.

For NetEase Cloud Music share links or `music.163.com/song?id=...`, also read [references/netease-music.md](references/netease-music.md). Short and standard links are canonicalized by song ID without login or user cookies. Capture public lyrics and attempt only the platform's no-login public playback response; never reconstruct signed URLs or bypass membership, region, or DRM controls.

Default library root: `~/Documents/Pickoo Library/`.

Resolve the library from an explicit `--library-root`, `PICKOO_LIBRARY_ROOT`, or Pickoo settings before using that default. Never infer a personal vault path or another project's directory. Users who keep Pickoo inside Obsidian should select that folder in Pickoo settings or set `PICKOO_LIBRARY_ROOT` explicitly.

Before selecting a root, Markdown view, processing depth, ASR model, OCR path, podcast diarization, or collection capture, read `$PICKOO_SETTINGS_FILE` when set and otherwise `~/.config/pickoo/settings.json`. This `favorites-runtime-settings/v1` file is the cross-Agent user preference source shared with the frontend. Explicit CLI arguments and explicit environment variables override it. A frontend change applies to the next invocation from Codex, Hermes, WorkBuddy, or Claude without copying configuration into each Skill directory.

`storage.markdown_view_mode` controls only the Obsidian reading layout. Every package's one canonical document is recorded at `manifest.document.path` and named `内容形态-来源渠道-最多10字标题-最多10字作者-YYYYMMDD.md` (for example `图文-小红书-好的呀-胖虎超爱玩-20260825.md`), with a numeric suffix only when names collide. `package` exposes that file in place. `centralized` additionally exposes a flat view under `storage.markdown_view_root` using the exact same assigned basename. Pickoo identifies both sides by `favorite_id`, rewrites relative media paths for the central location, and reconciles edits by revisions rather than paths. The package document remains the canonical commit target for wrappers and Agent pipelines. Do not create another ad-hoc copy, rename either assigned file, or resolve a conflict by overwriting either side; Pickoo keeps the basename stable and saves the losing version under `.pickoo-conflicts/` before merging. Legacy `收藏.md` is only a migration input. When Pickoo is running, its background poll projects an Agent commit automatically. When it is not running, leave the canonical package correct and let the next Pickoo launch reconcile it.

For a Xiaohongshu board/collection URL, honor `collection.enabled`. When enabled, use the bundled collection adapter shipped with the installed Pickoo skill/runtime to enumerate public child items, then submit each child through this wrapper with the original board share text retained as context. Never accept a user-configured adapter path or a stale path from shared settings. If the bundled adapter is missing, disabled, blocked by login, or returns only a listing fallback, report that state honestly; do not treat a board cover/title list as completed child captures.

For a single Xiaohongshu note, accept both `xhslink` short links and webpage `explore` / `discovery/item` share links. When several links in one share text identify the same note, keep one task and prefer the detail carrier that still has an `xsec_token`; do not reject the whole input merely because it contains a long URL. Use the full share carrier only for initial acquisition, then persist the query-free canonical note URL and never archive the token in the source package. A tokenless or expired carrier may fail honestly and ask for a fresh share link without blocking unrelated links from the same batch.

Settings are a runtime contract, not package content. Never archive the settings file, API secrets, cookies, local virtual environments, downloaded Whisper/voiceprint/OCR models, or browser profiles inside a source package or an exported Skill. Only present an API/provider control after a real adapter consumes it; store secret values exclusively in environment variables and expose only configured/unconfigured status. Optional missing capabilities must degrade honestly (for example timestamp-only podcast paragraphs without diarization), never trigger an unrequested install during capture.

## Save links

Preserve the user's full share text. When Pickoo is running, submit through its shared task center and wait for the honest terminal state:

```bash
python3 scripts/save_link.py submit --wait --input '<完整分享文字>' --note '<用户附言,可为空>' --source-agent '<codex|hermes|workbuddy|claude|claudian>' --input-channel '<agent-direct|wechat-im|feishu-im|obsidian>'
```

Use `wechat-im` when the request arrived through WeChat, `feishu-im` when it arrived through Feishu/Lark, and `obsidian` when Claudian received it inside Obsidian. Otherwise use `agent-direct`. `submit` registers the intake in Pickoo's shared task journal so the frontend can show its queue, stage, heartbeat, package, and final Markdown path. If Pickoo is offline it falls back to the same direct local save contract unless `--require-shared-task` was explicitly requested; report that the task was saved directly and therefore had no live frontend progress.

Always pass the executing intake Agent's stable lowercase identity through `--source-agent`. Use `--input-channel favorites-frontend` only for the built-in frontend; Agent calls default to `agent-direct`. The wrapper writes this once to `manifest.json` as `intake.source_agent` and `intake.input_channel`. Do not infer ownership from the content platform, capture adapter, or the Agent that later analyzes/transcribes the package. Missing legacy attribution remains `unknown` and is not categorized as another-Agent input.

The default is `--mode full`: acquire evidence, normalize chapter-led readable content, analyze it, and create only source-located reusable assets that pass the shared admission contract. All human-readable layers are consolidated into stable sections of the `manifest.document.path` document. If analysis cannot be completed, keep the `内容拆解` and asset state visibly pending instead of presenting them as finished.

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

Foxx AIPickoo — скилл сохранения ссылок в базу знаний
Foxx AI

Я Foxx AI и уже разобрал этот инструмент. Спросите про установку, настройку или что угодно еще, отвечу простыми словами.