跳过正文

作品

2026

Argus — 纯前端长视频理解 Agent Harness

193 字
Argus(取名自希腊百眼巨人 Argus Panoptes)是我独立设计开发并开源的长视频理解 agent harness——只有前端、没有后端,视频完全在浏览器本地解码处理,API Key 与模型全部用户自填。让多模态 LLM agent 自己调用工具去"看"视频:抽帧、局部放大、记笔记、派子代理,典型场景如监控视频数人数、找特定物品。 🔗 在线体验 Argus 🐙 GitHub 源码 它解决什么 # 让 LLM 理解长视频的痛点不在模型,而在怎么把视频喂给它:整段上传太贵,盲抽帧又漏信息。Argus 把这个问题交给 agent 自己决策——它先看视频元信息,再自主决定抽哪些帧、用什么频率、哪里需要放大细看,上下文要爆了就派子代理分段处理。同时视频不离开浏览器,没有服务器,没有数据上传。 架构亮点 # 手写 Agent Loop — 基于 Vercel AI SDK streamText 手动驱动工具循环:拿到 tool calls 自行执行,把抽帧图片作为 ImagePart 注入下一轮,循环直到 agent 给出结论。 8 个视频理解工具 — get_video_info / extract_frames(范围+频率抽帧带时间戳)/ extract_frame_at / list_frames / inspect_region(局部放大细看)/ remember / recall(状态记忆,防长上下文遗忘)/ spawn_subagent(超长视频分段,防上下文爆炸)。 浏览器本地硬解码抽帧 — 原生 <video> + <canvas> seeked + rAF 抽帧(含黑帧重试),mediainfo.js(wasm 懒加载)只用于 fps/编码/码率等富信息,加载本地性能优先。 211 个 Provider 运行时目录 — 接入 models.dev 目录并归一化为 provider 预设,下拉可搜;自动标记视觉模型并优先默认选中(适配视频理解);OpenAI 兼容 / Anthropic / Gemini 三类传输自动判定,附带 CORS 提示与连接测试。 子代理隔离上下文 — 子代理 = 去掉 spawn_subagent 工具的嵌套 agent 运行,长视频分段理解的中间过程不污染主上下文。 技术栈 # 前端 · Vite 8 + React 19 + TypeScript 7(native tsc)+ Tailwind 4 + zustand

见微 Vane — 生产级 AI 个性化信息推送系统

185 字
见微 Vane 是我独立设计并开发的 AI 个性化信息推送系统——它持续从多个信源采集内容,用 LLM 按用户画像打分筛选,再通过飞书把"值得看的"推给你,并从反馈中学习、不断校准画像。从产品设计、系统架构到上线运维,一个人全部走通。 🔗 在线体验 Vane 🐙 GitHub 源码 它解决什么 # 信息过载时代,RSS、资讯站、网站更新太多,人工筛选成本极高。Vane 让一个 AI Agent 替你盯着所有信源,只推真正相关的内容,且越用越懂你——把"刷信息"变成"信息来找你"。 架构亮点 # 完整 Agent Runtime — 自建 agent loop + 工具调用(信源增删、画像调整、信源启停等),配合飞书确认卡做「人在环」交互,动作结果回写会话,避免模型对已处理动作产生状态幻觉。 A2A 协议接入 — 基于 a2a-go 实现 Agent-to-Agent 互操作,把 Agent 能力做成可被标准化调用的服务。 画像 + 反馈闭环 — 用户画像驱动个性化打分,用户反馈实时校准画像,形成「推送 → 反馈 → 画像进化」的自学习闭环。 Temporal 工作流编排 — 每日推送调度与抓取流水线由 Temporal 托管,保证可靠、可重放、幂等,长流程不怕中断。 多信源采集与去重 — 统一接入 RSS 与网页内容,以 canonical_key 内容身份系统做跨源去重,同一条内容不重复打扰。 LLM 成本可观测 — 每次打分的 prompt / completion / token 明细落库,模型开销全程可查、可优化。 技术栈 # 后端 · Go 1.26 · Temporal · PostgreSQL 18 · 飞书开放平台 · A2A 协议