内容
<div align="center">
<img src="assets/logo.png" alt="Haypile Lite" width="260">
# Haypile Lite
**为您的代理提供本地资产,而无需让它们遍历您的磁盘。**
分散的文件 -> Haypile -> 准备好的软件包 -> HTTP/MCP -> 代理
[简体中文](README.zh-CN.md)






</div>
## 30秒演示
启动小型桌面应用程序:
```bash
python3 app_gui.py
```
将图像或音频文件拖放到它上面,然后询问Haypile有什么准备好了:
```bash
python3 examples/use_haypile_http.py
```
预期输出是一个`asset-handoff` JSON负载,具有稳定的`id`、`sha256`、`source_key`、`url`、`resolved_url`和出处字段。
**边界:** 代理通过HTTP或MCP读取已注册的资产。它们不应直接扫描或修改`storage/assets`。

## 为什么
当代理可以使用用户的真实图像、音频和主题片段时,它们会变得更好。原始文件夹是问题所在:资产分散、名称不可靠、重复文件堆积,文件系统访问对于简单的生成任务来说太过强大。
Haypile是一个本地资产堆栈,带有门户。将文件放入;Haypile进行哈希、去重、注册,并仅提供清单批准的资产。代理获得干净的已准备软件包,而不是铲子和磁盘路径。
这个比喻是一个草原上的干草堆:收集本地材料,安全存储,等待后续使用。
## 目前的功能
- 提供一个用于图像和音频的小型桌面放置目标。
- 对资产进行哈希、去重、重命名并本地存储。
- 构建一个清单并仅通过`/static`提供已注册的文件。
- 通过只读HTTP API提供已准备的软件包。
- 在同一HTTP API上提供一个薄的MCP适配器。
- 发出具有来源的代理交接数据。
- 可选地使用本地Ollama视觉模型进行图像排序。
- 在不需要AI排序时保持低功耗模式可用。
## 快速开始
从源代码安装:
```bash
git clone https://github.com/chenjinnan82-stack/Haypile-lite.git
cd Haypile-lite
python3 -m pip install -r requirements.txt
```
运行Haypile:
```bash
python3 app_gui.py
```
手动后端烟雾测试:
```bash
HAYPILE_BACKEND_HOST_ALLOW_START=1 python3 backend_host.py
```
运行公共检查:
```bash
python3 -m unittest tests/test_agent_examples.py tests/test_mcp_server.py
```
运行完整套件:
```bash
python3 -m unittest discover -s tests
```
## 代理访问
默认后端:
```text
http://127.0.0.1:8010
```
有用的端点:
```text
GET /healthz
GET /readyz
GET /api/v1/bundles
GET /api/v1/bundles?status=ready
GET /api/v1/bundles?status=ready&type=image&role=hero_image
GET /api/v1/bundles/{bundle_id}
GET /api/v1/vault
```
MCP主机配置:
```json
{
"mcpServers": {
"haypile": {
"command": "python3",
"args": ["/absolute/path/to/Haypile-lite/mcp_server.py"],
"env": {
"HAYPILE_BASE_URL": "http://127.0.0.1:8010"
}
}
}
}
```
参见[代理HTTP契约](docs/AGENT_HTTP_CONTRACT.md)和[代理配方](docs/AGENT_RECIPES.md),了解完整的交接形状。
## 本地AI
AI排序是可选的。即使没有AI,Haypile仍然作为本地注册表工作。
强制无AI模式:
```bash
HAYPILE_LOW_POWER_MODE=1 python3 app_gui.py
```
有关本地模型设置,请参见[本地AI设置](docs/LOCAL_AI.md)。
## 边界
Haypile Lite不是云资产管理器或完整的DAM。
它**不**目前承诺提供打包安装程序、多用户同步、远程托管、通过代理进行破坏性资产突变或生产级资产审批工作流程。
公开的v0.1界面故意较小:本地摄入、本地注册、清单门控静态访问、只读HTTP、只读MCP和用于代理的显式交接数据。
## 项目结构
```text
桌面放置目标 app_gui.py
FastAPI后端 app/main.py
后端启动器 backend_host.py
HTTP软件包API app/api/v1/bundles.py
主题保险库API app/api/v1/theme.py
清单扫描器 app/services/scanner.py
软件包服务 app/services/bundle_service.py
主题注册表 app/services/theme_registry.py
可选视觉排序 app/services/style_classifier.py
MCP适配器 mcp_server.py
代理示例 examples/
公共文档 docs/
测试 tests/
运行时存储 storage/
```
## 路线图
- 更好的macOS打包。
- 更多公共代理配方。
- 更清晰的桌面启动。
- 跨平台启动说明。
- 更稳定的可选AI排序。
## 贡献
欢迎小而集中的更改。参见[贡献](CONTRIBUTING.md)。
有关漏洞报告,请参见[安全策略](SECURITY.md)。
## 许可证
MIT。参见[LICENSE](LICENSE)。
第三方通知列表在[NOTICE](NOTICE)中。