Repository navigation
Releases: regrevia/Envoy
Release list
v0.1.8: fix(browser): read feed pages silently and pick one player source
更新日志 / Changelog
Unreleased
中文
-
隔离浏览器改为默认全程静默:登录浮层先被关闭再判定页面状态,浮层自身文案
(如「验证码登录」)不再被误判成安全验证;确实需要人工验证时返回
challenge_required,不再自动弹窗。只有显式设置ENVOY_VISIBLE_BROWSER=1
才启用可见浏览器回退。 -
修复抖音类 feed 页拿不到原片:播放器起步只有
blob:MSE 源甚至没有源,Envoy
现在会短暂等待真实 HTTP 片源出现(已播放的 MSE 页面立即返回),忽略
blob:/data:播放器内部地址,并用每个候选前 64 KiB 的 sha256 指纹把同一文件的
镜像地址(签名 CDN +aweme/v1/play跳转)归并成一个下载目标,不再把多候选
整体拒绝或误判为“没有唯一的页面视频地址”。真机验证:抖音单条视频静默取回
7.0 MB 原片、216 秒时长、109 段中文 ASR 与 12 个章节,全程无窗口、无人工介入。 -
新增 DeepSeek Harness 插件
integrations/dsh/envoy-dsh:在插件管理器中一次安装即可挂载
envoy mcp(默认core)、注册 Envoy Skill,并通过agent/pre-step实现链接优先路由;
保留原有读取、发现、续读和视觉交接能力;高级工具可用ENVOY_MCP_TOOLSET=full开启。 -
新增 Claude Code 与 Codex 插件(
integrations/claude-code、integrations/codex),共享
envoy hook prompt的 URL 检测、内网过滤、显式退出和失败开放策略。路由提示默认按用户
消息自动选择中文或英文(ENVOY_HOOK_LANGUAGE=auto)。Claude Code 直接加载插件 hook;
Codex 0.156 起只加载用户级 hook,需执行一次envoy hook install --host codex写入
~/.codex/hooks.json。 -
该路由只处理用户给出的链接、视频/音频和需要完整来源证据的读取,不替代宿主自带联网
搜索;模型遇到链接时优先用分段读取/envoy_expand/envoy_search控制上下文。 -
媒体下载(yt-dlp)与页面读取、Chromium 统一走同一套出网策略:默认直连,只有直连失败且
存在可用代理时才自动回退;ENVOY_BROWSER_PROXY仍可指定代理或设为none/off禁止代理。
此前 yt-dlp 会自行采用系统代理,导致系统代理不可用时页面能读、视频/ASR 抓取却报 SSL 握手
超时;现在两条路径的出口一致,且失败后的回退只发生一次。 -
OCR 新增 macOS Vision 与 RapidOCR 后端,默认语言改为
auto(中文优先、兼容英文),新增
envoy ocr status|test,并支持ENVOY_OCR_BACKEND/ENVOY_OCR_LANG。 -
新增 MCP
--toolset core|full(环境变量ENVOY_MCP_TOOLSET):core只声明
envoy_read、envoy_expand、envoy_search、envoy_observe_visual,工具声明从约
19.9 KB 降到约 8.2 KB。envoy mcp现在默认core;Claude Code、Codex、通用 Skill
和 DSH 插件的配置统一只写envoy mcp,因此ENVOY_MCP_TOOLSET是唯一的全局开关:
在启动宿主的环境里导出full即可获得本地视频、主页发现、合集、回放、视觉历史和
doctor。此前配置里的--toolset参数会遮蔽该环境变量,现已移除。工具集在进程启动时
固定,避免中途换 schema 破坏缓存。 -
新增 DSH Skill 生成器与测试,将全部 MCP 工具名适配为
mcp__envoy__*(core默认外露
四个,full暴露十个),并检查生成文件与 CLI 版本同步。 -
新增
envoy hook status --host <claude-code|codex|dsh> [--json]:只读地报告 hook 投递
方式、配置文件、wrapper 是否存在、以及 Codex 是否已安装;Codex 的/hooks信任发生在
CLI 内且不落盘,因此诚实报告为trusted: unknown,不臆测。 -
新增
scripts/check_versions.py --check:交叉校验 10 处版本声明(两个pyproject.toml、
三个插件/市场清单、DSH bundle、Skill 打包脚本和两个测试常量)与 CLI 权威版本一致,
并接入 CI;scripts/sync_host_skills.py --check同时防止宿主技能副本漂移。 -
envoy_read现在直接接受本地文件路径和file://URL(视频走本机 Whisper,原文件不上传),
失败原因同时写进content[0].text与structuredContent.errors[0].details,不再只回
source_unavailable而没有细节。 -
MCP 读取结果的可行动句柄写进
content[0].text:material_id、source_revision,以及
“用envoy_search/envoy_expand继续、不要重读 URL”。同一 URL 再次读取直接复用本进程
已保留的物料(served_from_retained_material,不发网络请求),确实要重抓时传
refresh: true;重抓遇到登录、验证或源不可用时降级为保留物料并附
notices[].refetch_error,而不是返回blocked。本服务不声明 MCP resources 能力,
list_mcp_resources为空是设计如此,物料只经 structuredContent 下发。
English
-
Reading in the isolated browser is now silent by default: a dismissible
login dialog is cleared before the page state is judged, so the dialog's own
wording (for example a验证码登录tab) is no longer mistaken for a captcha.
A page that genuinely needs verification returnschallenge_required
instead of opening a window; visible browser mode now requires
ENVOY_VISIBLE_BROWSER=1. -
Fix original-video capture on feed pages such as Douyin: the player may start
with only ablob:MSE source or none at all. Envoy now waits briefly for a
real HTTP source (returning immediately when the page is already playing
MSE), ignoresblob:/data:player internals, and groups mirror URLs of one
file (a signed CDN link plus anaweme/v1/playredirect) by the sha256 of
their first 64 KiB, so one post yields one download target instead of a
rejected multi-candidate or ambiguous set. Verified against the live site:
one Douyin post returned a 7.0 MB source file, 216 seconds of duration, 109
Chinese ASR segments, and 12 chapters with no window and no user action. -
Route media downloads (yt-dlp) through the same outbound policy as page reads
and Chromium: connect directly by default and fall back to a proxy only after
a direct attempt fails.ENVOY_BROWSER_PROXYstill pins a proxy or disables
proxying withnone/off. yt-dlp previously adopted the operating-system
proxy on its own, so with an unreachable proxy a page could be read while its
video/ASR capture failed with an SSL handshake timeout. -
Add MCP
--toolset core|full(alsoENVOY_MCP_TOOLSET):coredeclares only
envoy_read,envoy_expand,envoy_search, andenvoy_observe_visual,
reducing resident tool declarations from about 19.9 KB to about 8.2 KB.
Bareenvoy mcpnow defaults tocore. Every bundled config (Claude Code,
Codex, the generic skill host, and the DSH bundle) launches plain
envoy mcp, soENVOY_MCP_TOOLSETis the single global switch: export
fullin the environment that starts the host to add local video, profile
discovery, collections, replay, visual history, and doctor. A--toolset
argument in a bundled config used to shadow that variable and has been
removed. The toolset stays fixed at process startup so schemas never change
mid-session. -
Add the
integrations/dsh/envoy-dshDeepSeek Harness bundle: one Plugin
Manager install mounts plainenvoy mcp(core default), registers the Envoy
skill, and enables link-first routing throughagent/pre-stepwhile
preserving reading, discovery, expansion, and visual handoff behavior;
advanced tools remain available withENVOY_MCP_TOOLSET=full. -
Add Claude Code and Codex plugins (
integrations/claude-code,
integrations/codex) sharing theenvoy hook promptURL detection,
private-address filtering, explicit opt-out, and fail-open policy. The notice
language defaults toauto(Chinese prompt →zh, otherwiseen). Claude
Code loads plugin hooks directly; Codex 0.156+ only loads user-level hooks,
so runenvoy hook install --host codexonce to write
~/.codex/hooks.json. -
Routing only covers user-supplied links, video/audio, and reads that need
full-source evidence. It does not replace the host's web search; the
model uses bounded reads plusenvoy_expand/envoy_searchto control
context. -
Add macOS Vision and RapidOCR OCR backends, default the language to
auto
(Chinese first, English compatible), addenvoy ocr status|test, and support
ENVOY_OCR_BACKEND/ENVOY_OCR_LANG. -
Add a DSH skill generator and tests that adapt every MCP tool name to
mcp__envoy__*(four exposed bycore, all ten underfull) and keep
generated files in sync with the CLI version. -
envoy_readnow accepts a local file path orfile://URL directly (video
goes through on-device Whisper; the original file is never uploaded), and a
failure carries its reason in bothcontent[0].textand
structuredContent.errors[0].detailsinstead of a baresource_unavailable. -
Every read result carries the actionable handle in
content[0].text—
material_id,source_revision, and "continue withenvoy_search/
envoy_expand, do not re-read the URL" — so a host that drops
structuredContentcan still continue. Reading the same URL again answers
from the material retained in the process
(served_from_retained_material, no network call); passrefresh: truefor
a deliberate new read, and a refresh that hits sign-in, a challenge, or a
source error falls back to the retained material with arefetch_error
notice instead ofblocked. This server declares no MCP resources
capability, so an emptylist_mcp_resourcesis by design; material only
travels instructuredContent.
Known boundaries
- Codex 0.156+ ignores plugin-supplied lifecycle hooks; the plugin provides
MCP only, and the hook must be installed at user level. - Vision OCR is macOS-only; RapidOCR/PaddleOCR require optional extras, and
PaddleOCR/RapidOCR paths are mock-tested rather than validated on every
platform.
0.1.6 - 2026-10-22
中文
- 原创代码与文档采用 Apache-2.0;发行包包含
LICENSE和NOTICE。 - 网络、依赖、登录或验证恢复后,允许使用同一 operation key 重试可恢复的读取;已完成材料与视觉交接可复用。
- 增加实验性小红书图文/分享链接路由,保留图集来源、顺序,并明确未知总量。
- 扩展常见平台 URL 路由与 headless 回退;路由可识别不代表平台已真实验收,也不代表绕过站点限制。
- 结构化报告 HTTP 404,不将其直接推断为删除或封锁;仅使用用户配置或明确认可的可信代理。
- 将 Agent 安装入口前置,说明 Skill、runtime、MCP 的分步配置,并增加注意脱敏的反馈表单。
已知边界
- Whisper 与 FFmpeg 为可选依赖;缺少 ASR 或只有稀疏帧时,不能视为完整视频证据。本版未新增平台真实验收声明。
- 抖音主页发现为实验能力:规范作者主页、最多保存 100 个候选、快照内分页;不支持日期范围检索,批量预算由宿主记账。
- 独立 runtime 暂不支持扫描版 PDF OCR。
- v1.0 前仍需重复验证全新安装和真实链接、ASR 恢复流程,并完成宿主实际用量对比。
English
- Adopt Apache-2.0 for original code and documentation; include
LICENSEand
NOTICEin distributions. - Retry recoverable reads with the same operation key after network,
dependency, login, or verification recovery; reuse completed materials and
visual handoffs. - Add experimental Xiaohongshu image-note/share routing with source-bound
ordering and explicit unknown-total coverage. - Expand common platform URL routing and headless fallback. URL routing does
not imply real-world acceptance or bypass site restrictions. - Return structured HTTP 404 diagnostics without assuming deletion or
blocking. Use only configured or explicitly approved trusted proxies. - Put Agent installation first, clarify separate Skill/runtime/MCP setup, and
add redaction-aware feedback forms.
Known boundaries
- Whisper and FFmpeg are optional. Missing ASR or sparse frames are not full
video evidence. This release adds no new real-platform acceptance claims. - Douyin discovery is experimental: canonical author URLs, up to 100 saved
candidates, snapshot pagination, no date-range query, and host-accounted
batch budgets. - Scan-only PDF OCR is unavailable in the standalone runtime.
- v1.0 readiness still requires repeatable fresh-install and real-link
acceptance, ASR recovery validation, and measured host-usage comparisons.
v0.1.6 稳定安装版 / Stable install
更新日志 / Changelog
0.1.6 - 2026-10-22
中文
- 原创代码与文档采用 Apache-2.0;发行包包含
LICENSE和NOTICE。 - 网络、依赖、登录或验证恢复后,允许使用同一 operation key 重试可恢复的读取;已完成材料与视觉交接可复用。
- 增加实验性小红书图文/分享链接路由,保留图集来源、顺序,并明确未知总量。
- 扩展常见平台 URL 路由与 headless 回退;路由可识别不代表平台已真实验收,也不代表绕过站点限制。
- 结构化报告 HTTP 404,不将其直接推断为删除或封锁;仅使用用户配置或明确认可的可信代理。
- 将 Agent 安装入口前置,说明 Skill、runtime、MCP 的分步配置,并增加注意脱敏的反馈表单。
已知边界
- Whisper 与 FFmpeg 为可选依赖;缺少 ASR 或只有稀疏帧时,不能视为完整视频证据。本版未新增平台真实验收声明。
- 抖音主页发现为实验能力:规范作者主页、最多保存 100 个候选、快照内分页;不支持日期范围检索,批量预算由宿主记账。
- 独立 runtime 暂不支持扫描版 PDF OCR。
- v1.0 前仍需重复验证全新安装和真实链接、ASR 恢复流程,并完成宿主实际用量对比。
English
- Adopt Apache-2.0 for original code and documentation; include
LICENSEand
NOTICEin distributions. - Retry recoverable reads with the same operation key after network,
dependency, login, or verification recovery; reuse completed materials and
visual handoffs. - Add experimental Xiaohongshu image-note/share routing with source-bound
ordering and explicit unknown-total coverage. - Expand common platform URL routing and headless fallback. URL routing does
not imply real-world acceptance or bypass site restrictions. - Return structured HTTP 404 diagnostics without assuming deletion or
blocking. Use only configured or explicitly approved trusted proxies. - Put Agent installation first, clarify separate Skill/runtime/MCP setup, and
add redaction-aware feedback forms.
Known boundaries
- Whisper and FFmpeg are optional. Missing ASR or sparse frames are not full
video evidence. This release adds no new real-platform acceptance claims. - Douyin discovery is experimental: canonical author URLs, up to 100 saved
candidates, snapshot pagination, no date-range query, and host-accounted
batch budgets. - Scan-only PDF OCR is unavailable in the standalone runtime.
- v1.0 readiness still requires repeatable fresh-install and real-link
acceptance, ASR recovery validation, and measured host-usage comparisons.
v0.1.5
v0.1.4
v0.1.2
v0.1.1
Full Changelog: https://github.com/regrevia/Envoy/commits/v0.1.1