灵录 · 实时分叉树纪要
录音时自动生长主题分叉树,停止后导出 HTML 报告。端侧优先(Ollama 本地)、多 LLM 提供商可切、五套报告主题任选。
- 直播态:主题树 + "正在说"
- 沉淀态:摘要 / 决策 / 行动项
- 交付态:5 套主题 HTML 报告
- 9 家 LLM 任选,Ollama 推荐
三态一体
灵录把"开会/录音"这件事分成三个独立但联动的形态,三态共享同一份
LingLuDoc 数据:
直播态 · 录音中
主界面"灵录"页 dock 区实时长出主题分叉树。已收束的主题不会再被修改;当前活跃主题用朱砂边带突出;底部"当前正在聊…"区显示实时片段。
沉淀态 · 录音结束
自动整合摘要 / 关键决策 / 行动项;按 scenario 字段决定是否输出商业类字段(个人录音/聚会场景不强行抽取 action item)。
交付态 · 主题选择
工具栏选主题 → 点击 👁 预览(iframe
沙盒)或 ⬇ 导出(落到
session/<id>/reports/)。5
套主题:terminal-grade / keynote-stage / editorial /
minimal-print / sumi-ink。
支持的 9 家 LLM Provider
Boundless-Flow 是端侧产品,默认推荐 Ollama 本地服务(无 API Key、零调用费用、隐私不出端)。其它 8 家为云端选项,支持任意第三方 OpenAI 兼容代理 URL。
🏠 Ollama · 本地推荐
默认 base URL
http://localhost:11434;无需 API
Key。也可填远程 Ollama 如
http://192.168.x.x:11434。
☁️ OpenAI 兼容
DeepSeek / Kimi (Moonshot) / GLM (智谱) / Volcengine (火山豆包) / MiniMax / OpenAI 原生 — 共 6 家走 OpenAI 兼容 codec。
☁️ Anthropic Claude
Messages API(/v1/messages)独立
codec;x-api-key +
anthropic-version: 2023-06-01;max_tokens
必填。
☁️ Google Gemini
v1beta generateContent /
streamGenerateContent?alt=sse;x-goog-api-key
鉴权;systemInstruction +
contents body 形态。
八种场景 · 自动识别
灵录按"场景"切换 prompt 策略,输出风格差异显著:
| 代号 | 场景 | 默认主题 | 语气特征 |
|---|---|---|---|
| S0 | generic · 通用 fallback | minimal-print | 中性记录,不假设场景;auto 低置信度时强制回退此项 |
| S1 | personal · 个人录音 ★ | sumi-ink | 古典文人语气:「想到…」「觉得…」;古文章节名(录略/念想/断语) |
| S2 | private_chat · 私聊 1-on-1 | minimal-print | 双方立场 + 承诺类语句(我会/我答应) |
| S3 | gathering · 私人聚会 ★ | sumi-ink | 清谈雅集风;允许 small talk;不输出 action item |
| S4 | closed_meeting · 闭门会议 | terminal-grade | 动名词主题;优先识别"决定/通过/同意" |
| S5 | public_meeting · 公开会议 | keynote-stage | 议程式主题;强调公开承诺 |
| S6 | business · 商业会议 | terminal-grade | KPI / 项目 / 客户名优先;保留数字/金额/时间 |
| S7 | academic · 学术研讨 | editorial | 论点 / 证据 / 反驳 / 引用 |
★ 个人录音 / 私人聚会用 sumi-ink 中式素雅主题(茶白纸面 + 朱砂点缀 + 楷书章节名),文风文白参半、不出商业术语。
auto 时,前 ~90 秒转写到达后系统会用 cheap
LLM 调用一次做识别;置信度 < 0.5 强制回退
generic,避免把闲聊/私聊误转成"商业承诺"。
五套报告主题
🖥 terminal-grade
严肃执行向,深底 #0b0d10 + 暖金强调。KPI 卡 + ASCII 主题树 + OPEN/CLOSED 状态。S4 闭门 / S6 商业默认。
🎤 keynote-stage
演讲台风格,深空蓝渐变 + 金 + 青;居中 hero + 三柱核心结论。S5 公开默认。
📰 editorial
杂志风,纸白 + 朱砂;serif 标题 + 双栏摘要 + 罗马字议题编号 + 大数字章节。S7 学术默认。
📄 minimal-print
清淡 A4 可打印;纯白底 + 灰文 + 不用强调色;@page
打印样式。S0 generic / S2 私聊默认。
🖋 sumi-ink · 中式素雅
宋式色板:宣纸 #f4ede0 + 墨 #1b1a17 + 朱砂 #8a3b2e;楷书章节名(题记 / 录略 / 念想 / 断语 / 待办 / 跋)。S1 个人 / S3 聚会默认。
全部主题强制注入
Content-Security-Policy meta,禁用
<script> / 外链 CSS / 外链图片 /
iframe;LLM/transcript 字段全部 escape;自包含 < 200
KB;移动端 < 640px 不破版。
快速开始
引导页配置(首次安装)
进入
步骤 4 · API 提供商,滚动到下方"灵录 API · 实时分叉树 + 报告生成"区。默认 Ollama +
http://localhost:11434,填上模型名(如
qwen3.6:35b)即可。
主界面高级配置(任意时刻)
设置 → 高级 → 灵录 API · 实时分叉树 + 报告生成(默认展开)。点 "填充默认" 按 provider 自动填 base URL;点 "测试连接" 一键验证。
开始录音
按 RightAlt 或
开始录音,到
AI 会议视图 看 dock
区"实时分叉树(直播态)"长树;点
↗ 独立窗口 拉出悬浮窗放副屏。
导出主题报告
选 dock 区工具栏的主题下拉(按场景智能默认)→
👁 预览 或
⬇ 导出。报告落到
session/<id>/reports/<theme>.html,重启可见。
配置项详解
| 字段 | 说明 | 示例 |
|---|---|---|
| Provider | 9 选 1,Ollama 排首位 | ollama |
| Base URL | 支持任意第三方代理(如 oneapi.example.com);Ollama 默认 localhost | http://localhost:11434 |
| API Key | Ollama 留空;其它必填 | sk-xxxxxxxx |
| Model | 模型 id,含 tag |
qwen3.6:35b /
deepseek-chat /
claude-3-5-haiku-20241022
|
| 场景 | auto + 8 场景;auto 低置信度回退 generic | auto |
| 报告主题 | 5 主题;按场景智能默认 | sumi-ink |
| 温度 | 0.0–1.0,纪要场景建议 0.1–0.3 | 0.2 |
| Max tokens | 推理模型(含 chain-of-thought)建议 ≥ 2048 | 4096 |
| 触发频率(秒) | 下限 10,默认 60;越短越实时但调用越频繁 | 60 |
会话目录结构
录音 stop 后产物落到
sessions/<YYYYMMDD_HHMMSS_slug>/:
| 文件 | 用途 |
|---|---|
audio.wav |
录音源文件(已有) |
enriched_transcript.json |
带 speaker 标签的逐字稿(已有) |
minutes.json |
规则版纪要(已有 + 灵录新字段:topic_tree_ref / scenario / theme_id / llm_provider / llm_model / linglu_schema) |
minutes.html |
纪要 HTML — v0.4 起按场景用新主题渲染(不再是旧蓝绿) |
linglu.json |
新增:完整 LingLuDoc,含 topics / liveTail / runtime / providerSnapshot |
reports/<theme>.html |
新增:用户手动导出的主题报告 |
安全与隐私
- 不发送原音频:发往 LLM 的只有 transcript + speaker label + 时间戳
- 不持久化 api_key:providerSnapshot 只存 provider / model / endpoint host,不存 key
-
日志强制 redact:所有 eprintln!
路径都过
redact_auth_header,覆盖sk-*/Bearer */x-api-key/ Gemini?key= -
HTML 报告强制 CSP:
default-src 'none'+ 禁 script/外链;前端预览 iframe 用sandbox="allow-same-origin"(不给 allow-scripts),双层保护 - scenario auto 低置信度强制 generic:避免把私聊误转成商业承诺