HOS ME
一个功能强大的办公自动化平台,支持批量任务处理、模板管理、复杂内容渲染和文档导入导出。
功能特性
核心功能
- 模板管理:支持XML模板格式,支持模板导入导出
- 批量处理:支持批量生成文档、批量转换等功能
- 文档转换:支持多种格式之间的转换,包括DOCX、PDF、JSON、EXCEL、MD等
- 图片处理:支持图片自动排序、OCR识别等功能
- 图表渲染:支持多种图表类型的渲染
- OCR功能:集成DeepSeek OCR,支持图片内容识别和模板变量填充
- Ollama管理:支持Ollama自动下载、安装和模型管理
- 本地模型支持:支持热门模型如A3B-Q8量化版本的自动下载和使用
扩展功能
- 会议管理:支持会议纪要生成、会议安排等功能
- 项目管理:支持项目计划、进度跟踪等功能
- 知识库:支持知识管理、检索等功能
- RAG库优化:支持自动生成文件总结,可配置总结长度
- 日程管理:支持日程安排、提醒等功能
- 审批管理:支持审批流程、状态跟踪等功能
- 任务管理:支持任务分配、进度跟踪等功能
命令行支持
- 所有功能均可通过命令行调用
- 自定义模块和工作流自动兼容命令行模式
- 提供完整的命令行帮助文档
安装方法
从PyPI安装
pip install HOS_ME
从源码安装
# 克隆仓库
git clone https://github.com/hos-me/hos-me.git
cd hos-me
# 安装依赖
pip install -r requirements.txt
# 安装包
pip install -e .
安装完整版本(包含所有可选依赖)
pip install HOS_ME[full]
快速开始
命令行使用
# 查看帮助
hos-me --help
# 初始化配置
hos-me init
# 运行服务器
hos-me run
# 显示版本信息
hos-me version
# 检查状态
hos-me status
通过配置文件运行
# 使用指定配置文件运行
hos-me run --config ~/.hos-me/config.json
# 启用调试模式
hos-me run --debug
# 指定主机和端口
hos-me run --host 127.0.0.1 --port 8000
配置文件
配置文件位于 ~/.hos-me/config.json,您可以根据需要修改配置:
{
"api_key": "your_api_key",
"deepseek_api_key": "your_deepseek_api_key",
"ollama_url": "http://localhost:11434",
"log_level": "INFO",
"port": 5000,
"host": "0.0.0.0",
"debug": false,
"upload_folder": "~/.hos-me/uploads",
"log_folder": "~/.hos-me/logs"
}
系统设置文件
系统设置文件位于项目根目录的 system_settings.json,包含模板设置、API设置、系统设置和RAG设置:
{
"template_settings": {
"output_before": {
"format": "txt",
"encoding": "utf-8"
},
"output_during": {
"docx": {
"font_name": "微软雅黑",
"font_size": 12,
"margin": {"top": 2.54, "right": 2.54, "bottom": 2.54, "left": 2.54},
"line_spacing": 1.5
}
}
},
"api_settings": {
"default_api_source": "deepseek",
"request_timeout": 30,
"max_retries": 3
},
"system_settings": {
"app_name": "HOS可扩展式办公平台",
"version": "1.1.3",
"debug": false
},
"rag_settings": {
"default_library_id": "",
"auto_generate_embeddings": true,
"summary_settings": {
"enabled": true,
"max_chars": 100,
"include_filename": true,
"include_content_preview": true
}
}
}
功能使用
文件上传下载
单文件上传
curl -X POST -F "file=@path/to/file.txt" http://localhost:5000/api/upload
多文件上传
curl -X POST -F "files=@path/to/file1.txt" -F "files=@path/to/file2.txt" http://localhost:5000/api/upload/multiple
文件下载
curl -O http://localhost:5000/api/download/filename.txt
RAG库使用
创建RAG库
curl -X POST -H "Content-Type: application/json" -d '{"name": "我的RAG库", "description": "测试RAG库"}' http://localhost:5000/api/rag/libraries
上传文档到RAG库
curl -X POST -F "library_id=raglib_1234567890" -F "file=@path/to/document.txt" -F "title=文档标题" http://localhost:5000/api/rag/documents/upload
使用RAG库生成报告
curl -X POST -H "Content-Type: application/json" -d '{"prompt": "生成一份关于AI的报告", "rag_library_id": "raglib_1234567890"}' http://localhost:5000/api/generate_single_report
配置指南
日志配置
日志文件位于 ~/.hos-me/logs/hos-me.log,可以通过修改配置文件中的 log_level 来调整日志级别:
- DEBUG: 详细调试信息
- INFO: 普通信息
- WARNING: 警告信息
- ERROR: 错误信息
- CRITICAL: 严重错误信息
上传下载配置
- 上传文件保存位置:
~/.hos-me/uploads - 支持的文件类型:txt, docx, pdf, xls, xlsx, csv
- 最大文件大小:10MB(可在system_settings.json中修改)
RAG配置
RAG配置位于 system_settings.json 中的 rag_settings 部分:
enabled_rag: 是否启用RAG功能default_library_id: 默认使用的RAG库IDauto_generate_embeddings: 是否自动生成嵌入summary_settings: 文档总结配置enabled: 是否启用自动总结max_chars: 总结的最大字符数include_filename: 是否包含文件名include_content_preview: 是否包含内容预览
常见问题
安装后无法运行
确保所有依赖都已正确安装:
pip install HOS_ME[full]
上传文件失败
- 检查文件大小是否超过限制
- 检查文件类型是否被支持
- 检查上传目录权限
RAG功能无法使用
- 确保已安装sentence_transformers依赖
- 确保RAG库已创建并包含文档
- 确保已生成文档嵌入
应用无法启动
- 检查配置文件是否正确
- 检查端口是否被占用
- 检查日志文件获取详细错误信息
API 文档
健康检查
GET /api/health
文件上传
# 单文件上传
POST /api/upload
Content-Type: multipart/form-data
# 多文件上传
POST /api/upload/multiple
Content-Type: multipart/form-data
文件下载
GET /api/download/<filename>
模板管理
# 获取所有模板
GET /api/templates
# 获取指定模板
GET /api/templates/<template_id>
# 创建模板
POST /api/templates
# 更新模板
PUT /api/templates/<template_id>
# 删除模板
DELETE /api/templates/<template_id>
开发指南
安装开发依赖
pip install HOS_ME[dev]
运行测试
pytest
代码风格检查
flake8
black .
isort .
构建文档
sphinx-build -b html docs/source docs/build
目录结构
HOS_ME/
├── HOS_ME/
│ ├── templates/ # 模板文件
│ ├── static/ # 静态资源
│ ├── utils/ # 工具模块
│ ├── __init__.py # 包初始化
│ └── app.py # 主应用
├── templates_storage/ # 模板存储
├── requirements.txt # 依赖列表
├── setup.py # 安装配置
└── README.md # 项目说明
依赖项
核心依赖
- Flask>=2.0.0
- requests>=2.25.0
- python-dotenv>=0.20.0
- python-docx>=1.0.0
- lxml>=4.6.0
- pillow>=8.0.0
上传下载功能依赖
- flask-dropzone>=2.0.0
- flask-uploads>=0.2.1
命令行界面依赖
- click>=8.0.0
日志系统依赖
- python-json-logger>=2.0.0
文件处理依赖
- PyPDF2>=2.0.0
- openpyxl>=3.0.7
- pandas>=1.3.0
许可证
MIT
贡献
欢迎提交Issue和Pull Request!
联系方式
- 作者:HOS ME Team
- 邮箱:hos_me@example.com
- 项目地址:https://github.com/hos-me/hos-me
Ollama管理
检查Ollama状态
# 命令行方式
hos-me ollama status
# API方式
curl http://localhost:5000/api/ollama/status
安装Ollama
# 命令行方式
hos-me ollama install
# API方式
curl -X POST http://localhost:5000/api/ollama/install
启动Ollama服务
# 命令行方式
hos-me ollama start
# API方式
curl -X POST http://localhost:5000/api/ollama/start
安装默认模型
# 命令行方式
hos-me ollama install-default-model
# API方式
curl -X POST http://localhost:5000/api/ollama/models/install_default
下载指定模型
# 命令行方式
hos-me ollama download-model --model-name a3b-q8_0
# API方式
curl -X POST -H "Content-Type: application/json" -d '{"model_name": "a3b-q8_0"}' http://localhost:5000/api/ollama/models/download
完整设置Ollama
# 命令行方式(自动安装Ollama、启动服务并下载默认模型)
hos-me ollama setup
# API方式
curl -X POST http://localhost:5000/api/ollama/setup
RAG库使用
创建RAG库
# 命令行方式
hos-me rag create --name "我的RAG库" --description "测试RAG库"
# API方式
curl -X POST -H "Content-Type: application/json" -d '{"name": "我的RAG库", "description": "测试RAG库"}' http://localhost:5000/api/rag/libraries
上传文档到RAG库
# 命令行方式
hos-me rag upload-document --library-id raglib_1234567890 --file path/to/document.txt --title "文档标题"
# API方式
curl -X POST -F "library_id=raglib_1234567890" -F "file=@path/to/document.txt" -F "title=文档标题" http://localhost:5000/api/rag/documents/upload
更新RAG库中文档总结
# 命令行方式
hos-me rag update-library-summaries --library-id raglib_1234567890
更新所有文档总结
# 命令行方式
hos-me rag update-summaries
系统设置
配置文件说明
系统设置文件位于 ~/.hos-me/system_settings.json,包含以下主要配置项:
- template_settings: 模板相关配置
- api_settings: API相关配置
- system_settings: 系统基本配置
- rag_settings: RAG库相关配置
- summary_settings: 文档总结配置
- enabled: 是否启用自动总结
- max_chars: 总结的最大字符数(默认100)
- include_filename: 是否包含文件名
- include_content_preview: 是否包含内容预览
- summary_settings: 文档总结配置
- install_settings: 安装相关配置
- ollama: Ollama相关配置
- enabled: 是否启用Ollama
- auto_download: 是否自动下载Ollama
- base_url: Ollama服务地址
- default_model: 默认模型(推荐a3b-q8_0)
- recommended_models: 推荐模型列表
- ollama: Ollama相关配置
修改系统设置
# 通过API修改
curl -X PUT -H "Content-Type: application/json" -d '{"rag_settings": {"summary_settings": {"max_chars": 200}}}' http://localhost:5000/api/system/settings
命令行使用
查看所有命令
hos-me --help
查看特定组命令
hos-me rag --help
查看特定命令帮助
hos-me rag create --help
常用命令示例
# 初始化配置
hos-me init
# 运行服务器
hos-me run
# 显示版本信息
hos-me version
# 检查状态
hos-me status
# 列出RAG库
hos-me rag list
# 创建自定义模块
hos-me custom create-module --name "我的模块" --description "测试模块"
# 生成工作流
hos-me custom generate-workflow "创建一个数据分析工作流" --save
# 将工作流转换为模块
hos-me custom convert-workflow-to-module workflow_1234567890
Metadata
Release files for HOS-ME 1.1.6
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| hos_me-1.1.6.tar.gz | 184.4 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| hos_me-1.1.6-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 356.2 kB
Release files / hos_me-1.1.6.tar.gz
| Download URL | hos_me-1.1.6.tar.gz |
|---|---|
| Size | 184.4 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
99882f5d417b314f53f637e93c4d34c1bd38dc3d2a498b927560c8569c80a10d
|
|
BLAKE2b-256 checksum How to use checksums |
db464a6b656d75602e8e7e4142ec04665b6d8236b74dde5a04373db7ac8de16d
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.11.9
|
Release files / hos_me-1.1.6-py3-none-any.whl
| Download URL | hos_me-1.1.6-py3-none-any.whl |
|---|---|
| Size | 171.8 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
88d3388128356fea06a65832d1261326b63b66028cba1588ab7ee67930c25722
|
|
BLAKE2b-256 checksum How to use checksums |
ca6b61d545f6719884e9a1a7753f014de661627f30b9f112820e728ff3cd60fc
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.11.9
|