发现 AI 代理的未来arrow_forward

MermaidTrace

calendar_today收录于 2026年2月25日
category智能体与应用工具
code开源
PythonLangChainFastAPICLI智能体与应用工具开发者工具/代码协议/API/集成

Python 日志工具,通过装饰器自动追踪代码执行流程并生成 Mermaid JS 时序图,支持异步、分布式追踪、FastAPI 及 LangChain 集成。

核心定位#

MermaidTrace 是一个专为 Python 设计的执行流可视化工具,通过装饰器技术(@trace@trace_class@trace_interaction)在运行时捕获函数调用,自动转换为标准 Mermaid JS 时序图。旨在解决传统文本日志在理解复杂逻辑时的局限性。

主要特性#

追踪能力#

  • 装饰器驱动@trace@trace_interaction@trace_class(全覆盖类公共方法)
  • 自动时序图生成:函数调用自动转换为 Mermaid Sequence Diagram 语法
  • 异步原生支持:无缝支持 asyncio 协程和并发场景
  • 智能折叠:自动识别循环调用并折叠(如 func (x10)),避免图表爆炸
  • 第三方库补丁patch_object 无需修改源码即可追踪外部库方法

隐私与安全#

  • 内置 DataMasker 自动数据脱敏
  • 支持配置敏感字段掩码(password, token 等)
  • capture_args=False 参数防止敏感参数被记录

性能控制#

  • 可配置采样率(sample_rate)控制追踪百分比
  • 异步模式(async_mode=True)将日志写入转移到后台线程
  • 队列大小限制(queue_size=1000)防止高流量场景内存溢出

分布式追踪#

  • 支持 W3C Trace Context 标准
  • 支持 B3 和自定义 X-Trace-ID headers
  • FastAPI 中间件支持跨服务追踪传播

可视化与 UI#

  • FastAPI 驱动的交互式 Web 预览界面
  • 实时渲染(集成 mermaid.js)
  • 支持缩放和平移(svg-pan-zoom)
  • Server-Sent Events (SSE) 实现自动刷新
  • 目录浏览和多文件切换

框架集成#

FastAPI#

  • 零配置 HTTP 请求追踪中间件
  • 支持 header 传播

LangChain#

  • MermaidTraceCallbackHandler 支持 Chains, LLMs, ChatModels, Tools, Retrievers
  • 参与者栈正确追踪嵌套调用和返回箭头
  • 支持 RAG 和 Agent 工作流可视化

日志管理#

  • RotatingMermaidFileHandler:基于大小轮转
  • TimedRotatingMermaidFileHandler:基于时间轮转
  • 自动分割 .mmd 文件
  • overwrite 参数支持应用重启时清空图表文件

错误处理#

  • 异常捕获完整 Python traceback
  • 以 Note 形式在 Mermaid 图表中显示错误详情

安装与使用#

# 基础安装
pip install mermaid-trace

# FastAPI 集成
pip install mermaid-trace[fastapi]

# LangChain 集成
pip install mermaid-trace[langchain]

快速开始#

from mermaid_trace import trace, configure_flow

configure_flow("my_flow.mmd")

@trace(source="User", target="AuthService")
def login(username):
    return verify_db(username)

login("admin")

CLI 预览#

mermaid-trace serve my_flow.mmd  # 预览单个文件
mermaid-trace serve .            # 预览目录

适用场景#

  1. 遗留代码理解:快速生成未知代码库的执行路径图
  2. 自动化文档:保持技术文档时序图与代码逻辑 100% 同步
  3. 调试并发与递归:可视化异步任务交错和递归深度
  4. 微服务交互可视化:追踪微服务之间调用关系
  5. LLM 应用监控:可视化 LangChain Chain、Agent 决策及 RAG 检索过程

项目信息#

  • Python 版本:>=3.10(支持 3.10-3.14)
  • 实现支持:CPython, PyPy
  • 最新版本:v0.7.0
  • 测试覆盖率:>90%
  • 类型注解:100% Mypy 覆盖

保持更新

获取最新的 AI 工具和趋势,直接发送到您的收件箱。没有垃圾邮件,只有智能。

rocket_launch