CLI = GUI · 原地保格式 · 任意模型

autodoc
AI 文档答题

读取文档里的题目,调用任意 AI 模型生成答案,并**原地写回原文件、保持原始排版**。 支持 Word、PDF、Excel、PowerPoint、TXT、Markdown。

它能做什么

📝 原地保格式作答

编辑原文件本身,不新建文档。样式、页边距、编号、表格全部保留,只把答案写进空白处或答题单元格。

🤖 接入任意 AI

对接任意 OpenAI 兼容端点(OpenAI / DeepSeek / 代理 / 本地模型),配 base_url + model + key 即可。

🧠 自动判定题型

auto 模式自动识别:编号填空走 simple,考卷/表格走 worksheet(LLM 结构感知),丢进去就答。

🖥️ CLI = GUI

核心逻辑只有一份,命令行与响应式网页完全等价;网页每个动作都显示等价 CLI 命令。

📄 多格式

DOCX / PDF(表单+文本)/ XLSX / PPTX / TXT / Markdown,原地编辑、保持排版。

🐳 一键部署

Docker Compose 一条命令起服务,跨平台、不依赖 Windows;桌面与手机浏览器同一套响应式界面。

支持格式

格式写回策略格式保持
DOCX替换空白 / 段尾追加 / 表格打勾 / 写入空白段落样式·节属性·编号语义保留
XLSX替换单元格空白 / 写入右侧单元格字体·列宽保留
PPTX替换空白 / 段尾追加版式·样式保留
TXT / MD替换空白 / 行尾追加其余行字节不变
PDF(表单)填充 AcroForm 字段页面·几何不变
PDF(文本)题目旁插入答案(内置 CJK 字体)页数·几何·原文不变

不支持任意扫描件 / 复杂排版 PDF 的真正重排编辑——会如实报告而非破坏排版。

快速开始

前置:已安装 Docker,或 Python 3.8+。

Docker 一键起(推荐)

git clone https://github.com/ASH19900601/autodoc-ai-answer.git
cd autodoc-ai-answer
docker compose up --build
# 浏览器打开 http://localhost:8000

命令行

# 安装
pip install -e .

# 解析题目
autodoc parse quiz.docx --json

# 自动答题并原地写回(默认 auto 自动判定题型/版式)
autodoc answer quiz.docx \
  --base-url https://api.deepseek.com \
  --model deepseek-v4-flash \
  --api-key sk-xxx

架构与技术

PythonFastAPI python-docxPyMuPDF openpyxlpython-pptx Typer CLIDocker Playwright(验收)
客户端–服务端架构:Python 后端做解析与原地编辑(core 是唯一业务逻辑层), CLI、HTTP API、响应式网页都只调用同一份 core。 CLI=GUI 由测试自动强制:HTTP 层产出与 CLI 子进程字节级一致, Playwright 在桌面/移动端两种视口自动验收,无需人工测试。