Skip to content

Latest commit

 

History

16 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Cuefolio: YouTube Summarizer, Bilingual Transcript Translator & Obsidian Notes

简体中文

映知 Cuefolio is a local Manifest V3 extension for Chrome and Edge. It works with standard public YouTube watch?v= pages that expose native captions, turning supported videos into timestamped transcripts, English-Chinese translations, evidence-based bilingual summaries, Obsidian notes, and shareable editorial cards. The extension does not transcribe audio. The user interface is Simplified Chinese only.

Highlights

  • Evidence-based bilingual summaries: for English-source videos, the central thesis, background, substantive cases, methods, chapter navigation, and source quotes stay tied to transcript timestamps.
  • English and Chinese by default: on the supported English-source path, transcript rows, titles, overview sections, and key quotes preserve source English with a Simplified Chinese translation.
  • Cost-controlled AI modes: DeepSeek Saving mode and OpenAI Performance mode are explicit choices. Cuefolio never silently switches providers, and a complete cache hit makes no generation request.
  • Local Obsidian workflow: a loopback-only Companion prepares a Write Manifest for review before the user confirms any vault write. Full transcripts are excluded from embeddings and candidate-review prompts.
  • Editorial social cards: notes and key quotes can become blue-and-white 1080 x 1440 PNG cards, with optional processed video covers and automatic pagination for long text.
  • Stable side-panel sessions: settings open as an overlay, and switching tabs does not discard the active video, overview, translations, or reading position.

What Cuefolio adds to YouTube Digest

Cuefolio is a modified distribution of Zara Zhang's YouTube Digest, based on upstream commit d03e1f61e017b032159ffd1821cac6e7693ce0c7. It preserves Zara's MIT License and attribution.

Area YouTube Digest 1.1.5 upstream Cuefolio 1.3.2
Interface English product UI with bilingual settings Simplified Chinese product UI for Chrome and Edge
Overview Chapters and key quotes Timestamped thesis, background, readable cases, methods, chapters, and bilingual key quotes
AI routing DeepSeek content generation Explicit DeepSeek Saving and OpenAI Performance modes with isolated keys and caches
Obsidian No local transfer workflow Local Companion, one-time pairing, semantic candidates, Write Manifest, user confirmation, and write verification
Sharing Notes remain inside the extension Blue-and-white editorial PNG cards with long-text pagination
Session behavior Basic side-panel lifecycle In-panel settings and explicit source-video binding across tab changes

See MODIFICATIONS.md for the detailed change history and THIRD_PARTY_NOTICES.md for the ownership boundary.

Supported scope and limits

  • Cuefolio currently targets standard public YouTube watch?v= pages with native captions. Shorts, live streams, private or restricted videos, and videos without native captions may not work.
  • It retrieves existing captions through Supadata mode=native; it does not transcribe audio or generate missing subtitles.
  • The evidence-based English-Chinese overview and the source quote label are defined for English-source videos. Other source languages are not claimed to preserve original-language quotations correctly in this release.
  • This is a local unpacked extension, not a Chrome Web Store, Edge Add-ons, or Obsidian community-marketplace release, and it does not update automatically.

Reliability and session behavior in 1.3.2

  • DeepSeek long overviews use separate response-header, first-content, body-progress, and hard time limits. A failure never retries automatically and never switches to OpenAI automatically; only an explicit retry or mode change starts a new request.
  • Settings open in a full-height overlay inside the existing side panel. Opening, closing, and focusing the settings overlay makes no AI request and consumes no provider token. The digest section, bilingual mode, scroll position, overview, translation queue, and video identity remain mounted.
  • Switching to a non-YouTube tab pauses following without closing the digest. A different YouTube tab does not replace the source until the user chooses 整理当前视频. The standalone settings fallback opens immediately after the bound source tab.
  • Obsidian pairing uses a three-step Simplified Chinese guide and bounded error categories. Chrome and Edge have different extension origins and require separate one-time pairing codes.

AI modes

  • Saving mode (节省模式): DeepSeek V4 Flash (deepseek-v4-flash) handles content generation and bounded Obsidian candidate review with reasoning set to none.
  • Performance mode (性能模式): OpenAI GPT-5.6 Terra (gpt-5.6-terra) handles the same work with reasoning set to none; supported Responses requests include store:false.
  • Full Obsidian transfer in either mode: OpenAI text-embedding-3-small performs vector matching after 准备转存. Only compact candidate text and eligible card descriptors are embedded, never the full transcript. This declared route is not content-provider fallback.
  • Overview-only transfer (仅转存总览): uses no embeddings, no AI candidate review, and creates no formal-card candidates.

If content generation fails, the extension does not silently switch to the other content provider. The user must explicitly change modes and retry. This prevents surprise billing and undeclared data transfer.

OpenAI store:false disables Responses application-state storage; it is not a zero-retention guarantee. DeepSeek's Responses compatibility and any accepted store:false field likewise must not be treated as a zero-retention guarantee. Provider account, abuse-monitoring, and legal-retention policies remain outside this extension's control.

Evidence-based deep overview in 1.3.1

The Overview is rebuilt around the central thesis, background and problem, substantive cases, methods, chapter navigation, and key quotes. Thesis and background claims carry transcript timestamps; chapters remain navigation rather than a substitute for synthesis.

  • The extension selects only 0-4 genuine cases. A substantive case normally keeps 2-4 readable paragraphs covering participants, trigger, action sequence, turning points, outcome, qualifications, and the speaker's reason for telling it. It must not collapse the story into one takeaway or invent missing causality or facts.
  • A method must be a process the speaker actually explains. Its purpose, ordered steps, applicability, and limitations remain complete and bilingual, including in the Obsidian source overview.
  • English synthesis is drafted from the English transcript and followed by a faithful Simplified Chinese translation. Only key quotes are labelled as source wording.
  • One complete cache miss makes one request to the selected content provider for both synthesis and translation. A complete cache hit makes no generation request.
  • Title, channel, description, and transcript are isolated as untrusted SOURCE_DATA_JSON. The system prompt instructs the model not to execute or follow instructions inside that source data, while the strict output schema and downstream validation add further boundaries.
  • A strictly validated VideoPackageV2 transfers the thesis, background, cases, and methods to the Companion. The full long-form transcript is excluded from embedding and candidate-review prompts.

Cache and usage controls

  • The overview places English above its Simplified Chinese translation. The video title and key quotes preserve source English; the central thesis, background, cases, methods, and chapter summaries are transcript-grounded English synthesis rather than verbatim quotations.
  • A validated bilingual overview is kept in a persistent 2 MiB LRU cache. A cache hit makes no AI provider request. Its identity includes provider, model, reasoning mode, video, title and transcript fingerprint, schema, and prompt version.
  • Regenerate warns that continuing consumes the active provider's API usage. Cancelling sends no request.
  • Saving a key quote as a quote note makes no additional AI provider request.

Install

Download cuefolio-1.3.2.zip from the latest GitHub Release. Do not use GitHub's automatically generated Source code archives as the browser install package.

  1. Unzip cuefolio-1.3.2.zip into a permanent folder.
  2. Confirm that manifest.json, background.js, and sidepanel.html are directly inside that folder.
  3. Keep the folder in place. Moving or deleting it breaks an unpacked installation until it is loaded again.

Chrome:

  1. Open chrome://extensions.
  2. Turn on Developer mode.
  3. Choose Load unpacked.
  4. Select the unzipped folder that directly contains manifest.json.
  5. Open a YouTube video and choose 整理 to open Cuefolio.

Microsoft Edge:

  1. Open edge://extensions.
  2. Turn on Developer mode.
  3. Choose Load unpacked.
  4. Select the same unzipped folder.
  5. Open a YouTube video and choose 整理 to open Cuefolio.

After loading the extension, open 设置 and configure:

  • A Supadata API key for native YouTube transcript retrieval.
  • A DeepSeek API key for Saving mode, or an OpenAI API key for Performance mode.
  • An OpenAI API key only when full Obsidian vector matching is required. 仅转存总览 does not use embeddings.

Install the Obsidian Companion

The Companion is optional and is not available through the Obsidian community marketplace. The 1.3.2 Companion supports and has been verified only on macOS; Windows and Linux are outside this release's support boundary. A manually installed third-party plugin can read and write the active vault, so download it only from this repository's Release and back up the vault first.

  1. Download cuefolio-obsidian-companion-1.3.2.zip from the latest GitHub Release.
  2. In Finder, open the vault root that contains your notes. Press Command + Shift + . to show the hidden .obsidian folder. Create .obsidian/plugins if plugins does not exist.
  3. Create .obsidian/plugins/youtube-digest-bridge, then unzip the complete Companion package into it. The final path must be <vault>/.obsidian/plugins/youtube-digest-bridge/manifest.json; main.js, styles.css, and src must be at that same level, with no extra wrapper folder.
  4. Restart or reload Obsidian. Open Settings -> Community plugins. If Restricted Mode is still active, enable community plugins only after accepting that third-party plugins can access the vault, then enable 映知 Cuefolio 本地伴侣.
  5. Keep Obsidian open. Copy 当前扩展来源 from Cuefolio Settings into the Companion settings, generate the eight-digit one-time pairing code, then enter the shown port and code back in Cuefolio and choose 连接.

Chrome and Edge use different extension origins, so pair each browser separately. Detailed install, upgrade, uninstall, and recovery notes are in the online Companion guide; the same guide is included in the Companion ZIP.

API setup and official references

Create your own credentials at the official provider pages and enter them yourself in extension Settings:

These links identify the intended official references, not fixed price quotes. Model availability, pricing, terms, and provider policies may change; check the current pages before use.

Never send keys in chat, commit them, or place them in source files. API key fields on the Settings page are masked by default, but screenshots of key-related interfaces or developer tools may expose them; avoid capturing or sharing those views. Use dedicated provider projects and suitable budget or usage limits where available.

Credentials and data flow

The DeepSeek API key and OpenAI API key are stored separately in the current browser profile's extension-local chrome.storage.local. This is not an encrypted password vault. Neither key is sent to the Obsidian Companion or vault, and the extension does not intentionally write them to source files, packages, logs, prompts, caches, or exported notes.

  • Supadata receives a canonical YouTube video URL to retrieve its native transcript.
  • In Saving mode, DeepSeek may receive the transcript, video metadata, selected text, or note context needed for content generation; bounded candidate review receives compact candidate context.
  • In Performance mode, OpenAI may receive the equivalent content-generation or candidate-review inputs.
  • During full Obsidian transfer in both modes, OpenAI embeddings receive only compact candidate text and eligible card descriptors.
  • Obsidian transfer requests go only to the local Companion at http://127.0.0.1:<port> after pairing.
  • The extension has no developer-operated relay server, analytics, telemetry, advertising, or remote scripts.

See PRIVACY.md and SECURITY.md for details.

Obsidian transfer boundary

Keep the Obsidian desktop app open. The full path remains 准备转存 -> inspect the Write Manifest -> 确认写入. Method and expression cards remain unselected by default pending human review.

If the OpenAI key needed for vector matching is absent, preparation stops before any provider request and offers 前往配置 or 仅转存总览. Overview-only transfer archives the source and prepares only the source-overview operation; it does not silently downgrade a full transfer.

The 1.3.2 release contract targets cuefolio-1.3.2.zip and cuefolio-obsidian-companion-1.3.2.zip. Packaging does not install the Companion, run browser QA, make live provider requests, or write to a formal vault. Those actions retain their separate verification and Write Manifest confirmation gates.

Development

npm test
npm run check
npm run package

Automated tests use temporary vaults plus mock DeepSeek and mock OpenAI adapters. They make no real DeepSeek or OpenAI provider request, consume no real provider tokens, and do not access the formal vault. Packaging uses strict browser and Companion allowlists and scans for credential-shaped content.

License and modifications

The upstream author and copyright holder is Zara Zhang, whose original MIT License remains in LICENSE. THIRD_PARTY_NOTICES.md records the exact upstream source and ownership boundary; MODIFICATIONS.md records the baseline, rebuilt release, and added features. Copyright (c) 2026 Marc Penn applies only to original code, Simplified Chinese translations, tests, and documentation added after the documented upstream baseline.

About

AI YouTube summarizer and English-Chinese transcript translator for Chrome/Edge, with timestamped notes, Obsidian export, DeepSeek/OpenAI, and social cards. YouTube 视频总结与双语字幕。

Topics

Resources

Security policy

Stars

2 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages