Skip to main content
Glama

kaeru

转换任何内容。数据不离开你的机器。 你的AI智能体和你共同使用的工具。

npx @linno-inc/kaeru --doctor     # what can this machine convert?

经过验证,而非空口宣称

以下列出的每种转换都在实际机器上逐个运行过,并且输出结果已通过第二种工具重新打开,以证明并非空文件。测试套件随代码发布,你可以自行重新统计。

操作系统

提供的转换数

实际通过数

已安装的工具

macOS 26

4,778

4,752 / 4,752

全部

Windows 11

4,062

3,708 / 3,952

ImageMagick, pandoc

Debian (Linux)

3,426

3,218 / 3,329

ImageMagick, pandoc

npm test        # re-run every combination on your machine
npm run list    # print the conversion table (this is what the numbers count)

不同机器上的数字有意存在差异——原因见下文。

Related MCP server: File Convert MCP Server

表格适配你的机器

kaeru 不捆绑转换器。它会查找你已安装的转换器,并向每个转换器询问其版本实际支持的功能。无法完成的转换永远不会被提供。

$ npx @linno-inc/kaeru --doctor
This machine can do: 4,062 conversions

Tools:
  ✓ magick      C:\Program Files\ImageMagick-7.1.2-Q16-HDRI\magick.EXE
  ✗ ffmpeg      not found
  ...

Install these to unlock more:
  ffmpeg      +468 conversions   winget install Gyan.FFmpeg

什么也没安装?没问题——你将获得0个转换结果,以及一份一行式安装命令的清单。

两个入口,一个引擎

入口

面向谁

启动方式

MCP 服务器

你的AI智能体

在 .mcp.json 中添加一行

本地网页

你

npm run ui → http://127.0.0.1:19921

两者调用相同的代码,因此智能体与人类在可用功能上永远不会存在分歧。

面向智能体(MCP)

{ "mcpServers": { "kaeru": { "command": "npx", "args": ["-y", "@linno-inc/kaeru"] } } }

一个工具:convert。要求做不可能的事,它会回复从该输入实际可行的操作,或告知需要安装哪个工具。

面向人类

npm run ui 仅在 127.0.0.1 上打开一个单一页面。拖入文件,选择目标格式,保存结果。它不会持续运行——按 Ctrl-C 即关闭。无需 Docker、无需守护进程、无需账户。

支持转换的内容

图像 · 视频 · 音频 · 文档(md, html, tex, docx, odt, epub 及约30种以上) · Office 与电子表格 · PDF · 3D 模型 · Parquet。

PDF 可以 合并、拆分、压缩和栅格化。图像、音频和 PDF 可以 在不改变格式的情况下缩小体积。传入 URL 可从视频网站拉取内容。

CJK 编码会自动检测(来自 Excel 的 Shift_JIS CSV 也能直接处理)。

每份结果都附带凭证

Converted: csv>xlsx
Output:    /path/to/data.xlsx
Tool:      soffice
Command:   soffice --headless --convert-to xlsx --outdir /tmp/... /path/to/data.csv
Took:      3,512 ms

你始终可以查看是哪个程序处理了你的文件,并手动重复该过程。

安装转换器

kaeru 调用以下工具;请安装你需要的(也可以不安装,后续再添加)。

brew install imagemagick ffmpeg pandoc weasyprint qpdf img2pdf yt-dlp assimp duckdb ghostscript
brew install --cask libreoffice
winget install ImageMagick.ImageMagick Gyan.FFmpeg JohnMacFarlane.Pandoc QPDF.QPDF `
  yt-dlp.yt-dlp Assimp.Assimp DuckDB.cli ArtifexSoftware.GhostScript TheDocumentFoundation.LibreOffice
pip install weasyprint img2pdf
sudo apt install imagemagick ffmpeg pandoc qpdf img2pdf yt-dlp assimp-utils ghostscript libreoffice
pip install weasyprint

隐私与安全

  • 文件由本地程序处理。kaeru 不会发起任何网络请求(除非你明确传递了视频网站的 URL)。

  • 网页绑定到 127.0.0.1,拒绝非 localhost 的 Host 头,并通过不可猜测的 ID 返回结果。

  • 除非你明确要求,否则不会覆盖现有文件。

  • 绝无遥测数据。永远没有。 既非匿名也非可选退出——就是完全没有。

三位独立审阅者于 2026-08-18 检查了源代码;所有可利用的发现均在当天修复。有一个已知风险未修复:转换不可信的 HTML 或 SVG 可能会将本地文件嵌入输出中。 详情、严重程度及缓解措施请见 SECURITY.md。

测试

命令

检查内容

npm test

每个列出的转换实际运行,输出可重新打开

node test/quality.mjs

图像逐像素无损往返;文本保持完整

node test/fidelity.mjs

文档保留标题、表格、列表、强调

node test/languages.mjs

12种书写系统的字符保持正确

node test/platforms.mjs

工具查找在 macOS / Windows / Linux 上正确

已知缺口已记录在案,未予隐藏——请参见 docs/。

支持

欢迎提交 Issue。这是一个单人项目:不承诺回复时间。 如需捆绑安装程序或支持合同,请参阅本文件底部。

许可证

MIT。其调用的转换器拥有各自的许可证。


需要为团队安装此工具,或需要支持合同? 请提交一个标题为 commercial 的 Issue,我会与你联系。

Available Tools

1 tool
convertA

ファイルを別の形式に変換する(0通り・入力0形式)。変換はこの端末の中で行い、変換のためにファイルをどこへも送らない(動画サイトの URL を渡した時だけ、その取り込みで通信する)。扱うもの: 画像・動画・音声・文書(md/html/tex/docx/odt/epub ほか)・Office と表計算(CSV の文字コードは自動判別)・PDF・3Dモデル・Parquet。PDF は結合(input に複数)・切り出し(pages)・圧縮・画像化・文字の取り出し(to: txt)ができる。絵も複数渡すと1枚にまとまる(columns で横に並べる数を決める)。max で長い方の辺を画素数で収められる(縮小のみ)。同じ形式を to に指定すると、形は変えずに小さくする(画像・音声・PDF)。動画サイト(YouTube・X 等)は input に URL を渡す。対応していない組み合わせを頼むと、その入力から作れる形式の一覧が返る。出力先に既にファイルがある時は止まる(消してよいなら overwrite: true)。

ParametersJSON Schema
NameRequiredDescriptionDefault
toYes出力形式(拡張子。例: pdf)
maxNo絵の長い方の辺を、この画素数に収める(縮小のみ。元より大きくはしない)
inputYes入力ファイルの絶対パス。動画サイトの URL でもよい。PDF の結合だけ複数渡せる
pagesNoPDF から切り出すページ(例: 1-3,5)。指定しなければ全ページ
outputNo出力先の絶対パス。省略時は入力と同じ場所に置く
columnsNo絵を複数まとめる時の横に並べる数。既定は 1(縦に積む)
overwriteNo出力先に既にファイルがある時、上書きしてよいか。既定は false(黙って消さない)

TDQS

A4.5/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description fully carries the behavioral burden and does so impressively: it discloses that conversion happens locally, the only network communication is when a video-site URL is passed, overwriting requires explicit opt-in, and unsupported requests return a format list. It also clarifies that max only shrinks and same-format output means size reduction, which prevents agent misexpectations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is information-dense and front-loaded with the core purpose and local-processing guarantee. It is written as one long paragraph, and the garbled '0通り・入力0形式' phrase is a readability defect, but every substantive sentence earns its place and no content is redundant.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a highly polymorphic tool with 7 parameters and no output schema, the description covers formats, operations, constraints, network behavior, overwrite safety, and error-response behavior. Nothing critical for invoking the tool correctly is missing; it even handles edge cases like same-format compression and unsupported requests.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters5/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, but the description adds meaning beyond every parameter: input can be a URL or multiple files for PDF merge; to can be the same format to compress; max is shrink-only; columns has a default of stacking vertically; pages defaults to all pages; overwrite defaults to false to avoid silent deletion. This is excellent value-add over the raw JSON schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly names the resource ('file') and the action ('convert to another format'), and it enumerates supported categories (image, video, audio, document, PDF, etc.). However, the opening parenthetical '0通り・入力0形式' is nonsensical and slightly undermines clarity, and the broad scope means it cannot be sharply distinguished from some conceivable conversion sibling.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description gives concrete usage guidance for several scenarios: PDF merging requires multiple inputs, pages extracts ranges, columns controls the grid, max shrinks only, and same-format to compresses. It also says unsupported combinations return a list of possible formats. There are no sibling tools to compare against, so it cannot give explicit when-not-to-use alternatives, which keeps it just below 5.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

  1. 1 tool updatev0.10.2
    • First observedconvert

TDQS

A4.6/5.0

Scored across 1 tool

Disambiguation5/5

ツールが convert のみで、他のツールと混同する余地がまったくない。単一ツールのためエージェントが選択を誤る可能性はない。

Naming Consistency5/5

ツール名が convert という明確な動詞で統一されており、命名の不整合や混在が存在しない。単一ツールでも分かりやすい命名と言える。

Tool Count4/5

ツールは1つだけだが、ファイル変換というサーバーの目的に対して convert が広範な形式と操作をカバーしており、実用上は十分に機能する。数は少ないが、無意味に分割せず1つに集約した設計は妥当。

Completeness5/5

画像・動画・音声・文書・PDF・3Dモデル・Parquet など主要な変換対象を網羅し、PDF結合や画像連結、動画URL取り込み、上書き制御などの必要な操作も備えている。変換ドメインにおける大きな欠落は見当たらない。

Maintenance

ActivitySlowing
ResponsivenessNo issues

Related MCP Connectors

Related MCP Servers