Metadata-Version: 2.5
Name: odforge
Version: 0.3.0
Summary: Forge natural language into native ODF documents (.odt/.odp/.ods)
Project-URL: Homepage, https://github.com/FantasySakura0515/ODForge
Project-URL: Source, https://github.com/FantasySakura0515/ODForge
Project-URL: Issues, https://github.com/FantasySakura0515/ODForge/issues
Author: FantasySakura0515
License: MIT
License-File: LICENSE
Keywords: agent,claude,libreoffice,mcp,odf,odp,presentation,slides
Classifier: License :: OSI Approved :: MIT License
Classifier: Natural Language :: Chinese (Traditional)
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python :: 3
Classifier: Topic :: Office/Business :: Office Suites
Requires-Python: >=3.11
Requires-Dist: json-repair>=0.30
Requires-Dist: lxml<7,>=6.1
Requires-Dist: mcp>=1.2
Requires-Dist: odfdo>=3.22
Requires-Dist: openai>=1.40
Requires-Dist: pydantic>=2.7
Requires-Dist: pymupdf>=1.24
Requires-Dist: rich>=13
Requires-Dist: typer>=0.12
Provides-Extra: cjk
Requires-Dist: jieba>=0.42; extra == 'cjk'
Requires-Dist: zhconv>=1.4; extra == 'cjk'
Provides-Extra: dev
Requires-Dist: anthropic>=0.40; extra == 'dev'
Requires-Dist: build>=1.2; extra == 'dev'
Requires-Dist: fastapi>=0.110; extra == 'dev'
Requires-Dist: httpx>=0.27; extra == 'dev'
Requires-Dist: jieba>=0.42; extra == 'dev'
Requires-Dist: pytest-cov>=5; extra == 'dev'
Requires-Dist: pytest>=8; extra == 'dev'
Requires-Dist: python-dotenv>=1.0; extra == 'dev'
Requires-Dist: ruff>=0.15; extra == 'dev'
Requires-Dist: sse-starlette>=2.0; extra == 'dev'
Requires-Dist: uvicorn>=0.29; extra == 'dev'
Requires-Dist: zhconv>=1.4; extra == 'dev'
Provides-Extra: test
Requires-Dist: anthropic>=0.40; extra == 'test'
Requires-Dist: fastapi>=0.110; extra == 'test'
Requires-Dist: httpx>=0.27; extra == 'test'
Requires-Dist: jieba>=0.42; extra == 'test'
Requires-Dist: pytest-cov>=5; extra == 'test'
Requires-Dist: pytest>=8; extra == 'test'
Requires-Dist: python-dotenv>=1.0; extra == 'test'
Requires-Dist: sse-starlette>=2.0; extra == 'test'
Requires-Dist: uvicorn>=0.29; extra == 'test'
Requires-Dist: zhconv>=1.4; extra == 'test'
Provides-Extra: vision
Requires-Dist: anthropic>=0.40; extra == 'vision'
Provides-Extra: web
Requires-Dist: fastapi>=0.110; extra == 'web'
Requires-Dist: python-dotenv>=1.0; extra == 'web'
Requires-Dist: sse-starlette>=2.0; extra == 'web'
Requires-Dist: uvicorn>=0.29; extra == 'web'
Description-Content-Type: text/markdown

# odforge

ODForge 的 Python 套件：CLI（`odforge`）、MCP server（`odforge-mcp`）與網頁編輯器。
讓 AI 助理直接產出原生 ODF 簡報、文件、試算表（`.odp`／`.odt`／`.ods`），並在瀏覽器裡跟你來回修改。

## 安裝

```bash
uv tool install "odforge[web,cjk]"   # 或 pipx install "odforge[web,cjk]"
odforge setup                        # 接上這台電腦的 Claude Code 與 Codex
odforge init 我的簡報                 # 或只設定某個資料夾：放 AGENTS.md、skill 與 .mcp.json
```

只用 Claude Code 的話，也可以直接裝 plugin：

```text
/plugin marketplace add FantasySakura0515/ODForge
/plugin install odforge@odforge
```

建議另外裝 [LibreOffice](https://www.libreoffice.org/)，預覽圖和第三道驗證閘會用到它（只在背景執行）。

完整用法見 GitHub 上的 README：[繁體中文](https://github.com/FantasySakura0515/ODForge/blob/main/README.md) |
[English](https://github.com/FantasySakura0515/ODForge/blob/main/README.en.md)。

- 驗證閘的定義：[docs/gates.md](https://github.com/FantasySakura0515/ODForge/blob/main/odforge/docs/gates.md)
- Web API：[docs/webapi.md](https://github.com/FantasySakura0515/ODForge/blob/main/odforge/docs/webapi.md)
- `odforge benchmark` 報告格式：[docs/benchmark.md](https://github.com/FantasySakura0515/ODForge/blob/main/odforge/docs/benchmark.md)
- 環境變數範本：[.env.example](https://github.com/FantasySakura0515/ODForge/blob/main/odforge/.env.example)

## 授權

MIT。
