[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"project-94683":3},{"id":4,"name":5,"fullName":6,"owner":7,"repo":5,"description":8,"homepage":9,"htmlUrl":9,"language":10,"languages":9,"totalLinesOfCode":9,"stars":11,"forks":12,"watchers":13,"openIssues":14,"contributorsCount":14,"subscribersCount":14,"size":14,"stars1d":14,"stars7d":14,"stars30d":14,"stars90d":14,"forks30d":14,"starsTrendScore":14,"compositeScore":15,"rankGlobal":9,"rankLanguage":9,"license":16,"archived":17,"fork":17,"defaultBranch":18,"hasWiki":19,"hasPages":17,"topics":20,"createdAt":9,"pushedAt":9,"updatedAt":27,"readmeContent":28,"aiSummary":29,"trendingCount":14,"starSnapshotCount":14,"syncStatus":30,"lastSyncTime":31,"discoverSource":32},94683,"DramaLens","dengzi008\u002FDramaLens","dengzi008","Local-first Chrome extension for timestamped transcription and human-reviewed short-form drama analysis.",null,"JavaScript",122,14,1,0,43.53,"GNU Affero General Public License v3.0",false,"main",true,[21,22,23,24,25,26],"ai","chinese","chrome-extension","faster-whisper","local-first","speech-to-text","2026-08-24 04:01:22","# DramaLens｜短剧创作拆解助手\n\nDramaLens 是一个本地优先的 Chrome 扩展与 Python 服务，用于将用户有权处理的短剧、访谈和其他视听素材整理为带时间码的文本，并生成可人工复核的创作结构分析。\n\n它解决的核心问题是：创作者在研究节奏、冲突、反转和人物关系时，需要反复播放素材、记录时间点、整理台词和撰写分析，手工流程耗时且容易遗漏。\n\n> 项目仍处于早期阶段。AI 转写、角色推断和结构分析都可能出错，输出必须人工复核。\n\n## 功能\n\n- 主动捕获当前 Chrome 标签页音频，不下载视频\n- 使用 Windows WASAPI Loopback 或 macOS CoreAudio + BlackHole 录制桌面应用正在播放的声音\n- 使用本地 `faster-whisper` 生成中文时间轴\n- 在扩展中修改文本、合并片段、填写或校对角色\n- 通过 OpenAI 兼容文本接口生成单集创作拆解\n- 分析剧情梗概、本集作用、人物关系、开场钩子、冲突节点、情绪曲线、反转和结尾悬念\n- 保存项目报告，生成前 10 集、前 30 集或全部已保存集数的整体分析\n- 导出单集或多集 Word 报告\n- 转写与 AI 分析在扩展后台运行，关闭弹窗后仍可继续\n\n## 工作方式\n\n```text\n用户主动录制标签页音频\n          ↓\n本地 faster-whisper 转写\n          ↓\n时间轴与角色人工校对\n          ↓\n可选：调用用户配置的文本模型生成分析\n          ↓\n人工复核并导出 Word\n```\n\n原始音频仅发送到本机 `127.0.0.1:3211`。只有用户点击 AI 分析时，整理后的文本才会发送到其自行配置的 OpenAI 兼容接口。\n\n## 安装要求\n\n- Windows 10\u002F11，或 macOS 13 及更高版本\n- Chrome 或兼容 Chromium 的浏览器\n- Python 3.11\n- 建议至少 8 GB 内存；本地 `medium` 模型首次运行需要下载模型文件\n\n## 快速开始\n\n### 1. 安装本地服务\n\nmacOS 用户请直接阅读 [macOS 安装与录音说明](docs\u002FMACOS.md)。Windows 用户按以下步骤操作。\n\n克隆仓库后，在项目目录中双击：\n\n```text\ninstall-local-asr.cmd\n```\n\n安装完成后复制环境变量模板：\n\n```powershell\nCopy-Item .env.example .env\n```\n\n如果需要 AI 分析，在 `.env` 中填写自己的接口地址、模型名和密钥。语音转写本身不需要 API 密钥。\n\n### 2. 启动本地服务\n\n双击：\n\n```text\nstart-asr.cmd\n```\n\n浏览器访问 `http:\u002F\u002F127.0.0.1:3211\u002Fapi\u002Fhealth`。看到 `\"ok\": true` 后即可加载扩展。\n\n### 3. 加载 Chrome 扩展\n\n1. 打开 `chrome:\u002F\u002Fextensions\u002F`\n2. 开启“开发者模式”\n3. 点击“加载已解压的扩展程序”\n4. 选择本项目的 `extension` 目录\n\n### 4. 使用\n\n1. 打开你有权处理的素材并正常播放\n2. 在“项目采集”填写项目名称和集数范围；单集任务将起止集填写相同\n3. 点击“开始采集”；多集每集结束按 `F8`，单集或最后一集结束按 `F10`\n4. 等待后台完整识别，可对失败集单独重试\n5. 可选：点击“AI校对并生成报告”\n6. 点击“保存到项目”，再进行单集复核、整体分析或Word导出\n\n## 配置\n\n`.env.example` 提供以下配置：\n\n| 变量 | 用途 | 默认值 |\n| --- | --- | --- |\n| `OPENAI_API_KEY` | 可选，文本模型接口密钥 | 空 |\n| `OPENAI_BASE_URL` | OpenAI 兼容接口基础地址 | `https:\u002F\u002Fapi.openai.com\u002Fv1` |\n| `AI_MODEL` | 文本分析模型名称 | `gpt-4.1-mini` |\n| `LOCAL_ASR_MODEL` | faster-whisper 模型 | `medium` |\n| `LOCAL_ASR_DEVICE` | 推理设备 | `cpu` |\n| `LOCAL_ASR_COMPUTE_TYPE` | 推理精度 | `int8` |\n| `ASR_PORT` | 本地服务端口 | `3211` |\n| `MAX_AUDIO_BYTES` | 单个音频最大字节数 | `26214400` |\n| `MACOS_AUDIO_DEVICE` | macOS 桌面录音输入设备名称 | `BlackHole` |\n\n不要提交 `.env`。项目不会要求维护者代管用户 API 密钥。\n\n## 统一项目采集\n\n单集和多集统一使用“项目采集”，不再需要选择不同录音入口：\n\n1. 填写剧名、起始集数和可选的结束集数\n2. 单集任务将起止集数填写相同；多集任务填写对应范围\n3. 点击“开始采集”和“打开置顶控制器”\n4. 多集任务每集结束按 `F8`，程序保存当前集并立即开始下一集\n5. 单集或最后一集结束按 `F10`，后台继续完成完整识别队列\n6. 失败集可单独重试；识别完成后点击“AI校对并生成报告”\n7. 点击“保存到项目”，再生成人工审核后的整体分析和Word报告\n\n批量音频、队列状态和转写草稿保存在本地 `recordings\u002Fbatch`，不会提交到Git。程序只会自动合并时间重叠、文本高度相似的重复片段；有剧情意义的重复对白仍需人工判断。\n\n## 隐私与安全边界\n\n- 扩展只在用户主动点击后捕获当前标签页音频\n- 不调用目标平台隐藏接口，不绕过登录、付费、加密或技术保护\n- 不自动下载视频，也不批量抓取站点内容\n- 本地服务只监听 `127.0.0.1`\n- AI 接口由用户自行配置；第三方中转接口的隐私和可靠性由其运营者决定\n- 不应对不可信来源的 `.env`、脚本或模型文件放宽系统权限\n\n安全问题请参阅 [SECURITY.md](SECURITY.md)。\n\n## 合法使用\n\nDramaLens 面向创作研究、无障碍转写、个人学习以及获得授权素材的整理。使用者应遵守所在地法律、素材授权条款和目标网站服务条款。\n\n本项目不授予任何第三方影视、音频或文本内容的复制、传播或商业利用权。请勿使用本项目绕过访问控制、批量复制受版权保护的作品，或向他人交付未经授权的完整台词文本。\n\n## 当前限制\n\n- 当前录音仍是实时流程，倍速播放会让时间码对应录制时间，而不是原始视频时间\n- 桌面录音在 Windows 采集默认扬声器输出；macOS 通过 BlackHole 采集 CoreAudio 输出。录制时请关闭消息提示音和其他媒体\n- 最近一次桌面录音会保留在本地 `recordings` 目录，开始下一次录音时自动替换\n- 角色名称由语言模型根据上下文推断，准确率受台词信息影响\n- 本地 Whisper 的速度取决于电脑配置\n- macOS 桌面 App 录音需要额外安装和配置 BlackHole；浏览器标签页录音不需要\n- 项目尚无 Chrome Web Store 正式版本，需要开发者模式加载\n\n## 路线图\n\n- [x] macOS 启动脚本、CoreAudio 录音适配与安装文档\n- [ ] Linux 启动脚本与安装文档\n- [ ] 自动化测试与固定测试样本\n- [ ] 更可靠的角色一致性检查\n- [ ] 可编辑的分析模板和提示词\n- [ ] 项目数据的导入、导出和备份\n- [ ] 可选的 GPU 推理配置\n- [ ] 无障碍和国际化改进\n\n## 真实使用案例\n\n- [案例 001：单集素材从标签页录音到创作拆解报告](docs\u002FCASE_STUDY_001.md)\n- [案例 002：真实编剧客户的 19 集批量创作分析](docs\u002FCASE_STUDY_002.md)\n\n案例只公开操作流程、脱敏统计和维护结论，不公开原始录音、完整台词或可识别的第三方作品内容。\n\n## 参与贡献\n\n欢迎提交 Issue、功能建议和 Pull Request。开始贡献前请阅读 [CONTRIBUTING.md](CONTRIBUTING.md)。\n\n## 许可证\n\n本项目使用 GNU Affero General Public License v3.0。详见 [LICENSE](LICENSE)。\n\n## 维护者\n\n由 [@dengzi008](https:\u002F\u002Fgithub.com\u002Fdengzi008) 创建和维护。\n","DramaLens 是一款本地优先的 Chrome 浏览器扩展，专为短剧创作者和研究者设计，支持在不下载视频的前提下实时捕获网页音频，利用本地运行的 faster-whisper 生成带时间戳的中文转录文本，并提供人工可编辑的角色标注与结构化创作分析（如钩子、冲突节点、情绪曲线、反转等）。所有语音处理均在用户设备完成，仅当启用 AI 分析时，经脱敏整理的文本才发送至用户自配的 OpenAI 兼容接口。适用于短剧拆解学习、编剧复盘、教学案例整理及无障碍字幕初稿生成等需高隐私性与时间轴精度的本地化创作场景。",2,"2026-08-14 02:30:03","CREATED_QUERY"]