Skip to main content

HOS ME - 一个功能强大的办公自动化平台,支持批量任务处理、模板管理、复杂内容渲染和文档导入导出

Project description

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库ID
  • auto_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!

联系方式

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: 是否包含内容预览
  • install_settings: 安装相关配置
    • ollama: Ollama相关配置
      • enabled: 是否启用Ollama
      • auto_download: 是否自动下载Ollama
      • base_url: Ollama服务地址
      • default_model: 默认模型(推荐a3b-q8_0)
      • recommended_models: 推荐模型列表

修改系统设置

# 通过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

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

hos_me-1.1.6.tar.gz (184.4 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

hos_me-1.1.6-py3-none-any.whl (171.8 kB view details)

Uploaded Python 3

File details

Details for the file hos_me-1.1.6.tar.gz.

File metadata

  • Download URL: hos_me-1.1.6.tar.gz
  • Upload date:
  • Size: 184.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.11.9

File hashes

Hashes for hos_me-1.1.6.tar.gz
Algorithm Hash digest
SHA256 99882f5d417b314f53f637e93c4d34c1bd38dc3d2a498b927560c8569c80a10d
MD5 03afa54ec7560196f2f410637d546da5
BLAKE2b-256 db464a6b656d75602e8e7e4142ec04665b6d8236b74dde5a04373db7ac8de16d

See more details on using hashes here.

File details

Details for the file hos_me-1.1.6-py3-none-any.whl.

File metadata

  • Download URL: hos_me-1.1.6-py3-none-any.whl
  • Upload date:
  • Size: 171.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.11.9

File hashes

Hashes for hos_me-1.1.6-py3-none-any.whl
Algorithm Hash digest
SHA256 88d3388128356fea06a65832d1261326b63b66028cba1588ab7ee67930c25722
MD5 34614da1ca847356774712e5956802ed
BLAKE2b-256 ca6b61d545f6719884e9a1a7753f014de661627f30b9f112820e728ff3cd60fc

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page