大家好,继续更新一下 LinkPeek 。 它以及更新迭代到 v1.2.0 了,https://github.com/shigella520/LinkPeek/releases/tag/v1.2.0
LinkPeek 是一个自部署的链接预览代理服务,主要解决 iMessage / IM 分享链接时预览不稳定、标题不够适合分享的问题。服务对外还是一个统一入口:
/preview?url=...
爬虫访问时返回 Open Graph HTML ,普通用户点击时直接 302 跳回原始链接。
这次 1.2.0 主要围绕 AI 标题生成和后台管理做了一轮比较大的迭代。
这次更新了什么
1. AI 标题生成
现在文本类卡片可以通过 style 参数生成 AI 标题。
比如:
/preview?url=...&style=FREESTYLE
目前 V2EX 、NGA 、LINUX DO 这类文本内容会把正文整理成 Raw Content ,再结合后台配置的 Style Prompt 生成一行更适合分享的标题。
Bilibili 这类本身有真实图片预览的内容不会强行改成 AI 标题卡片,还是保留原图预览。
2. FREESTYLE 模式
新增了一个保留 style:FREESTYLE。
它不会对应某一个固定 prompt ,而是从后台已配置的 Style Prompt 里随机选一个。
Dashboard 里的链接生成器现在默认就是 FREESTYLE,这样日常生成分享链接时不用每次手选风格。
3. Style Prompt 和 Title Format Prompt 分离
之前标题生成的提示词比较混在一起,现在拆成两类:
- Style Prompt:控制标题风格
- Title Format Prompt:控制输出格式
Raw Content 会作为独立 user message 放在最后,避免风格提示和正文混在一起。
另外 Style Key 保存和请求匹配都会统一转大写,避免 fun / FUN 这类重复配置问题。
4. AI Provider 管理后台
这版加了 /admin 管理后台(在 Dashboard 连续按 3 下 6 会看到跳转按钮)。
现在可以在页面里维护:
- Style Prompt
- Title Format Prompt
- AI Provider
- Provider Cookie / 登录态配置
- 服务日志
- 统计数据清理
AI Provider 支持:
- 多 Provider fallback
- 单个 Provider 请求超时配置
- 拖拽排序
- 列表直接启用 / 禁用
- 连通性测试
5. 自动降级
AI Provider 支持全局自动降级。
当某个 Provider 连续超时达到配置阈值,会自动移动到列表最后,同时写一条比较明显的 WARN 日志。
这个主要是为了解决某个上游临时不稳定时,服务能自己切到后面的 Provider 。
6. 并发预览去重
修了一个并发问题:如果多个请求同时打到同一个未缓存的预览,之前可能重复触发渲染任务。
现在对同一个 PreviewKey 做了本地单飞锁,缓存未命中时只会有一个请求实际去抓取 / 渲染,其它请求复用结果。
Dashboard 也补了一些 AI 指标
Dashboard 现在会展示:
- AI 请求数
- AI 渲染占比
- AI 成功率
项目地址
GitHub: https://github.com/shigella520/LinkPeek
Live Demo: https://linkpeek.jianyutan.com/dashboard
如果你之前用过 LinkPeek ,这次升级后建议配置一下 /admin,尤其是 Style Prompt 和 AI Provider 。配置好以后,Dashboard 里直接生成链接默认就会带 FREESTYLE。