Repository navigation
Releases: shynloc/ACKS-Office-Suite-Simplify
Release list
ACKS Office Suite Simplify v2.1.2 — 当前文档同步
2.1.2 是文档修订版,功能与 2.1.1 一致。
- GitHub / PyPI 共用当前 README,准确说明 CLI / API、主题、字体与工作流的实际范围。
- 移除第三方动态版本徽章,避免图片缓存显示旧版本;以正文、发行页面和安装包版本为准。
- 发布检查约束文档版本、安装命令、附件名、链接和实际 CLI 入口,并拒绝缓存版本徽章。
python -m pip install acks-office==2.1.2
acks-office doctor --json附件包含 wheel、sdist、Agent 技能包和 SHA256SUMS。
验证:Python 3.9.6 下相关测试 26 项通过;跨平台 CI · PR #5。
发布验证:GitHub main README 与 PyPI 2.1.2 的说明逐字一致,两个主页实际渲染已核对;公开 PyPI 升级到 2.1.2 后,CLI version 与 doctor 通过。跨平台 CI 7/7 通过,源码树与发布标签一致。
ACKS Office Suite Simplify v2.1.1 — 文档与发布修订
文档与发布
- GitHub / PyPI 共用 README,安装入口更新为 PyPI,文档链接改为同版本的 GitHub 完整地址。
- 按实际实现说明 PDF 排版与字体条件、主题和品牌范围、CLI / Python API 区别及 LibreOffice 转换边界。
- 工作流示例移除未执行的调度、模板、回调和外部通知配置;使用示例按返回值报告结果。
- 补充文档维护规则;CI 与生产发布检查版本、CLI 入口清单和文档链接,生产发布须使用匹配版本标签。
- 程序功能与 2.1.0 一致;本版本用于同步发行包中的项目说明、元数据和示例。
安装与文档
python -m pip install acks-office==2.1.1
acks-office doctor --jsonPyPI · 同版本 README · 安装指南
附件包含 wheel、sdist、Agent 技能包与 SHA256SUMS。技能包包含程序代码,依赖由 doctor 给出补齐计划,需用户同意后安装。
验证
本地 Python 3.9.6 的技能、兼容层与 CLI 测试 26 项通过;README 的 8 条 CLI 示例和两段 Python 示例、四种格式基础示例、真实 DOCX → PDF 转换和 YAML 顺序工作流均通过。文档检查验证发布版本、安装命令、附件名、Release / 文档 URL 与实际 CLI 入口一致,且拒绝错误标签 / 分支发布。
ACKS Office Suite Simplify v2.1.0
ACKS Office Suite Simplify 2.1.0
面向 AI Agent 的版本:可在 macOS、Windows、Linux 上不依赖本机 Office 出品,首次使用时自检环境,
并以技能(Skill)形式接入各类 Agent。
新增
- 命令行
acks-office(也可python -m acks_office):create、extract、convert、watermark、
merge、fonts、doctor、version。加--json输出统一结构{ok, data, artifacts, warnings, error},
错误带code与hint;退出码 0 成功、1 失败、2 参数错误;默认不覆盖已有文件(--overwrite才覆盖)。 doctor环境检查(只读):识别宿主 Agent,给出能力等级(none / L0 / L1 / L2),报告依赖、字体、
LibreOffice 与本机其他 Office 程序(Word、WPS、Keynote 等只报告,不调用)、网络,并列出补齐计划;
每一步都是可直接执行的参数列表,执行前需征得用户同意。- Agent 技能
skills/acks-office/:SKILL.md(符合 Agent Skills 规范)、入口脚本scripts/acks.py、
参考文档。入口脚本自动使用专用虚拟环境、优先使用技能自带的代码,找不到程序时给出安装计划。
tools/build_skill_bundle.py生成可直接解压使用的技能包(含程序代码)。 - PDF 中文字体:依次使用参数
font、环境变量ACKS_OFFICE_PDF_FONT、下载的开源字体、系统自带中文字体,
并嵌入 PDF;都没有时回退到 STSong-Light 并给出FONT_FALLBACK提醒。
acks-office fonts install noto-sans-sc下载 Noto Sans SC(SIL OFL 1.1,可免费商用),校验 SHA-256。 - Markdown:Word 与 PDF 支持粗体、斜体、删除线、行内代码、链接、嵌套列表、任务清单、表格(数字列右对齐)、
引用、GitHub 提示块(> [!NOTE]等)、代码块、分隔线、图片。 - 品牌参数:Word 与 PPT 的
brand_name=""去掉全部品牌字样,传入其他名称即换成该品牌;
footer_label指定页脚文字;Word 新增封面副标题subtitle。 - PPT 切换效果
add_transition_effects真正写入文件:fade、push、wipe、split、cover、pull、dissolve、
cut、zoom、random;不支持的效果报错。 extract_data支持.pptx。- LibreOffice 自动查找:环境变量
ACKS_OFFICE_SOFFICE→ PATH → 各系统标准安装位置(如 macOS 的
/Applications/LibreOffice.app)。 - 邮件密码可从环境变量
OFFICE_EMAIL_PASSWORD(或ACKS_OFFICE_EMAIL_PASSWORD)读取;邮件带Date与
Message-ID;不存在的附件列在结果的missing_attachments里。 - 打包改用
pyproject.toml,可pip install安装并获得acks-office命令;版本号只在
acks_office/__init__.py维护。 - 持续集成:Ubuntu、macOS、Windows × Python 3.9、3.12。
修复
- 密送泄露:Bcc 地址以前写进了邮件头,所有收件人都能看到密送名单;现在只用于投递。
- 邮件传输安全:以前不校验邮件服务器证书(Python smtplib 的默认行为),服务器不支持 STARTTLS 时还会
明文发送密码;现在校验证书与主机名,并拒绝明文登录。 - PDF 中文:以前只引用不嵌入的 STSong-Light,部分阅读器显示为方块或空白;现在嵌入中文字体。
- PDF 正文中的
<、>、&以前会被当作标记,导致报错或丢字;现在原样显示。 - PDF 结果中的
pages以前是估算值,现在是实际页数。 - Word 提取文本以前漏掉表格;现在按原文顺序输出,表格每行一行、单元格用
|分隔。 - Word 合并以前会丢失图片和链接(关系 ID 失效);现在一并复制。
- ACKS 主题 Word 的中文标题在封面上重复出现两次;PPT 中文封面标题前多出一个空格。
default主题 Word:每个有序列表从自己的起始号重新编号(以前接着上一个列表往下编);
任务项不再叠加项目符号;小图片不再被放大到整个版心宽度。- LibreOffice 转换:不在 PATH 上时找不到(macOS 默认安装即如此);用户正开着 LibreOffice 时转换静默失败;
没有生成文件也返回成功。现在使用独立的临时配置目录,并检查确实生成了输出文件。 - PPT 切换效果以前什么也没写,却返回成功。
- 设计令牌一致性测试显式按 UTF-8 读取源码,修复 Windows 默认编码导致的解码失败。
- 集成测试日志使用 ASCII,避免 Windows 重定向输出时因 emoji 与中文编码失败而中断。
行为变化(升级前请留意)
- 包名改为
acks_office,发行名acks-office。import office_suite仍可用,会给出
DeprecationWarning,3.0 移除。 - Markdown 段落内的单个换行保留为换行;空行分段(以前每一行都是一个段落)。
- Word 封面标题只出现一次;副标题用
subtitle传入。PPT 页面的副标题取每页的subtitle,不再重复标题。 - 页脚文字:默认品牌显示「ACKS Studio · 文档设计规范 v2」;自定义品牌显示品牌名;
brand_name=""
时显示文档标题;footer_label优先。PPT 封面右上角的「CONFIDENTIAL · 2026」只在默认品牌下显示
(可用meta_right指定)。 - Word 合并以第一份文档为底,沿用其样式与页面设置;后续文档另起一页。不存在的输入文件列在
skipped里。 - PDF 默认嵌入中文字体(子集),文件会比以前大一些。
- 发邮件默认校验服务器证书并要求加密连接;内网自签名证书或不支持加密的服务器需显式传
allow_insecure=True。 - PDF 水印按每页实际尺寸居中(以前固定按 A4 计算,横版或非 A4 页面会偏位)。
requirements.txt改为安装本包(.),依赖只在pyproject.toml维护;移除setup.py。- 依赖:PyPDF2 换成其后继 pypdf(接口相同),新增 markdown-it-py;去掉代码中从未使用的可选依赖
(Jinja2、click、rich、python-magic、chardet、tqdm、python-dotenv)。 - 最低 Python 版本 3.9。
PyPI 安装
2.1.0 已发布到 PyPI,建议在专用虚拟环境中安装:
python -m pip install acks-office==2.1.0
acks-office doctor --json通过 GitHub OIDC 可信发布 上传。全新 Python 3.9.6 环境安装后,CLI、doctor 和四种格式的生成/读取均通过。
下载与使用
acks-office-skill-2.1.0.zip:包含程序代码的 Agent 技能包,解压到 Agent 的技能目录后,按 doctor 的补齐计划安装依赖。acks_office-2.1.0-py3-none-any.whl:Python 安装包,最低 Python 3.9。下载后运行:
python -m pip install ./acks_office-2.1.0-py3-none-any.whl
acks-office doctor --jsonacks_office-2.1.0.tar.gz:源码发行包。SHA256SUMS:上述三个附件的 SHA-256 校验值。
验证
最终 PR CI 7/7 通过:Ubuntu / macOS / Windows × Python 3.9 / 3.12,各组单元测试 148 通过、1 项 LibreOffice 转换测试按条件跳过,集成测试均为 9/9,CLI 冒烟通过;本地 Python 3.9.6 和 3.12.13 的 149 项单元测试全部通过。
完整改动:#3 · v2.0.1...v2.1.0
ACKS Office Suite Simplify v2.0.1
🔧 ACKS Office Suite Simplify v2.0.1
缺陷修复版本:修复 Excel 数据提取,提取结果准确,可直接交给 AI Agent / MCP 使用。
🐛 缺陷修复
Excel 数据提取(extract_data)
- 默认调用必然失败:不传
sheet_name时报'dict' object has no attribute 'to_dict'。现在默认读取第一个工作表,也支持工作表名或从 0 开始的索引 - 读取参数被静默丢弃:
usecols、header、dtype等现在会透传给pandas.read_excel - 类型推断改坏数据:工号
"00123"变成123.0,身份证号丢失末位,含空格的列里True变成1.0。现在按单元格原值读取 - 结果无法转 JSON:空单元格现在返回
None,日期/时间/时长返回 ISO 8601 字符串,可直接json.dumps .xls无法读取:依赖补充xlrd>=2.0.1
测试
- 修复 design_system 测试的导入方式(此前 29 项中 26 项失败)
- 新增 Excel 提取单元测试 13 例,集成测试新增 Excel 提取校验
⚠️ 行为变化
- 日期类单元格返回 ISO 8601 字符串,不再是 pandas
Timestamp;空单元格返回None,不再是NaN - 文本型数字保持字符串;如需恢复 pandas 的类型推断,可传
dtype=None pandas.read_excel不接受的参数现在会报错(此前被忽略)
⬆️ 升级
git pull
pip install -r requirements.txt # 新增 xlrd✅ 验证
pytest # 42 passed
python test_integration.py # 9/9 项集成测试完整变更:#1、#2 · v2.0.0...v2.0.1
ACKS Office Suite Simplify v2.0.0
🎉 ACKS Office Suite Simplify v2.0.0 正式发布
全能 Python 办公自动化工具包,内置 ACKS 设计规范,单个 API 搞定 Word/Excel/PDF/PPT 四种格式,中文友好,适配 Hermes / DSH / MCP 等 AI Agent。
🆕 v2.0.0 重大更新
🏷️ 品牌更名
- Hermes Easy Office Suite → ACKS Office Suite Simplify
- GitHub 仓库名、PyPI 包名、README 全部同步更新
🎨 集成 ACKS 设计规范 v2.1
- 内置完整设计规范代码包(
src/office_suite/design_system/),Token 单一信源(tokens.json) - 产出 Word / PPT / Excel 文档直接符合 ACKS 规范(橙色
#FF6B1A唯一强调、黑色实线分隔、中英双语并置) - 组件开箱即用:封面、章节标题、正文、列表、表格、KPI、引用、callout、代码块
🎭 新增 theme 机制
OfficeSuite(theme="acks")默认规范化主题,theme="default"简洁样式- 品牌参数化:
brand_name可配置,传""去品牌化
🔧 缺陷修复
- 修复 PDF 水印空实现 → reportlab 半透明斜体真水印(支持中文、45° 斜排)
- 修复 Word 水印(斜体 + 可配置字号/颜色)
- 实现
execute_workflowYAML 工作流引擎(8 种步骤类型 +{{ date }}占位符) - 补齐
generate_report.py/test_integration.py/.env.template requirements.txt补 Pillow(设计规范fit_title_size依赖)
🛠️ 工程增强
- design_system 包化(绝对 import → 相对 import)
- 修复中文章节标题字体(eastAsia → Noto Sans SC)
- 修复封面空 doctype / 空标题的健壮性
- setup.py 加 package_data(tokens.json + assets)
📦 安装
pip install python-docx openpyxl reportlab PyPDF2 python-pptx pandas Pillow
# 或源码安装
git clone https://github.com/shynloc/ACKS-Office-Suite-Simplify.git
cd ACKS-Office-Suite-Simplify
pip install -r requirements.txt🚀 快速开始
from office_suite import OfficeSuite
suite = OfficeSuite(theme="acks") # 默认设计规范主题
suite.create("word",
title="2025年第一季度销售报告",
content="# 销售情况概述\n\n总销售额 1200 万元,同比增长 25%。",
output_path="季度报告.docx")✅ 验证
python test_integration.py # 8/8 项集成测试📚 文档
- README.md — 完整介绍、功能、安装、使用、部署
- INSTALL_GUIDE.md — 安装指南
- SECURITY.md — 安全使用指南
- examples/ — 使用示例
- design_system/SOURCE.md — 设计规范溯源
🙏 致谢
设计思路受 MiniMax Office Skill 启发,感谢其优秀的产品思路参考。
1.0.0
🎉 Hermes Easy Office Suite v1.0.0 正式发布
全能Python办公自动化工具包,单个API搞定Word/Excel/PDF/PPT四种格式,中文友好,开箱即用。
✨ 核心功能
| 功能 | 支持 |
|---|---|
| 📄 Word文档 | 创建、编辑、合并、水印、模板、格式转换 |
| 📊 Excel表格 | 创建、数据分析、图表生成、数据导入导出、批量处理 |
| 📑 PDF文档 | 生成、合并、拆分、内容提取、水印、格式转换 |
| 🎨 PowerPoint | 演示文稿创建、设计、动画、模板、批量生成 |
| 🔄 格式互转 | 支持4种Office格式一键互转 |
| 📦 批量处理 | 整个目录文件批量处理、格式转换 |
| ⚙️ 工作流 | YAML配置自动化工作流,日常报告自动生成 |
| 📧 邮件集成 | 生成的文档自动发送到指定邮箱 |
| 🛡️ 安全可靠 | 所有处理本地完成,无数据上传泄露风险 |
| 🇨🇳 中文友好 | 彻底解决中文乱码问题,全中文文档 |
| 🤖 AI集成 | 原生支持作为Hermes AI智能体的可调用技能,适配AI工作流 |
🚀 快速开始
bash
安装
pip install python-docx openpyxl reportlab PyPDF2 python-pptx pandas Pillow
克隆项目
git clone https://github.com/shynloc/Hermes-Easy-Office-Suite.git
cd Hermes-Easy-Office-Suite
运行示例
python examples/basic_usage.py
📚 文档
- README.md - 完整介绍和快速开始
- INSTALL_GUIDE.md - 安装指南
- SECURITY.md - 安全使用指南
- examples/ - 丰富的使用示例
🙏 致谢
本项目的设计思路受到 MiniMax 官方 Office Skill 的启发,在此基础上进行了全面的功能扩展和优化。