CLAUDE.md@apps/extension · git:20261021.2674a2a · 2026-10-21 · sha256 de47cff4bc523c5c
CLAUDE.md@apps/extension git:20261021.2674a2aA
Immutable. This exact content never changes and is served at /api/v1/blob/de47cff4bc523c5c.
# `@vital/extension` — 浏览器扩展指令 ## 这个目录负责什么 - 基于 WXT 构建的 Chrome MV3 浏览器扩展,用于将当前网页、选中文本或图片一键保存到 Vital 稍后读(Inbox)或待办(Tasks)。 ## 放置约束 - **放什么**: - `entrypoints/`:WXT 扩展入口(background service worker、content script、popup 页面)。 - `src/`:页面正文抽取、选区转换、扩展端存储、Bearer 鉴权状态与 API 调用逻辑。 - `__tests__/`:扩展抽取逻辑与交互的 Vitest 测试。 - **不放什么**: - 不要在扩展内重复实现通用的 HTML 清洗或 ArticleDoc 转换算法,应复用 `@vital/article-extract`、`@vital/article-html` 与 `@vital/article-doc`。 ## 开发偏好与局部范式 1. **鉴权机制**: - 扩展不依赖浏览器 Cookie 鉴权,而是通过 Web 端 `/auth/extension` 签发一次性授权码并换取 Bearer Token。 2. **构建与检查前置步骤**: - 运行类型检查或 ESLint 前需要生成 WXT 类型声明(`pnpm --filter @vital/extension typecheck` 与 `lint` 脚本已内置 `wxt prepare`)。