aget-framework/template-document-processor-AGET

GitHub: aget-framework/template-document-processor-AGET

AGET 框架的文档处理 Agent 模板,提供多 LLM provider 接入、格式保留、安全验证和批处理能力,帮助开发者快速搭建生产级文档自动化流程。

Stars: 1 | Forks: 0

# template-document-processor-AGET **Template 版本**: 2.8.0 **AGET 框架**: v2.7.0 **类型**: AGET 模板(从 worker 模板特化而来) **领域**: 文档处理 这是一个用于创建文档处理 agent 的生产就绪模板,内置 LLM pipeline、安全协议、格式保留机制,并支持多 provider。 **注意**: 此模板基于 `template-worker-aget` v2.7.0,具备专用的文档处理能力。模板版本 (v2.8.0) 记录了此模板特有的功能,独立于 AGET 框架版本 (v2.7.0) 进行维护。 ## 概述 该模板为执行以下操作的 agent 提供了完整的基础: - ✅ 使用 LLM 辅助(OpenAI, Anthropic, Google)处理文档 - ✅ 保留 DOCX 格式(Track Changes、批注、注释) - ✅ 防止灾难性的格式丢失(L245 型故障) - ✅ 支持带有验证 pipeline 的批处理操作 - ✅ 实施安全协议(注入防御、内容过滤) - ✅ 提供 caching、指标和可观测性 - ✅ 支持针对大型文档的任务分解 - ✅ 支持回滚和版本管理 ## 基于 L208 此模板基于 **L208: 文档处理 Agent 模板模式**,该模式分析了生产环境中的文档处理 agent,以提取常见的模式和最佳实践。 **节省时间**:减少 60-70% 的新 agent 设置时间(3-5 小时 → 1-2 小时) ## 快速开始 ### 1. 克隆模板 ``` gh repo clone aget-framework/template-document-processor-AGET my-document-agent cd my-document-agent ``` ### 2. 自定义配置 更新以下文件: **`.aget/version.json`**: ``` { "agent_name": "my-document-agent", "domain": "your-domain" } ``` **`configs/validation_rules.yaml`**: ``` max_file_size_mb: 10 allowed_extensions: [".pdf", ".docx", ".txt", ".md"] required_validations: - file_size - file_format - content_safety ``` **`configs/llm_providers.yaml`**: ``` providers: openai: api_key_env: OPENAI_API_KEY enabled: true anthropic: api_key_env: ANTHROPIC_API_KEY enabled: false budget: monthly_limit_usd: 300.0 ``` ### 3. 更新任务 编辑 `AGENTS.md` 以描述您的 agent 的特定用途和领域。 ### 4. 运行测试 ``` python3 -m pytest tests/ -v ``` ### 5. 部署 ``` git remote set-url origin git add . git commit -m "feat: Initialize from template-document-processor-AGET v2.7.0" git push -u origin main ``` ## 架构 ### 核心组件 - **`src/ingestion/`** - 队列管理、验证、批处理 - **`src/processing/`** - LLM provider、模型路由、caching、schema 验证 - **`src/output/`** - 发布、版本管理、回滚 - **`src/security/`** - 输入清理、内容过滤、资源限制 - **`src/pipeline/`** - 任务分解、编排、指标 - **`src/wikitext/`** - 文档格式支持(docx、wikitext,可扩展以支持更多格式) ### 配置文件 (9 个 YAML) - **`configs/validation_rules.yaml`** - 文档验证标准 - **`configs/llm_providers.yaml`** - LLM provider 配置 - **`configs/model_routing.yaml`** - 模型选择策略 - **`configs/models.yaml`** - 模型定义与能力 - **`configs/security_policy.yaml`** - 安全和内容过滤 - **`configs/processing_limits.yaml`** - 资源限制(token、时间、成本) - **`configs/caching.yaml`** - 缓存设置和 TTL - **`configs/metrics.yaml`** - 指标收集和告警 - **`configs/orchestration.yaml`** - 任务分解和 pipeline ## 定制点 ### 1. 文档验证 为您的文档格式自定义 `configs/validation_rules.yaml`: - 文件扩展名 - 大小限制 - 特定于格式的验证规则 ### 2. LLM Provider 在 `configs/llm_providers.yaml` 中设置 provider: - API 密钥(使用环境变量) - 模型选择(成本与质量权衡) - Fallback 链 - 预算限制 ### 3. 安全 在 `configs/security_policy.yaml` 中配置安全策略: - 输入清理规则 - 内容过滤(PII 检测) - 资源限制(token、时间、成本) ### 4. 指标 在 `configs/metrics.yaml` 中定义指标: - 准确率跟踪 - 延迟监控 (p50/p95/p99) - 成本跟踪 - 告警阈值 ## 协议 该模板在 `.aget/docs/protocols/` 中包含了 10 个操作协议: 1. **格式保留** - 防止 L245 型灾难性故障(Track Changes 丢失) 2. **队列管理** - 管理文档队列 3. **处理授权** - 审批关卡和 STOP 协议 4. **验证 Pipeline** - 前置/后置验证 5. **回滚** - 版本管理和恢复 6. **安全验证** - 输入/输出清理 7. **任务分解** - 将大型文档拆分为子任务 8. **模型路由** - 为每个任务选择最佳的 LLM 9. **缓存** - 缓存 LLM 响应以优化成本/速度 10. **指标收集** - 跟踪准确率/延迟/成本 每个协议都包含 bash 命令和代码示例。 **格式保留指南**:有关完整的使用指南,请参阅 `.aget/docs/FORMAT_PRESERVATION_GUIDE.md`。 ## 脚本 该模板提供了 17 个操作工具(15 个脚本 + 2 个辅助工具): **会话管理**: - `session_protocol.py` - 唤醒/休眠/签退 - `queue_status.py` - 队列管理 CLI - `health_check.py` - 系统诊断 **核心操作** (`scripts/`): - `validate.py` - 文档验证 CLI - `process.py` - 端到端处理 pipeline - `queue_status.py` - 队列状态和管理 - `rollback.py` - 版本回滚操作 - `cache_setup.py` - 缓存初始化 - `metrics.py` - 指标显示和导出 **辅助操作** (`scripts/`): - `health_check.py` - 系统健康诊断 - `security_check.py` - 安全验证 - `audit.py` - 审计跟踪查看器 - `model_router.py` - 模型路由建议 - `cache_stats.py` - 缓存统计 - `cache_clear.py` - 清除缓存 **专用工具** (`scripts/` 和 `.aget/tools/`): - `session_protocol.py` - 会话生命周期(唤醒/休眠/签退) - `checkpoint.py` - checkpoint 保存/加载/列表 - `task_planner.py` - 任务分解规划 - `.aget/tools/analyze_agent_fit.py` - 用例契合度分析 - `.aget/tools/instantiate_template.py` - 模板实例化助手 ## 测试 该模板包含 30 个契约测试(100% 通过): ``` # 运行所有测试 python3 -m pytest tests/ -v # 运行特定测试类别 python3 -m pytest tests/test_processing.py -v ``` 测试覆盖率: - **冒烟测试**(20 个测试):所有 20 个模块均经过测试 - **集成测试**(10 个测试):端到端工作流、脚本集成、契约验证 ``` # 仅运行 smoke 测试 python3 tests/smoke_test.py # 仅运行 integration 测试 python3 tests/test_integration.py ``` ## 辅助工具 为模板用户提供了两个辅助工具: **分析 Agent 契合度**: ``` # 检查用例是否适合此 template python3 .aget/tools/analyze_agent_fit.py "Process legal contracts and extract structured data" # Interactive 模式 python3 .aget/tools/analyze_agent_fit.py --interactive ``` **实例化模板**: ``` # 从 template 创建新 agent python3 .aget/tools/instantiate_template.py invoice-processor ~/github/invoice-processor-AGET # 验证实例化 python3 .aget/tools/instantiate_template.py --check ~/github/invoice-processor-AGET ``` ## 版本历史 ### 模板版本控制 此模板采用双重版本控制: - **模板版本** (v2.8.0):模板特有的功能和增强 - **AGET 框架** (v2.7.0):框架合规版本 **模板 v2.8.0** 记录了添加到该专用模板中的格式保留功能。 **AGET v2.7.0** 表示符合 AGET 框架标准和基础 worker 模板。 **模板 v2.8.0** (2025-11-02) - AGET 框架 v2.7.0 - **格式保留框架**:防止 L245 型灾难性故障 - **新功能**: - 针对 Track Changes、批注、注释的 OOXML 验证 - 往返验证(之前 → 处理 → 之后) - 用于 pipeline 验证的多阶段 checkpoint 系统 - L245 故障检测(100% 防止格式丢失) - **文档**: - FORMAT_PRESERVING_DECISION_PROTOCOL.md(5 个问题的架构检查清单) - FORMAT_PRESERVATION_GUIDE.md(实施指南) - **测试覆盖率**:17 个测试,覆盖率 38%(已验证关键路径) - **API**:带有简单和高级使用模式的 5 模块框架 **模板 v2.7.0** (2025-10-26) - AGET 框架 v2.7.0 - 初始模板发布 - 基于 L208 文档处理模式分析 - **20 个源模块**(Gate 2A:8 个,Gate 2B:7 个,Gate 2C:5 个) - **9 个配置文件**(基于 YAML) - **9 个操作协议**(已经过测试和验证) - **3 个正式规范**(168 个 EARS 需求) - **17 个操作工具**(15 个脚本 + 2 个辅助工具) - **30 个契约测试**(20 个冒烟测试 + 10 个集成测试,100% 通过) - 多 provider LLM 支持(OpenAI, Anthropic, Google) - 安全协议(输入清理、内容过滤、资源限制) - 文档格式支持(docx、wikitext,可扩展至其他格式) ## 支持 有关模板的问题或疑问: - 问题跟踪器:https://github.com/aget-framework/aget/issues - 模板仓库:https://github.com/aget-framework/template-document-processor-AGET - AGET 框架:https://github.com/aget-framework ## 许可证 在 Apache License, Version 2.0 下授权。有关详细信息,请参阅 [LICENSE](LICENSE) 文件。 版权所有 2025 AGET 框架贡献者 *由 AGET v2.7.0 生成*
标签:DLL 劫持, Petitpotam, 任务编排, 大语言模型, 安全规则引擎, 开发模板, 文档处理, 文档格式保留, 逆向工具