内容
getsquish/squish
[](https://www.npmjs.com/package/@gets/squish)
[
[](https.com/getsquish/squish/blob/main/LICENSE)

**让 AI 可以随机访问** 与其强迫模型从头到尾观看剪辑ish 将连续视频转换为 **可寻址的视觉表示** —— 一种智能体可以导航、重访和逐步完善的表示。带时间戳的联系表是该原语的 **首个实现**:一个网格,每个单元格都带有其绝对时间码。所有操作都在您的机器上运行 —— 只需一个调用即可替换整个 ffmpeg → 提取 → 蒙太奇的流程,因此即使您有 shell 也更倾向于使用它。同时,通过 **托管的器,它也适用于 **Claude Desktop / claude.ai**:添加 `https://api.getsquish.app/mcp`,无需安装 —— 该路径在 Squish 的服务器上处理您的公共视频 URL,而不是本地([远程 MCP 文档](https://getsquish.gitbook.io/squish/reference/remote-mcp),[隐私隐私))。由 [getsquish.app](https://gets.app) 制作。
> **智能体不消费视频 —— 它们导航视频。** 真实运行:通过检索 **34 帧 —— 而不是 3,088 帧**(概览 → 缩放 → 缩放),将场景剪辑固定在 **0.2 秒**。在 **单个日内为 5 个客户和 3 个口** 证明了这一点;Claude Desktop 完成了多轮循环,独立完成,精度达到亚秒级,无需教导。
**演示是原语。** 一个 76 秒的关于联系表的说明 —— 以及同一个视频 **作为一个联系表**。一个需要播放按钮;另一个可以直接阅读:
<table>
<tr>
<td width="50%" align="center" valign="top">
<a href="https://getsquish.app/assets/content/smart-contact-sheets.mp4">
<img src="https://getsqu/assets/content/smart-contact-sheets-poster.jpg" alt="表如何使视频可寻址 — 76 秒说明视频="100%">
</a>
<br><sub><b>观看 — 76 秒,线性</b></sub>
>
<td width="50%" align="center" valign="top href="https://getsquish.app/assets/content/smart-contact-3x3.jpg">
<img src="https://getsquish.app/assets/content/smart-contact-sheets-3.jpg" alt="同一个 76 秒视频带时间戳3×3 联系表" width="100%">
</a>
<br><b> 一张表格,随机访问</b></sub>
</td>
</tr>
</table>
## 为什么有效
**AI 通过镜头看,而不是通过答案 —— Squish 调整镜头;模型解释。** 视频是连续的;推理是稀疏的。大多数问题只触及时间线的一小部分。Squish 将时间线转换为可寻址的地图,因此智能体 **检索它需要的视觉证据,而不是重播所有内容** —— 联系表不是输出,它层。窗口(`start`/`end`)是镜头变宽或变窄;密度是镜头变粗或变循环是镜头移动直到答案可见。
## 安装
```bash
npmg @getsquish/squish # 或一次性:ny @getsququish <视频>
```
**要求: ≥ 20 · `ffmpeg` + `` 在 PATH 上
(macOS ` ffmpeg` · Ubuntu `sudo apt-get install ffmpeg`)。
## 命令
```bashquish clip.mov # 表格放在输入文件旁边
squish clip.mov --density 5x5 --json # 更密集的网格 + 机器可读
squish clip.mov --start 1:00 --end 1:30 --density 5x5 缩放到一个范围
```
输出:`<sheet-N.jpg` —— 一个带时间戳的帧网格。默认密度 3×3 恢复 **发生了什么**;x4`–`6x6` 恢复 **它是如何完成的**。`--out <dir>` 选择目标目录。
`--start` / `--end` 以秒为单位(`90`)或与表格上标记的时间码完全相同(`1:30`,`1:07.3`),并将运行窗口调整到该范围。**时间码始终相对于源视频**,因此您可以重复缩放:概览 → 发现一个范围 → 使用 `--start/--end` 重新运行 → 更精细 → 再次钻取。短窗口标记时间码(`1:07.3以便相邻单元格保持可区分。
使用 `--json` 时,stdout 是一个对象(冻结合约 —— 解析 `contract` 以检测破坏性更改```json
{
"input":/path/clip.mov "duration":.275,
"frames": 9 "sheets": 1,
"files": ["/abs/path/clip.sheet-"],
"warnings": [],
"contractsquish-cli-v0"
}
```
` 成功1` stderr 上的消息)。临时帧始终被带窗口的运行还会回显 `"window": { "start": …, "end": … }` (解析边界,秒 `duration` —— 当未请求窗口时,键不存在。
## MCP 服务器
```bash
squish m # stdio 服务器
```
一个工具,squish_video `{ video_path, density?, start?, out_dir? } 命令行界面合约 **加** `time` (每个表格;``,亚秒:ss.d` 当窗口很短时),contract": "ish-mcp-v0"`。`start`/`end` 或表格时间码,并驱动下面的导航循环。
与 Claude Code、Claude Desktop、Cursor、Hermes 和任何 std 客户端配合使用:
```json
"mcpServers": {
"ish": { "command": "npx", "args": ["- "@getsququish", "mcp"] }
```
## — 官方 AI 应用,零安装
通过网络,为仅接受连接器 URL 的客户端提供服务:
**Claude Desktop / claude.ai → 设置 → 连接器 → 添加自定义连接器 →** `https://api.getsquish.app/mcp`。端点获取 **公共 `video_url`** (无共享文件系统),返回约 24 小时表格链接加上第一个表格内联,`start`/`end` 与本地工具完全一样。
无密钥调用使用一个小的匿名免费通道;`Authorization: Bearer` API 密钥(与 [托管 API](https://getsquish.app/developers) 相同的密钥和积分,在 [getsquish.app/api-keys](https://getsquish.app/api-keys) 处铸造)解锁按积分计价的作业,并在每个结果中显示配额。密钥适用于可以发送标头的任何客户端 — Claude Code、`mcp-remote`、SDK 客户端或 Claude Team/Enterprise 连接器,其组织管理员将请求标头附加;使用者连接器对话框仅限 OAuth。[远程 MCP 文档](https://getsquish.gitbook.io/squish/reference/remote-mcp)。
## 导航循环
1. **概览** — 调用 `squish_video` (MCP)或 `squish clip.mov --json` (命令行界面)并使用视觉阅读表格()。单元格按时间顺序排列,从左到右,从上到下。
2. **导航** — 发现相关区域;每个单元格都带有绝对时间码。
3. **缩放** — 调用时将 `start`/`end` 设置为发现的时间码,仅在不确定性仍然存在的地方:更密集的表格,窗口更窄,地址仍然绝对。
4. **重复** 直到答案可见 —— 在一个范围很重要时,永远不要以高密度重读整个剪辑。
5. **引用** 绝对时间戳(“在 0:07,压力下降”)。
## 隐私
命令行界面和本地 MCP 服务器在 **您的机器上** 处理所有内容 —— 永远不会上传,并且每个密度都是免费的。有两条路径故意通过 Squish 移动媒体:[托管 API](https://getsquish.app/developers)(有意的上传,预付积分,免费每日限额适用于从未购买的帐户)和远程 MCP 端点(服务器获取您的公共 `video_url`;源在作业结束时删除,表格在约 24后过期)。
---
## 本仓库
这是 **引擎** — Squish 的 + MCP 接口到 npm 作为 [`@getsquish/squish`](https://www.npmjs.com/packagequish/squish)。它是一个精选的、镜像优先导出的私有单体仓库(它将保持真实源代码的来源);历史记录从首次公开发布开始。参见 [CONTRIBUTING.md](CONTRIBUTING.md) 了解更改流程。
不在此仓库中,有意省略:
- **getsquish.app** 网页应用(渐进式网页应用)—— 相同的核心规划器,浏览器处理;
- **托管 API** (`api.getsquish.app`) 及其 **远程 MCP 端点** (`/mcp`,官方应用连接器) — 付费通道:有意上传/服务器获取的 URL付积分,免费每日限额适用于从未付费的账户,以及连接器上的免费通道;
- 品牌资产 — Squ名称、徽标、吉祥物和均受保护。
```
src/ 命令行界面(main/args)· 引擎(探测 → 规划 → 提取 → 组合 → 编写)· MCP 服务器 · 表格渲染器
src/core 与网页应用纯规划器:密度 · 采样格布局 · 时间码格式
tests/ node:test 套件 + 真实 MCP 客户端 e2e
SKILL.md 即插即用代理技能,教授联系表 + 缩放循环```
## [Apache-2.0](LICENSE附 [NOTICEICE))。 名称、、吉祥物和 getsquish.app 品牌资产 **不** 受本仓库许可。