基于 @ByteBender 大佬的 Linux.do Agent 项目,我在实际使用过程中增加一些个人喜好的改造
主要原因很简单:在平时的使用过程中经常会遇到DOEN内容显示请求超时、输出内容JSON不规范、新建会话内容不显示且覆盖之前的会话等问题,经常导致某些问题反复提问、切换模型进行提问等,用起来非常影响体验。所以对部分功能点进行了改造。
以下是本次改造内容比较关键的几个点。
内容改动说明
多 API 轮询 + 自动故障转移
- 支持同时配置多个 API(比如 OpenAI、DeepSeek、Groq 等)
- 当前 API 请求失败时,会自动切换到下一个可用节点
主要是为了避免切换api需要覆盖之前的内容感觉挺麻烦的。
修掉了“会话列表消失”的老bug
新建会话内容不显示且覆盖之前的会话尤其是用 1Password、浏览器自动填充。
- 问题根源:貌似是浏览器会把侧边栏的“搜索框”误判成登录输入框,自动填充 UserID
- 结果表现:新建会话其实已经创建了,但被自动过滤掉,界面上看起来就像会话没了
处理方式是加了一层 Honeypot(蜜罐)机制,彻底隔离自动填充干扰,目前使用下来很稳定。
模型输出 JSON 的智能修复机制
这个问题感觉不少人都踩过(本人在这个问题上踩了不少的坑,一直反复的修改提示词切换模型,但是感觉作用不是很明显)。
- 部分模型喜欢给 JSON 外面套一层 ```json markdown,哪怕修改提示词依旧没用
- 有时还会少括号、少字段,直接导致解析失败
现在的处理逻辑是两步:
- 自动清理:识别并剥离多余的 markdown 包裹
- 自动重试:如果 JSON 真的解析失败,不是直接结束,而是把错误信息回传给模型,让它重新输出一版
实际使用下来,目前没有再遇到这类问题(目前模型用的是:claude-opus-4-5-20251101 站内大佬的公益站
新的可视化配置界面
之前那种简单的 prompt 弹窗体验感觉不是很好所以将配置 UI 调整了一下。
- 使用独立的模态框配置界面
- API 列表改成卡片式管理,启用/禁用一目了然
- 每个 API 都支持单独做 连接测试,Key 填完点一下就知道能不能用
整体体验更加便利
一些不太显眼但很实用的优化
-
请求超时时间可配置:默认 120 秒,如果查询站内的内容比较多则非常好用,我总是会超时所以增加了可配置超时时间
-
性能相关优化:
- 会话数量上限 50 个,自动清理旧记录
- 本地存储加了防抖处理,浏览器压力更小
安装地址
GreasyFork:
https://greasyfork.org/zh-CN/scripts/560275-linux-do-agent
如果之前装过原版,建议先禁用或卸载,避免冲突。
项目已经开源,欢迎 PR:
https://github.com/YOLO-9257/linuxdo-agent

