关于 loremfile
loremfile 提供 CC0 样例文件和测试夹具,适用于需要真实文件输入的开发者、测试和 CI 流程。目录涵盖多种格式及异常样本,并提供 SHA-256 校验信息和下载工具。
主要功能
- 01提供多格式样例文件
- 02包含刻意构造的异常样本
- 03通过清单提供 SHA-256
- 04提供 Python 与 npm 命令行客户端
- 05支持 MCP 只读查询与文件校验
适用场景
- 01为文件解析器准备测试输入
- 02在 CI 中下载并校验夹具
- 03检查本地文件是否匹配样本
MCP 相关
Python 和 npm 包均提供 stdio MCP 服务,含列出夹具、查看描述和校验本地文件的只读工具。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
工具
3收录的工具列表 · 更新于 3 周前
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
| tag | any | 否 | 要包含的标签,匹配任意一个即可,例如 ["encrypted"]。 |
| limit | integer | 否 | 每页的示例文件数;默认值为 50,最多 250。 |
| format | any | 否 | 要包含的格式,匹配任意一个即可,例如 ["pdf", "png"]。 |
| offset | integer | 否 | 要跳过的匹配项数。 |
| max_bytes | integer | 否 | 仅限大小不超过此值的文件。 |
详细介绍
loremfile
免费、采用 CC0 许可、适合热链的各类文件示例。 类似 Lorem Picsum,但提供 PDF、图像、音频、视频、办公文档、数据文件、归档文件、字体、文本编码、原始字节块以及特意构造的异常边界案例。
https://loremfile.dev/pdf/a4-3pages.pdf
https://loremfile.dev/bin/10mb.bin
https://loremfile.dev/mp4/720p-5s.mp4
https://loremfile.dev/edge/jpg-truncated-50pct.jpg
没有广告、没有账户、没有意外的速率限制,也无需注明出处。支持开放 CORS、字节范围请求、一年不可变缓存,以及机器可读的
manifest.json,其中包含每个文件的 SHA-256 哈希值。
目前有 228 个文件,涵盖 78 种格式,另有 edge/ 集合,目录版本为 1.2.0。规范位于 docs/。
规范主机
规范主机是 https://loremfile.dev。
本 README 是带外指引:如果 loremfile.dev 不可用或迁移,当前规范主机将首先在此处公布。请勿依赖其他镜像。
你可以信赖的内容
- 已发布路径中的字节不会改变。 哈希值、字节数和 MIME 类型保持不变;修复会使用新路径,旧条目会记录
supersededBy。出于法律原因,文件可能会被撤下,此时清单会保留该文件的墓碑条目。不保证服务可用;请参阅条款。 - 欢迎热链。 这正是本服务的用途。请将自动化流量控制在每个客户端每秒 30 个请求以内(边缘节点会按 IP 地址限制为每 10 秒 300 个请求)。
- 没有跟踪 Cookie、没有分析脚本、没有账户。
面向 Agent 和 CI
/llms.txt:用一个文件说明本服务的用途。/manifest.json:列出每个示例文件及其路径、字节数、sha256、MIME 类型、标签和格式专属属性。/sha256sums.txt:使用sha256sum -c验证下载内容。/{format}/index.json:一次获取一种格式。
GitHub Action
将示例文件拉取到工作流中,并根据清单中的 sha256 检查每个文件:
- uses: kumarprabhashanand/loremfile/action@action-v1
with:
paths: pdf/minimal.pdf mp4/720p-5s.mp4
formats: svg
文件会写入 loremfile-fixtures/,并输出 dir 和 count。如果文件字节与清单不匹配,此步骤将失败并指出文件名。若 loremfile.dev 的目录版本已更新,catalog-version: "1.2.0" 会拒绝运行。
此 Action 仅使用 shell,且只与 loremfile.dev 通信。它会逐个下载文件,并在文件之间暂停;遇到 429 响应时会退避,因为已发布的速率限制同样适用于它。仅支持 Linux 和 macOS 运行器:它需要 sha256sum 或 shasum,不支持 Windows,而非勉强支持。
action-v1 是会随 Action 更新而变动的主版本标签;它刻意不采用 v* 发布标签,因为这些标签对应目录版本,推送后会被冻结。也可以固定到某个提交 SHA,这是最严格的选项。
命令行客户端
loremfile(PyPI)(Python 3.11 或更高版本)和
loremfile(npm)可以接受指定文件或整个格式,并且只有在根据其 sha256 验证后才会写入文件:
npx loremfile get --format pdf
loremfile get pdf/minimal.pdf mp4/720p-5s.mp4 # after pip install loremfile
两者都没有依赖项。 Python 包声明 dependencies = [],且仅使用标准库;npm 包的 package.json 未列出任何依赖项,且仅使用 Node 内置模块。安装任一包只会安装该包本身。
MCP 服务
这两个包也可以通过 stdio 运行 Model Context Protocol 服务,并提供三个只读工具:list_fixtures、describe_fixture 和 verify_file。使用 Node:
{ "mcpServers": { "loremfile": { "command": "npx", "args": ["-y", "loremfile", "mcp"] } } }
使用 Python,无需安装:
{ "mcpServers": { "loremfile": { "command": "uvx", "args": ["loremfile", "mcp"] } } }
该服务已列入 MCP Registry,名称为 io.github.kumarprabhashanand/loremfile;loremfile.dev/docs/mcp介绍了这些工具。
许可
| 内容 | 许可 |
|---|---|
在格式路径(/pdf/…、/bin/…、/edge/…)下提供的每个文件 | CC0 1.0 Universal:公有领域,无需署名 |
| 本仓库中的生成器、网站和工具 | MIT |
| 网站文本和图形 | CC BY 4.0,署名为“loremfile.dev” |
用于生成文件的第三方工具列于 THIRD_PARTY.md。
不会再分发任何第三方媒体:所有内容均为生成内容。
仓库
| 路径 | 内容 |
|---|---|
docs/ | 完整规范,编号为 00–19。请从 docs/README.md 开始阅读。 |
catalog/ | 声明式样例定义,每种格式对应一个 YAML 文件。 |
src/loremfile/ | 生成器、验证器、网站构建器、上传器和基础设施代码。 |
infra/ | Cloudflare 期望状态,由工作流应用。 |
manifest.json | 生成的锁定文件,不要手动编辑。 |
贡献
请在 Issues 中提交样例请求和错误报告;命名语法以及优质样例的要求请参阅
CONTRIBUTING.md。
安全问题报告:SECURITY.md。
提交拉取请求即表示你同意生成器代码采用 MIT 许可,所有生成的样例采用 CC0 许可。
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。