Skip to content

Releases: shynloc/ACKS-Office-Suite-Simplify

ACKS Office Suite Simplify v2.1.2 — 当前文档同步

Choose a tag to compare

@shynloc shynloc released this 06 Oct 05:06
61d3ee1

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

PyPI · README · 文档维护规则

附件包含 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 — 文档与发布修订

Choose a tag to compare

@shynloc shynloc released this 06 Oct 04:37
7fa16c2

文档与发布

  • 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 --json

PyPI · 同版本 README · 安装指南

附件包含 wheel、sdist、Agent 技能包与 SHA256SUMS。技能包包含程序代码,依赖由 doctor 给出补齐计划,需用户同意后安装。

验证

本地 Python 3.9.6 的技能、兼容层与 CLI 测试 26 项通过;README 的 8 条 CLI 示例和两段 Python 示例、四种格式基础示例、真实 DOCX → PDF 转换和 YAML 顺序工作流均通过。文档检查验证发布版本、安装命令、附件名、Release / 文档 URL 与实际 CLI 入口一致,且拒绝错误标签 / 分支发布。

最终 CI · PR #4 · v2.1.0...v2.1.1

ACKS Office Suite Simplify v2.1.0

Choose a tag to compare

@shynloc shynloc released this 06 Oct 03:51
8de08cd

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 --json
  • acks_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

Choose a tag to compare

@shynloc shynloc released this 24 Sep 18:25

🔧 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

Choose a tag to compare

@shynloc shynloc released this 23 Aug 13:20

🎉 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_workflow YAML 工作流引擎(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 项集成测试

📚 文档


🙏 致谢

设计思路受 MiniMax Office Skill 启发,感谢其优秀的产品思路参考。

1.0.0

Choose a tag to compare

@shynloc shynloc released this 08 Apr 17:48

🎉 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


📚 文档


🙏 致谢

本项目的设计思路受到 MiniMax 官方 Office Skill 的启发,在此基础上进行了全面的功能扩展和优化。