所言即所见 —— AI辅助演讲可视化工具
声象 Sonas 是一款"所言即所见"的AI辅助演示工具,通过实时语音分析,自动生成与演讲内容匹配的视觉画面,帮助演讲者更生动地传达信息。
- 🎤 实时语音识别 - 说话同时转写为文字
- 🎙️ 本地 Whisper 模式 - 可切换到本地音频录制 + Whisper 转写链路
- ✍️ 文本试跑 / 兜底 - 浏览器不支持语音或仅想快速试跑时,可直接输入文本
- 📚 术语表热词纠错 - 可配置品牌词、产品名、专有术语的标准写法
- 🎯 ASR 热词偏置 - 本地 Whisper 会从术语表自动生成热词提示,提升品牌词识别稳定性
- 🤫 静音切分转写 - 本地 Whisper 模式会根据静音自动提交语音片段,而不是固定时长硬切
- 🚚 排队式准流转写 - 本地 Whisper 会按片段顺序排队上传,减少连续说话时的结果卡顿
- 🔁 常驻 Whisper worker - 本地 adapter 会复用同一个 Whisper 进程处理连续分段,减少反复冷启动
- 🌊 会话式流式回传基础 - 本地 Whisper 现在支持 session + 事件流回传,前端不必每段都同步等待结果返回
- 🧠 服务端会话分段 - 支持连续上传原始音频块,由后端 session 负责静音/长句切段后再转写,更接近真正持续流式
- 🌿 轻量自适应 VAD - 服务端分段会参考当前噪声地板动态调整触发阈值,比固定 RMS 阈值更能适应真实环境
- ⚡ 长句更早切段 - 连续长句会在更早的微停顿处先提交小批次,降低等待整段结束的延迟
- 🔗 切段尾部保留衔接 - 低延迟切段会保留少量尾部上下文,减少长句在切点处断裂
- 🧭 低延迟模式状态可见 - 可直接看到当前是静音切分、微停顿预切还是长句快切,以及尾部衔接是否生效
- 🔀 回传模式状态可见 - 可直接看到当前本地转写走的是流式回传还是普通队列回退
- 📊 队列与在途状态可见 - 可区分本地待发送片段、后端处理中片段和流式连接是否真正建立
- 🛰️ 后端队列事件直达前端 - 流式链路会同步后端接收、排队和处理状态,减少仅靠前端估算造成的误差
- 💓 流式心跳与失活识别 - 长时间彩排时可持续收到心跳,前端也能识别“已连接但疑似失活”的链路状态
- 🔄 流式异常可重连 - 当流式链路失活或回退到普通队列时,可在当前本地转写会话里直接尝试重连
- 🩺 会话级诊断可见 - 可直接看到当前本地转写会话已运行多久、流式已连接多久,以及重连/失活/回退次数
- 📄 诊断报告可单独导出 - 可直接导出一份本地 ASR 诊断 Markdown 报告,便于排障、复盘和交接
- 🔁 服务端分段失败可重试 - 会话分段模式下失败片段也可重新排队转写,不必因为后端接管切段而失去重试能力
- 🎚️ 现代采集层优先 - 浏览器侧会优先使用 AudioWorklet 采集音频,并在必要时自动回退到 ScriptProcessor
- 📉 噪声地板与阈值可见 - 本地状态栏会显示当前自适应 VAD 的大致噪声地板和触发阈值,便于排查环境噪声问题
- 📈 最近批次耗时可见 - 可直接看到最近几段本地转写的平均耗时、最新耗时和最慢耗时
- 🧪 按切段策略拆分耗时 - 可分别看到微停顿预切、长句快切、静音切分三类路径的大致耗时
- 🧠 切段阈值轻量自适应 - 系统会根据最近几段的真实耗时,在更快切、平衡、更稳切之间小幅调节
- 🎚️ 切段策略可锁定 - 可在自动、自适应之外手动锁定更快切、平衡或更稳切,用于稳定彩排
- 💡 策略建议可见 - 系统会根据最近真实耗时直接给出更快切、平衡或更稳切的建议
- 🧠 短暂停顿聚合生成 - 本地 Whisper 的相邻短分段会先合并成更完整的一句,再触发画面生成
- ⏳ 聚合状态可见 - 可直接看到系统是否正在等待短暂停顿结束,以便把碎片合成一句
- ✍️ 聚合句子草稿可见 - 聚合中的那句话会先以草稿形式显示出来,便于理解即将出图的内容
- 🎛️ 聚合草稿可操作 - 可直接用当前草稿提前出图,或丢弃这句重新说
- 🧾 聚合草稿进入时间线 - 聚合中的句子会以临时草稿卡片出现在转写面板里
- ✏️ 草稿可送入编辑区 - 聚合草稿可一键送入“文本试跑 / 兜底”区域,轻改后再生成
- 🔗 编辑来源可追踪 - 从聚合草稿送入编辑区后,生成结果会保留“来自聚合草稿”的来源信息
- 🪢 草稿来源双向可见 - 编辑稿会显示源自哪些 Whisper 分段,原分段也会标记自己已汇入编辑稿
- 🎯 来源链可导航 - 点击来源链后,可直接定位并短暂高亮对应的 Whisper 原分段
↔️ 来源链双向跳转 - 既能从编辑稿跳回原分段,也能从原分段跳到对应编辑稿- 🔍 来源链聚焦视图 - 可临时只看某条编辑稿及其相关原分段,复盘时更聚焦
- 🖼️ 聚焦时联动画面上下文 - 进入来源链聚焦后,会同步展开相关画面主题与 Prompt 摘要
- 📦 聚焦链可单独导出 - 当前聚焦的一条来源链可直接导出为局部 JSON 或 HTML 复盘包
- 👀 本地转写队列可视化 - 可直接看到 Whisper 是否正在处理以及还有多少片段在排队
- 🧩 分段时间线可见 - 本地转写面板会标出每一段的时间、状态和完成情况
- ⏱️ 分段耗时与失败态 - 可看到每段 Whisper 是否失败以及大致处理耗时
- 🔁 失败分段可重试 - 某一段 Whisper 失败后,可直接单条重提而不是整段重讲
- 🧾 失败原因可见 - 时间线会保留失败分段的错误摘要,便于快速定位问题
- 🎯 分段可单独重生成 - 可直接基于某一条完成分段重新生成当前画面
- 🚦 画面生成串行队列 - 连续分段会按顺序进入生成队列,避免画面更新互相抢占
- ⭐ 关键分段收藏导出 - 可收藏时间线里的关键句子,并单独导出为 JSON
- 🗂️ 章节化收藏 - 收藏分段可命名、排序,并按章节顺序导出
- 📦 章节工程包导出 - 导出内容会显式带上章节标题、顺序、时间、章节摘要和关联画面资产
- 🧾 离线故事板导出 - 可直接导出可阅读的 HTML 故事板,适合交接、复盘和演讲排练
- 🖼️ 分段关联画面资产 - 每条分段可带上最后一次关联的画面、Prompt 和匹配主题
- 🧠 智能语义理解 - 分析关键词、主题、情绪,并构建更稳定的图像 Prompt
- 🎨 多风格画面生成 - 7 种视觉风格可选
- 🔌 运行态与接线可视化 - 明确显示当前语音、ComfyUI、Ollama、OpenAI、Unsplash、内置图库的可用状态
- 🧭 单机就绪度判断 - 侧栏会直接告诉你当前是否“可直接彩排”、仅适合试跑,还是还在基础配置阶段
- 🛠️ 待处理动作提示 - 会按优先级列出当前最该补的依赖、推荐命令和兜底建议,减少本地排障成本
- 🧯 针对性修复命令 - 当 Whisper、Ollama 或本地 adapter 未就绪时,会直接给出可复制的修复命令或
.env.local片段 - 🧩 建议
.env.local片段 - 会根据当前环境自动整理出前端回退链路和本地模型参数建议,方便直接起草配置 - 🪜 首次启动路径 - 会把“先做哪一步、做完会解锁什么能力”按顺序显示出来,降低新机器第一次配置成本
- 🧰 推荐落地方案 - 会把当前最适合的单机模型档位、完整
.env.local模板和启动命令汇总成一张可复制、可下载的落地卡片 - 🟢 当前机器推荐
.env.local- 若检测到本机已有可复用的 Whisper 缓存,会优先生成带真实路径的专用配置,并支持直接导出模板文件 - 🧪 导入
.env.local校验 - 可直接导入现有配置文件,对照当前机器推荐模板检查缺失项、不一致项和可选项,生成最小修正片段,自动推荐下一条复验命令,并支持立即刷新运行状态查看是否真的生效 - 🩹 一键修正后启动 - 可先按当前机器建议自动备份并修正
.env.local,再立刻拉起 Sonas Studio,减少“已经修好但本轮启动还在吃旧配置”的落差 - 🗺️ 档位专属落地路径 - 三档模型方案都会各自附带
.env.local模板和启动命令,便于按机器能力直接落地 - 🧭 当前机器安装向导 - 会基于当前环境压缩出一条推荐路径,直接告诉你为什么选这档、还差几步、下一步先做什么
- 🧳 运行时诊断包导出 - 可导出当前环境、安装向导、推荐档位、本地 ASR 状态、配置校验、复验结果和自动恢复摘要,便于远程协作排障
- 🧾 诊断包可回看 - 导出的运行时诊断包也可重新导入到 Sonas 里查看关键结论、推荐档位和待处理动作
- 🚀 推荐工作模式 - 系统会根据当前环境直接建议先用本地 Whisper、浏览器语音还是文本兜底
- 🎯 首次自动预设首帧策略 - 新机器首次进入时,若尚未手动调整相关设置,Sonas 会按当前运行状态自动预选更容易成功的输入模式、首帧延迟与本地聚合策略
- 🧭 首次试跑引导卡 - 首次打开且还没有会话记录时,界面会直接给出推荐输入方式、当前最该补的一步、文本试跑入口,以及
.env.local校验 / 诊断导入入口 - 🛟 本地链路自动稳态恢复 - 当本地 Whisper 出现积压、重连、失活或回退时,Sonas 会临时切到更稳的出图/成句/低延迟策略,待链路恢复后再退出
- 📋 启动清单可复制 - 关键启动步骤会整理成步骤清单,并支持一键复制建议命令;完整配置模板可直接下载
- 🗂️ 最近会话留存 - 自动保存最近生成结果,便于演讲彩排和回看
- 💾 会话导入导出 - 可将当前会话导出为 JSON,也可重新导入恢复现场状态
▶️ 轻量会话复盘 - 可按时间顺序自动回放最近一段会话的文案与画面- ⏯️ 工程级回放控制 - 复盘时支持播放、暂停、上一幕、下一幕和时间线拖动
- ⚡ 低延迟响应 - 语音到画面快速呈现
- ⌨️ 快捷键支持 -
Ctrl+Space快速启停
- Node.js 18+
- Chrome / Edge / Safari 浏览器(需要支持 Web Speech API)
npm install如果你想使用“本地 Whisper”语音模式:
pip install -r server/requirements-asr.txt可选环境变量:
WHISPER_MODEL=large-v3-turbo
WHISPER_MODEL_PATH=output/models/faster-whisper-large-v3-turbo
WHISPER_LANGUAGE=zh
WHISPER_DEVICE=auto
WHISPER_COMPUTE_TYPE=auto如果 Hugging Face 下载链路不稳定,推荐直接把 CTranslate2 模型目录下载到本地,然后通过 WHISPER_MODEL_PATH 指向它。
例如本项目在 2026 年 6 月 6 日的实测中,使用 ModelScope 镜像拉取 mobiuslabsgmbh/faster-whisper-large-v3-turbo 后,可以正常完成本地转写。
git clone --depth 1 https://www.modelscope.cn/mobiuslabsgmbh/faster-whisper-large-v3-turbo.git output/models/faster-whisper-large-v3-turbo推荐直接把 WHISPER_MODEL_PATH 指向 output/models/faster-whisper-large-v3-turbo 这类目录名。
从当前版本开始,Sonas 也会自动探测 output/models/ 下已有的 faster-whisper-* 本地缓存,并在运行状态里提示“已缓存但未接线”的情况。
检查本地 ASR 是否可用:
npm run asr:health从 2026 年 6 月 13 日这版开始,这个健康检查会真实尝试加载当前 WHISPER_MODEL 或 WHISPER_MODEL_PATH 指向的模型,而不只是检查 faster-whisper 是否已安装。
如果这里失败,右侧“运行状态”里的 Whisper 状态也会同步显示真实错误,而不是误报为“已就绪”。
从 2026 年 6 月 14 日这版开始,npm run asr:health 也会自动读取项目根目录里的 .env.local / .env,不必额外手动导出同名环境变量。
若没有显式配置 WHISPER_MODEL_PATH,但 output/models/ 下已经存在与当前模型名匹配的 faster-whisper-* 缓存目录,Sonas 也会优先自动接入这份本地缓存。
建议再跑一遍整机体检:
npm run doctor这条命令会直接检查 .env.local、Whisper、Ollama、ComfyUI、adapter 和云端回退配置,并给出下一步修复建议。
它也会区分“adapter 进程已经在线”和“ComfyUI 图像后端真正在线”这两层状态,避免把本地图像链路误判成已经可用。
从 2026 年 6 月 14 日这版开始,ComfyUI 的健康检查还会继续确认 COMFYUI_CHECKPOINT 是否真的存在,避免服务已启动但工作流加载的模型名其实无效。
从 2026 年 6 月 14 日这版开始,doctor 还会按当前机器状态输出一份有顺序的本地启动 runbook,直接告诉你先做哪一步、执行什么命令、做完再验证什么。
从 2026 年 6 月 19 日这轮产品化校准开始,doctor 和 studio 还会额外告诉你当前机器更接近“默认单机主线”还是“高配探索路径”,避免把普通单机推荐和高配实验建议混在一起。
同一版本开始,doctor:env 与 doctor:patch 生成的文件头也会直接写明当前策略轨道和推荐说明,便于离线 review 或转交别人继续配置。
从 2026 年 6 月 19 日这版开始,doctor 还支持直接生成一份当前机器推荐的 .env.local.sonas.recommended 模板,便于先 review 再合并到正式 .env.local。推荐直接使用快捷脚本:
npm run doctor:env如果你已经有一份 .env.local,更稳的方式通常是先生成最小修正片段,只改当前机器真正建议调整的键:
npm run doctor:patch确认补丁内容没有问题后,也可以让 doctor 先自动备份现有 .env.local,再把补丁并回去:
npm run doctor:apply-patch如果你更想直接走最短路径,让 Sonas 先按当前机器建议修正 .env.local,再马上把 Studio 拉起来,可以直接运行:
npm run studio:fix如果你想把 Sonas 自己负责的本地进程一把拉起,可以直接运行:
npm run studio这条命令会先读取 doctor 的 JSON 诊断结果,打印当前机器的启动 runbook,然后自动拉起:
npm run server(如果.env.local已启用本地 adapter)npm run dev
它不会替你安装或自动启动 Ollama / ComfyUI,但会在启动前明确告诉你当前还缺哪些外部依赖。 如果你想在启动前顺手生成一份当前机器推荐的配置模板,也可以这样运行:
npm run studio -- --write-env-local或者直接使用:
npm run studio:env如果你更想保留现有 .env.local 并只拿到最小修正建议,也可以直接使用:
npm run studio:patch如果你希望 Studio 在启动前先自动把当前机器建议的最小补丁并回 .env.local,并且用更新后的配置直接拉起 Sonas,则可以使用:
npm run studio:fix在项目根目录创建 .env.local:
# 开源模型后端(ComfyUI adapter)配置
VITE_ENABLE_COMFY_ADAPTER=true
VITE_IMAGE_BACKEND_URL=http://127.0.0.1:8787
# 可选:OpenAI 作为云端二级回退
VITE_OPENAI_API_KEY=你的OpenAI_API_Key从 2026 年 6 月 14 日这版开始,npm run server 也会自动读取项目根目录下的 .env.local / .env。
如果你只配置了 VITE_IMAGE_BACKEND_URL 而没有额外设置 PORT,本地 adapter 会默认复用这个地址里的端口,减少前后端端口不一致的问题。
默认链路优先级:
- 语音:
本地 Whisper -> 浏览器 Web Speech API - 语义:
Ollama -> OpenAI -> 规则分析 - 图像:
ComfyUI adapter -> OpenAI -> Unsplash -> 内置图库
# 你的 ComfyUI 服务默认应运行在 http://127.0.0.1:8188
# 你的 Ollama 服务默认应运行在 http://127.0.0.1:11434
npm run server如果你在 .env.local 里把 VITE_IMAGE_BACKEND_URL 改成了别的本地端口,例如 http://127.0.0.1:8788,而又没有单独设置 PORT,这条命令会自动跟随该端口启动。
可选后端环境变量:
PORT=8787 # 可选;若显式设置,请与 VITE_IMAGE_BACKEND_URL 的端口保持一致
COMFYUI_BASE_URL=http://127.0.0.1:8188
COMFYUI_CHECKPOINT=sd_xl_base_1.0.safetensors
OLLAMA_BASE_URL=http://127.0.0.1:11434
OLLAMA_MODEL=qwen3:8b如果你没有显式设置 PORT,Sonas 会默认复用 VITE_IMAGE_BACKEND_URL 里的端口。
如果你显式写了 PORT,请确保它和 VITE_IMAGE_BACKEND_URL 指向的是同一个本地 adapter 端口。
推荐先准备本地模型:
ollama pull qwen3:8b从 2026 年 6 月 14 日这版开始,如果 .env.local 里的 OLLAMA_MODEL 还没装,但当前机器上已经有同家族、最接近的本地模型,Sonas 会优先自动改用那一份,并在 npm run doctor 与界面诊断里提示你把配置对齐到真实已安装模型。
npm run dev然后打开浏览器访问 http://localhost:3000
npm run build构建产物将输出到 dist 目录。
- 查看运行状态 - 先确认右侧“运行状态”里本地后端或回退链路是否可用
若某项未就绪,优先使用“当前最该处理”和“启动清单”里的复制命令排查
若你在新机器上第一次搭环境,可先照着“建议
.env.local片段”和“首次启动路径”逐步补齐 - 选择语音模式 - 在设置中选择“浏览器实时”或“本地 Whisper”
- 配置术语表 - 在设置中维护类似
Sonas => sonnus, sonus, 声象的规则 - 调整本地语音参数 - 可设置“语音灵敏度”“静音切分”和“句级聚合”速度
- 选择风格 - 在右侧面板选择喜欢的视觉风格(写实/插画/3D/水墨/赛博朋克/扁平/动漫)
- 开始演讲 - 点击开始按钮并授权麦克风,系统会转写并生成匹配画面
- 文本试跑 - 若暂时不想开麦,可在“文本兜底”里直接输入一段内容生成画面
- 回看历史 - 在“最近会话”中快速恢复之前生成过的结果
- 轻量复盘 - 点击“最近会话”里的复盘按钮,按时间顺序自动回放整段内容
- 控制回放 - 复盘开始后,可使用播放/暂停、上一幕、下一幕和时间线拖动精细查看
- 导出收藏章节 - 在转写面板右上角可导出收藏章节的 JSON 工程包或 HTML 故事板
- 导出会话 - 点击右上角导出按钮,将当前会话保存为 JSON
- 导入恢复 - 点击右上角导入按钮,重新载入之前导出的 Sonas 会话文件
- 快捷键 - 使用
Ctrl + Space开始/停止,Esc停止
- 中文 (zh-CN)
- English (en-US)
.
├── src/
│ ├── services/ # 核心服务
│ │ ├── speechRecognition.ts # 语音识别
│ │ ├── semanticAnalysis.ts # 语义理解
│ │ └── imageGeneration.ts # 图像生成
│ ├── types/ # TypeScript 类型定义
│ ├── styles/ # 样式文件
│ ├── App.tsx # 主应用组件
│ └── main.tsx # 入口文件
├── public/ # 静态资源
├── server/ # ComfyUI 适配层
├── dist/ # 构建产物
├── DESIGN.md # 产品设计文档
└── package.json
- React 18 + TypeScript
- Vite 6
- Web Speech API
- 基于规则 + Ollama / OpenAI 回退的语义分析与语音纠错
faster-whisper作为本地 ASR 接口- ComfyUI adapter(本地开源图像模型推理)
- Ollama
qwen3:8b作为默认本地语义模型 - OpenAI
gpt-4o-mini/gpt-image-1作为云端纠错与图像回退
当前版本已从“概念原型”推进到“单机可试用”的第三阶段:
- 可观测:用户能看到当前正在使用哪条生成链路
- 可兜底:语音不可用时仍可通过文本生成验证产品
- 可留存:最近会话会自动保存到本地
localStorage - 可交付:当前会话可导出为 JSON,也可再次导入恢复当前工作现场
- 可复盘:最近一次会话已经可以按时间顺序自动回放,适合彩排和复查节奏
- 可控场:复盘流程支持播放暂停与时间线跳转,更适合逐幕排练
- 可本地化:语义纠错与场景理解优先走本地 Ollama
- 可扩展:本地 Whisper ASR 接口已接入,前端可切换到本地转写模式
- 可定制:术语表支持品牌词、专有名词、热词别名的本地标准化
- 可增强:本地 Whisper 会从术语表抽取 canonical 术语作为
hotwords - 可自然:本地 Whisper 已改为基于静音的自动分段,而不是固定 4 秒切片
- 可连续:本地 Whisper 分段会顺序排队处理,连续演讲时更接近实时出字
- 可降延迟:本地 adapter 现已优先复用常驻 Whisper worker,连续分段不再每次重新加载模型
- 可更及时:前端现在会更早切出长句片段,常驻 worker 能更快开始转写,而不是等到很长一段后再统一提交
- 可更连贯:更早切段时会保留少量尾部上下文,连续长句的识别衔接更自然
- 可感知:本地状态栏现在会直接显示低延迟切段策略与尾部衔接状态,更容易判断系统当前节奏
- 可量化:低延迟链路现在不只是“感觉更快”,还能直接看到最近几段的真实转写耗时
- 可比较:不同切段策略的真实耗时现在能拆开看,更容易判断哪种模式最适合当前演讲节奏
- 可自调:本地低延迟链路会参考最近耗时轻量调整切段节奏,不必完全依赖固定阈值
- 可控场:若你希望每次彩排都保持同一切段节奏,现在可以直接锁定低延迟策略
- 可决策:即使不懂这些切段参数,也能直接根据系统给出的建议来选更合适的策略
- 可成句:本地 Whisper 的短暂停顿结果会先做句级聚合,减少一句话被切碎后频繁出图
- 可感知:前端会明确提示系统是否正在“聚合一句话”,更容易理解为什么还没立刻出图
- 可预判:聚合提示里会展示当前句子草稿,方便在出图前判断语义是否已经收拢完整
- 可干预:如果系统已经聚合出可用句子,用户可直接提前出图;若句子不理想,也能立刻丢弃重说
- 可定位:聚合草稿现在在时间线里有明确位置,更容易区分“已完成分段”和“待成句草稿”
- 可微调:若草稿大意已对但措辞还想再润一下,可先送入文本兜底区再手动生成
- 可追溯:经过编辑区再生成的内容,时间线里仍能看出它最初来自聚合草稿
- 可回链:原始 Whisper 分段和编辑后生成的文本之间现在能双向对照,更适合复盘和排查
- 可导航:来源链不只是说明关系,还能直接带你跳到对应原分段,复盘更快
- 可往返:现在原始 Whisper 分段和编辑稿之间都能互相跳转,复盘链路更完整
- 可聚焦:来源链现在不仅能跳转,还能暂时切成“只看这一条链”的工作视图
- 可联想:聚焦来源链时能同时看到相关画面线索,文本与视觉结果更容易对照复盘
- 可带走:来源链聚焦视图里的局部上下文现在可以单独导出,便于做针对性复盘或交接
- 可观测:本地 Whisper 的处理与排队状态已在前端可见,更容易判断是忙碌还是异常
- 可诊断:每个本地转写片段都有独立状态,便于定位是某一段慢还是整条链路慢
- 可排障:失败分段会直接留在时间线上,便于判断是偶发识别失败还是持续性后端异常
- 可恢复:失败分段支持单条重试,减少因偶发错误导致的整段返工
- 可定位:失败分段会带上错误原因摘要,能更快区分超时、后端不可达或服务异常
- 可编辑:时间线里的已完成分段可以单独重生成画面,适合快速试不同表达片段
- 可稳定:连续多段完成时,画面生成会自动排队串行执行,不会因为并发触发而打架
- 可连贯:后一段会等待前一张画面完成切换后再继续,减少连续演讲时的视觉抢占
- 可抑制重复:自动语音分段会跳过短时间内的重复出图,但手动“重生成”仍可强制执行
- 可沉淀:关键分段可以收藏并单独导出,方便做演讲提纲和素材回收
- 可编排:收藏分段支持章节标题和顺序调整,更接近真正的演讲工程
- 可回收:收藏导出的片段同时保留关联画面信息,方便后续复盘和二次创作
- 可交接:章节导出已升级为工程包结构,内含章节总览、封面级元数据与画面资产,便于后续复盘、再编辑或交给他人继续整理
- 可阅读:收藏章节还可直接导出为离线 HTML 故事板,不必借助额外工具即可查看
- 可回退:本地模型不可用时,会自动退回到云端或静态图库
以 2026 年 6 月 19 日这轮产品化校准为基准,Sonas 当前建议按机器能力分三档准备本地模型:
- 文本理解:
qwen3:4b - 可替代:
gemma3n:e4b、gemma3:4b - 语音识别:
distil-large-v3 - 图像生成:ComfyUI +
FLUX.1-schnell或轻量 SDXL 工作流
适合先跑通整条链路,尤其是 16GB 内存、8GB 左右显存或笔记本设备。若当前机器更吃紧,Gemma 3n 这类轻量同档模型通常比“盲目追最新大模型”更实用。
- 文本理解:
qwen3:8b - 可替代:
gemma3:12b - 语音识别:
whisper-large-v3-turbo - 图像生成:ComfyUI +
FLUX.1-schnell或稳定 SDXL 工作流
这是当前 Sonas 最推荐的“普通单机可用”默认组合,兼顾语音连续性、语义质量与图像生成速度。这里的“推荐”不是指参数最新,而是指更容易在普通单机上长期稳定彩排、复现和排障。
- 文本理解:
qwen3:14b - 可替代:
gemma3:27b - 语音识别:
whisper-large-v3 - 图像生成:ComfyUI +
FLUX.1-dev或更重的高质量 SDXL 工作流
适合更强的桌面机,接受更慢的首帧和更高显存占用,换取更稳定的语义理解和更强画质上限。若你已经在更强机器上稳定跑通更新一代的大模型,也更适合先把它们放到这一档实验,而不是直接改写 Sonas 的普通单机默认推荐。
截至 2026 年 6 月 19 日这轮校准,Qwen3 仍适合作为 Sonas 的默认主推本地文本模型;如果当前机器已经优先装了 Gemma 3 / Gemma 3n,同档位也完全可以继续沿用,不必为了“对齐推荐清单”再额外重复拉一套 Qwen。
同一时间点上,更前沿的新开源模型也值得持续关注。比如 Google 已在 2026 年 4 月 2 日发布 Gemma 4,但 Sonas 当前没有直接把它写成“普通单机默认值”,原因不是它不先进,而是 Sonas 现阶段更看重三件事:
- 普通单机今天就能稳定跑起来
- Ollama / 本地推理链路更容易接入和排障
- 语音、语义、图像三条链路需要一起平衡,而不是只追单一模型上限
换句话说,Sonas 当前的产品化策略是:
- 默认主线继续使用
Qwen3 / Gemma 3 / Gemma 3n + whisper-large-v3-turbo + FLUX.1-schnell - 更强机器再往
qwen3:14b / gemma3:27b + whisper-large-v3 + FLUX.1-dev这一档走 - 更新一代的大模型先作为“高配实验路径”观察,而不是直接覆盖普通单机默认推荐
这也是 Sonas 接下来继续产品化时的主要技术方向。
下一阶段若要继续向真正可交付产品演进,优先建议补齐:
- 更完整的 Whisper/VAD/WebSocket 流式语音链路,替代当前前端静音检测 + 分段上传模式
- 更强的本地视觉模型工作流与连续编辑能力
- 更完整的演讲工程回放能力,例如倍速、章节标记与可编辑时间线
- 更完整的会话工程管理与品牌风格模板
- 后端服务化与多用户配置管理
- 本项目使用浏览器原生 Web Speech API 进行语音识别,需要浏览器支持
- 本地 Whisper 模式需要额外安装
faster-whisper - 已支持开源 ComfyUI 的实时生成与连续编辑(优先)
- 当前默认接线更适合基础
txt2img与基于上一张图的img2img连续编辑;ControlNet、局部重绘、放大等复杂链路更适合作为后续增强或在 ComfyUI 中单独调试 - Ollama 未启动时,系统会自动退回到规则分析或 OpenAI
- OpenAI 仅作为可选二级回退,未配置时可继续使用
- 若 ComfyUI 未加载
COMFYUI_CHECKPOINT指定模型,请按实际模型名修改后端环境变量
MIT