feat: 添加结构化日志系统,更新LLM配置与全部文档

新增:
- backend/logger.py — 集中日志模块 (JSON格式 + trace_id + 独立llm.log)
- @log_node / @_log_route 装饰器覆盖17个节点和8个路由

改进:
- backend/llm.py — _LLMLoggingWrapper 自动记录LLM输入输出
- backend/llm.py — API Key优先读ANTHROPIC_API_KEY,模型名改为MiniMax-M2.7
- backend/llm.py — get_llm() 新增caller参数标识调用来源
- backend/validation.py — 新增验证结果/连接失败日志
- backend/session.py — 新增会话创建/删除日志
- app.py — 新增用户交互日志 (输入/执行/异常/会话操作)
- app.py — 提前导入torchvision抑制transformers懒加载报错
- .env.example — 新增LOG_DIR/LOG_LEVEL/ANTHROPIC_API_KEY等配置项
- .gitignore — 新增logs/和db/忽略规则

文档:
- ROADMAP.md — 新增阶段四: 可观测性
- README.md — 补充日志架构/LLM配置/项目结构
- CLAUDE.md — 同步最新配置/日志/MAX_RETRY(3)
- CODE_GUIDE.md — 新增第15章日志系统,更新架构图/LLM/配置
This commit is contained in:
2026-05-19 23:40:01 +08:00
parent 6467fd4ae5
commit 067880bf2e
13 changed files with 753 additions and 82 deletions
+22 -4
View File
@@ -111,21 +111,32 @@ jrxml-agent/
nodes.py 图节点(generate, validate, modify 等)
graph.py LangGraph 状态机
backend/
llm.py LLM 工厂(OpenAI / Ollama
llm.py LLM 工厂(Anthropic SDK / OpenAI / Ollama
logger.py 集中日志模块(JSON + trace_id
embeddings.py 嵌入模型工厂
validation.py 验证服务客户端
rag_adapter.py RAG 语义搜索适配器
error_kb.py 错误自增长知识库
file_parser.py 文件解析器(PDF/DOCX/图片)
layout_analyzer.py A4 模板布局分析
session.py 会话持久化 CRUD
prompts/
loader.py Prompt 加载器(热重载)
*.md 7 个 Prompt 模板文件
validation_service/
main.py FastAPI 验证服务器
validate.bat Windows 启动器
data/
sample_templates/ 知识库的 JRXML 模板
corrections/ 错误修正案例
logs/
app.log 应用日志(节点流转、路由、用户交互)
llm.log LLM 调用日志(完整 prompt / response
scripts/
init_kb.py Chroma 知识库初始化脚本
tests/
test_validation.py 验证服务测试
test_agent.py 代理集成测试
db/chroma/ Chroma 持久化目录
requirements.txt
.env.example
README.md
@@ -136,12 +147,19 @@ jrxml-agent/
| 变量 | 描述 | 默认值 |
|----------|-------------|---------|
| LLM_BACKEND | cloud 或 local | cloud |
| OPENAI_API_KEY | OpenAI API 密钥 | - |
| LLM_PROVIDER | openai 或 anthropic | openai |
| OPENAI_API_KEY | API 密钥(OpenAI 或 MiniMax | - |
| OPENAI_BASE_URL | API 基础 URL | https://api.openai.com/v1 |
| LLM_MODEL | 模型名称 | gpt-4o |
| ANTHROPIC_API_KEY | Anthropic 兼容 API 密钥(优先) | - |
| ANTHROPIC_BASE_URL | Anthropic 兼容 Base URL | https://api.minimaxi.com/anthropic |
| LLM_MODEL | 模型名称 | MiniMax-M2.7 |
| LOCAL_LLM_MODEL | Ollama 模型 | qwen2.5-coder:7b |
| EMBED_BACKEND | local 或 cloud | local |
| LOCAL_EMBED_MODEL | 嵌入模型 | Qwen/Qwen3-Embedding-0.6B |
| VALIDATION_SERVICE_URL | 验证端点 | http://localhost:8001/validate |
| CHROMA_PERSIST_DIR | Chroma 存储位置 | ./db/chroma |
| MAX_RETRY | 自动修正尝试次数 | 3 |
| CONTEXT_MAX_TOKENS | 上下文压缩阈值 | 6000 |
| LOG_DIR | 日志目录 | ./logs |
| LOG_LEVEL | 日志级别 | DEBUG |
| SESSIONS_DIR | 会话持久化目录 | ./sessions |