技术报告

TinkyVision:要有视觉

失明的模型能对世界进行推理,却无法观察它。TinkyVision 为任意模型 —— 包括纯文本模型 —— 提供持续、低延迟、可证明的视觉:每秒一帧、一个 300 帧的循环缓冲环、终端画面渲染,以及将视图直接流入模型循环的 MCP 工具。

↓ 下载报告(PDF) 已排版 · 与本页同一事实来源 · 生成于 2026-09-14T08:22Z
PILOT-READY 与模型无关的视觉 感知与见证 —— 而非控制权 2026-09-14
摘要

上一波 AI 进展造就了能够描述一张图片的模型。它并没有造就能够观察一台机器的模型。前沿视觉模型能为一张快照配文字;它无法随时间、以低延迟、通过一条窄到足以在气隙或带宽匮乏部署中存活的通道去观察一个运行中的系统。本报告描述 TinkyVision,一个通过反转常见假设为任意模型提供持续视觉的视觉层。TinkyVision 不是按需向多模态模型发送重型像素,而是以稳定的每秒一帧对屏幕采样,保持一个固定的 300 帧循环缓冲环 —— 五分钟的滚动视觉记忆,且永不增长 —— 将每一帧渲染为终端画面,使像素变成任意模型都能读取的文本,再通过 OCR 过程恢复屏幕上的文字,并通过 MCP 工具暴露整个流,让模型在其正常循环中把视觉当作一等工具调用来拉取。每一帧都带有一个哈希值,因此该流同时兼作溯源:你可以证明模型看到了什么以及何时看到。其结果是粗糙但持续、廉价且可移植的 —— 轻量视觉,它能到达文本所能到达的任何地方,正是为那些重型视觉无法进入的环境而生。我们描述了其设计、流式路径、MCP 接口,并 —— 坦率地 —— 说明其局限。

先坦诚说明框架:TinkyVision 是一个感知与见证层,而非系统的控制权。它让模型看见;它并不决定模型可以做什么。保真度刻意保持粗糙 —— 布局、状态变化和文字,而非像素级完美的细节。成熟度标注为 PILOT-READY。下文每一条主张都写成可核查的形式。

1 · 失明模型问题

让任意模型 —— 无论前沿还是本地 —— 去操作一台运行中的机器,你都会撞上同一堵墙:它看不见这台机器。它能推理屏幕上应该有什么,但它对实际有什么没有眼睛。业界的答案一直是视觉模型:编码一张图像,输入多模态 transformer,得到一段文字描述。那个答案真实而强大,但对于运动中的操作系统而言,它的形态是错的。四个属性造就了这一点:

问题不在于视觉模型弱。而在于"接上一个视觉模型"回答的是"它能给一张图像配文字吗?",而操作层面的问题是"它能盯住一个系统吗 —— 廉价地、持续地、在网络几乎触及不到的地方?"

2 · 设计原则

TinkyVision 从三项承诺出发,每一项都被选来使视觉成为一个有界、可移植的原语,而非一项重量级服务。

P1 —— 构造上有界。一切都是固定大小且可预测的:固定的节奏、固定的环、固定的渲染预算。没有任何东西无限增长,因此成本与延迟事先已知,并能在小型机器或细管道上存活。
P2 —— 与模型无关。视觉不得要求多模态模型。如果视图以文本形式到达,那么任意模型 —— 纯文本、本地、微型 —— 都能读取它。视觉成为通道的属性,而非模型的属性。
P3 —— 可证明。每一帧都被哈希并按时间排序,因此该流不仅是感知,更是证据:一份关于屏幕上有什么、何时有的见证记录。

3 · 工作原理:我们所展示的机制

3.1 · 每秒一帧

TinkyVision 以稳定的每秒一帧对目标 —— 一个桌面、一个应用程序窗口、一个 VM 客户机 —— 进行采样。这是一个刻意选择的节奏,而非局限。每秒一帧足以感知界面中重要的状态变化(一个窗口打开、一个数值更新、一个步骤完成),而不会用冗余的近乎相同的帧淹没模型的上下文或传输线。该节奏可预测,因此下游消费者确切知道每分钟到达多少数据,并能为之做预算。

3.2 · 300 帧的循环缓冲环

帧落入一个固定的 300 个槽位的环。以每秒一帧计,这是五分钟的滚动视觉历史 —— 而且它永不增长。第 301 个槽位覆盖第 1 个槽位。存储是恒定的;没有清理作业,没有无界日志,没有可被填满的磁盘。模型获得一个可以回滚翻阅的短期视觉记忆:"三十秒前屏幕是什么样子?"是一次查找,而非重新捕获。有界记忆正是让同一设计既能在工作站上运行、又能在受限节点上运行而不改变其占用足迹的原因。

3.3 · 终端画面 —— 把像素变成任意模型都能读取的视觉

这是终结失明的一步。每一帧都被渲染为终端画面:一个紧凑的字符网格(ASCII/ANSI),它保留了屏幕的布局、结构和粗略的视觉状态。一帧不再是一团像素,而成为一块文本。一个完全没有视觉编码器的模型现在也能"看见"屏幕,因为屏幕已经以每个模型都已经在读取的那一种模态到达了。

┌────────────────────────────────────────────┐ │ ▓▓ File Edit View Help │ ├────────────────────────────────────────────┤ │ │ │ ██████████ Installing… │ │ ▓▓▓▓▓▓░░░░░ 64% │ │ │ │ [ Cancel ] [ OK ] │ │ │ └────────────────────────────────────────────┘

示例终端画面帧。纯文本模型将其读作字符并感知到:一个带菜单栏的窗口、一个进行中的安装(约 64%),以及两个按钮 —— 足以知道状态并决定下一步动作。

终端画面是刻意有损的。它承载结构与状态 —— 东西在哪里、什么变了、界面处于哪个阶段 —— 而非照片级细节。对于操作一个系统,结构与状态通常正是你所需要的。凡精确的屏幕文字至关重要之处,对同一帧的一次 OCR 过程可恢复字面字符,而无障碍读取(在可用时)可恢复具名元素。用终端画面表现屏幕的形状,用 OCR 和无障碍读取表现它的文字:二者共同构成了功能性视觉。

3.4 · 逐帧溯源

每一帧在进入环时都被哈希。哈希加上该帧的时间戳把该流变成一份获取记录:对"模型看到了什么,且确切在何时?"的可验证回答。感知与证据是同一件工件。在模型的观察会导向一项重大动作的场景中,那份回执正是"模型说它看到了 X"与"这里是被哈希的、带时间戳的帧,它展示了 X"之间的区别。

4 · MCP 工具:视觉作为一等工具调用

只有当模型真的能看时,一个流才是视觉。TinkyVision 通过 MCP(模型上下文协议)工具暴露该环,因此看是模型现有推理-行动循环中的一次普通工具调用 —— 而不是一条模型必须被接入的带外流水线。模型在需要时精确拉取它所需的视图:

能力模型得到什么
当前帧目标表面最新捕获的帧。
终端画面帧渲染为文本的帧 —— 供非视觉模型使用的视觉。
帧的 OCR从像素中恢复的字面屏幕文字。
帧历史回滚翻阅该环 —— 屏幕的最近 N 秒。
查找文字 / 元素在当前表面上定位一个字符串或一个具名控件。
无障碍读取在平台暴露的情况下提供具名的结构化元素。

因为视觉以工具结果的形式到达,它与模型所做的其他一切都能组合。一个计划中的步骤变成:看(终端画面帧)→ 读(OCR)→ 决定 → 行动 → 再看。感知循环与行动循环是同一个循环。而且因为每一次看都是一个有界的、文本形态的载荷,"检查屏幕"的延迟就是一次小型工具调用的延迟 —— 而非把一张图像编码并发送到远程视觉服务的延迟。

模型不再等待有人向它描述一张图片。它请求去看,然后就看 —— 一次一个字符网格。

实例 · 一段真实的五分钟流

以上都是描述;这里是它运行的样子。这是由实时 TinkyVision 流水线(LIST)产生的一段未经剪辑的五分钟归档——以每秒恰好一帧采样、共 300 帧,正是 §3 的设计,且每五分钟实时编译一次。而这一段是真实的工作:Kist 智能体在操作一台 Windows 98 虚拟机——一侧是 macOS 与它的智能体,另一侧是 Win98 客户机,并通过 telnet 连到局域网上一台真实的 Win98 机器。重点在于完整的 1 fps/300 帧流水线在一次真实会话中端到端跑通了,且它自己的元数据与本文完全吻合。

真实的 TinkyVision 五分钟归档 · 采集于 2026-09-03 03:46–03:51 EDT · Kist 智能体驱动一台 Windows 98 虚拟机(一半 macOS,一半 Windows)。以 1 fps 采样进 300 帧归档——§3 的机制,真实工作实况。

归档元数据(原文)值
kindtinkystream-five-minute-archive
采样率1 fps
帧数300
名义时长300 秒(5 分钟)
时间窗口2026-09-03 03:46:25 → 03:51:25(America/New_York)
内容 ID7620638d · 编码 h264 · 500 kbps

它是如何"出来"的。流本身不是成果——对它的读取才是。同一条流水线会输出逐帧的视觉转录,而这里能看到它的诚实:某一刻采集失败,流水线如实报告"Frame unable — retrying"(无法取帧,重试中),而非编造画面;且屏幕上的凭据在文本离开机器前就已被脱敏。以下是针对这段归档由机器生成的转录原文摘录:

# Kist Work Agent — Windows 98 session Frames: 300 at 1.0 FPS · Transcript type: visual activity transcript Privacy: credentials replaced with [REDACTED SECRET] +0s (observed) Kist Work Agent: "Agent ready" · What Kist Sees: Desktop, Windows Explorer MS-DOS Prompt; Windows Explorer; Access code: [REDACTED SECRET] +20s (observed) Legacy V1 · Error: Frame unable - retrying +120s (observed) Windows 98 desktop with DOS Prompt and file explorer, unchanged +180s (observed) "Agent ready" · a 'Shut Down Windows' dialog appears on the desktop +240s (observed) macOS view of the Kist interface · status "What Kit Sees: Desktop"

归档 7620638d 的流水线转录摘录。注意被脱敏的访问码,以及那一帧采集失败时被如实报告为 "Frame unable — retrying"、而非臆造。这正是 §3.4 逐帧溯源的实践。

5 · 在本来根本不会有视觉的地方进行低延迟流式传输

本报告最尖锐的主张不是 TinkyVision 看得比前沿视觉模型更好。而是 TinkyVision 能看到前沿视觉模型无法到达之处。

考虑一下载荷。一张完整截图是数百 KB 到数 MB 的图像。一个终端画面帧是几 KB 的文本 —— 往往更少。那个差异不是边际优化;它是一种类别的改变。文本形态的帧能在根本无法承载图像的通道上流式传输:一个终端会话、一条串行线、一个纯文本中继、一条窄或间歇的链路。在你永远无法向云端视觉端点维持视频馈送的地方,你可以无限期地维持一条每秒一帧的字符流,因为每一帧都很小,而环是有界的。

这就是我们所说的轻量视觉:视觉的尺寸被裁剪到能在传输中存活,而不是假定传输很慷慨的视觉。节奏是固定的,帧是文本,记忆是有界的 —— 因此带宽与延迟可预测且低,并且只要流在运行,它们就一直如此。

6 · 气隙环境:轻量视觉正是所需之物

该设计在那些让常规方法失效的环境中回报最大:

在每一种情形中,替代方案都不是"更差的视觉"。而是没有视觉 —— 一个对着它看不见的屏幕进行推理的模型。轻量视觉把它变成一个能观察的模型,代价是该环境实际付得起的。

7 · 坦诚的局限

如此廉价、如此可移植的视觉伴随着真实的取舍,我们坦率地陈述它们,而不是让演示暗示别的。

8 · 结论:要有视觉

一个看不见运行中系统的模型不是一个弱的操作者;它是一个失明的操作者,对着一个它无法观察的世界进行推理。那个反射性的修补 —— 硬接上一个视觉模型 —— 回答的是与操作层面不同的问题,而且它恰恰是在那些最付不起像素、出站和多模态要求的环境中作出回答。

TinkyVision 走上了另一条路。它让时间成为首要轴 —— 一条稳定的每秒一帧的流,带有五分钟的有界记忆 —— 并让文本成为媒介,把屏幕渲染为终端画面,使视觉搭乘通道而非模型。以 MCP 工具调用的形式交付,并盖上逐帧溯源的印记,它把"看一下屏幕"变成一个廉价、持续、可验证的行为,任意模型在文本所能到达的任何地方都能使用。不是比前沿视觉模型更锐利的视觉 —— 而是可移植、持续、可证明的视觉,出现在重型视觉从未抵达的地方。

模型本是失明的。要有视觉。

TinkyVision 技术报告 · Perslis Research · 生成于 2026 年 9 月 14 日 · 04:22 EDT (2026-09-14T08:22Z) · PILOT-READY · 每一条主张都按其如何获得而标注。

如何引用

Perslis Research.《TinkyVision: Let There Be Sight》。技术报告,2026。https://research.perslis.com/tinky-vision.html

@techreport{perslis_tinkyvision_2026,
  title       = {TinkyVision: Let There Be Sight},
  author      = {{Perslis Research}},
  institution = {Perslis Research},
  type        = {Technical Report},
  year        = {2026},
  url         = {https://research.perslis.com/tinky-vision.html}
}