本系统现已支持为每个转录任务生成永久的web查看链接,用户可以通过链接在浏览器中查看转录结果,无需通过企业微信接收长文本。
- 永久有效:查看链接永不过期
- 合并展示:上半部分显示LLM总结,下半部分显示完整转录
- Markdown渲染:支持格式化显示,包含emoji和代码高亮
- 响应式设计:支持手机和桌面浏览器
- 无需认证:查看链接可直接访问
{
"web": {
"base_url": "https://your-domain.com",
"enable_view_links": true
}
}配置说明:
base_url: 外部访问的根域名,用于生成查看链接enable_view_links: 是否启用查看链接功能
{
"web": {
"base_url": "https://transcript.your-company.com",
"enable_view_links": true
}
}{
"web": {
"base_url": "http://localhost:8000",
"enable_view_links": true
}
}用户通过API提交转录任务时,系统自动:
- 生成全局唯一的
task_id(格式:task_xxxxxxxxx) - 生成永久的
view_token(格式:view_xxxxxxxxx) - 将任务信息保存到数据库
转录完成后:
- 保存转录结果到缓存系统
- 更新数据库中的任务状态
LLM处理完成后,系统会依次发送:
- 校对文本 - 通过企业微信发送
- 总结文本 - 通过企业微信发送
- 查看链接 - 单独发送一条消息,包含完整查看链接
用户点击链接后看到:
- 页面顶部:视频标题、作者、原始链接
- 上半部分:📝 内容总结(Markdown渲染)
- 下半部分:📄 完整转录文本(Markdown渲染)
https://your-domain.com/view/view_xxxxxxxxxxxxxxxxx
系统支持多种页面状态:
- 显示转录进度
- 自动刷新功能
- 30秒后自动重新加载
- 显示完整的转录内容
- 支持Markdown渲染
- 响应式设计
- 提示底层文件已被清理
- 提供原始视频链接
- 引导用户重新提交任务
- 显示错误信息
- 提供解决建议
- 重新加载功能
LLM处理完成后,会收到如下格式的通知:
🔗 【查看链接】视频标题
点击查看完整转录:https://your-domain.com/view/view_xxxxx
- 查看链接无需认证即可访问
- 仅能查看对应任务的内容
- 无法修改或重新提交任务
- view_token 使用32字节随机字符串
- 搜索空间极大,难以被暴力破解
- 系统会定期清理旧的转录文件
- 查看链接永久有效,但内容可能被清理
- 被清理后会显示相应提示页面
运行测试脚本验证功能:
python test_core_features.py测试内容包括:
- 数据库初始化
- 任务创建和UUID生成
- View token生成和查询
- 任务状态管理
- Markdown渲染
- 基础URL配置
- 查看页面数据获取
- 企业微信链接生成
- 检查 config.json 中的 base_url 配置
- 确认API服务器正在运行
- 验证防火墙和端口设置
- 检查模板文件是否完整
- 验证Markdown依赖包是否安装
- 查看服务器日志错误信息
- 确认 config.json 中 enable_view_links 为 true
- 检查LLM处理是否完成
- 验证企业微信webhook配置
新增的依赖包已添加到 requirements.txt:
markdown>=3.4.0
pymdown-extensions>=10.0.0
jinja2>=3.0.0
安装命令:
pip install -r requirements.txt- 后端: FastAPI + SQLite + Jinja2
- 前端: HTML5 + CSS3 (响应式设计)
- 渲染: 服务端Markdown渲染
- 存储: 基于现有的智能缓存系统
- 通知: 集成现有的企业微信系统
- 浏览器: 支持所有现代浏览器
- 移动设备: 响应式设计,支持手机访问
- 文本编码: UTF-8,支持中文和emoji
- 平台: Windows/Linux/macOS 跨平台兼容