{"data":{"slug":"dunetrace-dunetrace","name":"dunetrace","tagline":"Real-time monitoring of production AI agents.","github_url":"https://github.com/dunetrace/dunetrace","owner":"dunetrace","repo":"dunetrace","owner_avatar_url":"https://avatars.githubusercontent.com/u/262652096?v=4","primary_language":"Python","stars":57,"forks":12,"topics":["agent-monitoring","agent-observability","agent-reliability","agent-tools","ai-agents","ai-tools","analytics","autogen","crewai","langchain","langdock","langfuse","llm-observability","mcp-server","monitoring","observability","otel","real-time-monitoring","semantic-evaluation","voice-agents"],"archived":false,"github_pushed_at":"2026-07-13T20:55:21+00:00","maintenance_label":"Very active","url":"https://www.graphcanon.com/tools/dunetrace-dunetrace","markdown_url":"https://www.graphcanon.com/tools/dunetrace-dunetrace.md","api_url":"https://www.graphcanon.com/api/graphcanon/tools/dunetrace-dunetrace","graph_url":"https://www.graphcanon.com/api/graphcanon/graph?tool=dunetrace-dunetrace","description":"Real-time monitoring of production AI agents.","homepage_url":"https://dunetrace.com/","license":"Other","open_issues":15,"watchers":0,"ai_summary":null,"readme_excerpt":"## Quick Start\n\n**1. Start the backend**\n```bash\ngit clone https://github.com/dunetrace/dunetrace\ncd dunetrace && cp .env.example .env\ndocker compose -f docker-compose.ghcr.yml up -d\npip install -r requirements.txt\n```\n\n**2. Install the SDK**\n```bash\npip install dunetrace                       # Python\nnpm install dunetrace                       # Node.js / TypeScript\n```\n\n**3. Instrument your agent**\n\n**Python**\n```python\nfrom dunetrace import Dunetrace\n\ndt = Dunetrace()\n\n@dt.tool\ndef web_search(query: str) -> list: ...\n\n@dt.trace\ndef my_agent(question: str) -> str:\n    return web_search(question)[0]\n```\n\n**TypeScript / Node.js**\n```typescript\nimport { Dunetrace } from \"dunetrace\";\nimport OpenAI from \"openai\";\n\nconst dt     = new Dunetrace();\nconst openai = dt.wrapOpenAI(new OpenAI());\n\nawait dt.run(\"my-agent\", { model: \"gpt-4o\" }, async (run) => {\n  await openai.chat.completions.create({ model: \"gpt-4o\", messages });\n  run.finalAnswer();\n});\n```\n\n**Try the built-in failure scenarios**\n```bash\ncd packages/sdk-py\n\npython examples/basic_agent.py                          # No LLM calls\nSCENARIO=tool_loop python examples/langchain_agent.py   # TOOL_LOOP via LangChain\nSCENARIO=failures python examples/decorator_agent.py    # TOOL_LOOP, RETRY_STORM, RAG_EMPTY_RETRIEVAL\n```\n\nOpen the dashboard: **[http://localhost:3000](http://localhost:3000)**\n\n---","github_created_at":"2026-03-06T20:37:57+00:00","created_at":"2026-07-15T10:41:51.135186+00:00","updated_at":"2026-07-15T10:41:54.302202+00:00","categories":[{"slug":"ai-agents","name":"AI Agents","url":"https://www.graphcanon.com/categories/ai-agents","markdown_url":"https://www.graphcanon.com/categories/ai-agents.md","api_url":"https://www.graphcanon.com/api/graphcanon/categories/ai-agents"},{"slug":"llm-frameworks","name":"LLM Frameworks","url":"https://www.graphcanon.com/categories/llm-frameworks","markdown_url":"https://www.graphcanon.com/categories/llm-frameworks.md","api_url":"https://www.graphcanon.com/api/graphcanon/categories/llm-frameworks"},{"slug":"speech-audio","name":"Speech & Audio","url":"https://www.graphcanon.com/categories/speech-audio","markdown_url":"https://www.graphcanon.com/categories/speech-audio.md","api_url":"https://www.graphcanon.com/api/graphcanon/categories/speech-audio"}],"tags":[{"slug":"agent-monitoring","name":"agent-monitoring"},{"slug":"agent-observability","name":"agent-observability"},{"slug":"agent-reliability","name":"agent-reliability"},{"slug":"agent-tools","name":"agent-tools"},{"slug":"ai-agents","name":"ai-agents"},{"slug":"ai-tools","name":"ai-tools"},{"slug":"analytics","name":"analytics"},{"slug":"autogen","name":"autogen"}],"trust":{"provenance":{"is_fork":false,"github_id":1174776303,"owner_type":"User","methodology":"github_public_v1","parent_repo":null,"near_duplicate_slugs":[]},"computed_at":"2026-07-15T10:41:52.147Z","maintenance":{"label":"Very active","score":96,"methodology":"github_public_v1","releases_90d":0,"days_since_push":1,"last_release_at":null},"security_summary":{"status":"findings","scanner":"osv@v1","low_count":4,"high_count":0,"last_scan_at":"2026-07-15T10:41:52.595Z","medium_count":0,"scan_profile":"deps","critical_count":0}},"capability_facts":{"scan":{"source":"repo_scan","observed_at":"2026-07-15T10:41:51.855Z"},"deploy":{"source":"dockerfile:Dockerfile","self_host":true,"observed_at":"2026-07-15T10:41:51.855Z","managed_saas":false},"languages":{"value":["python"],"source":"github.language","observed_at":"2026-07-15T10:41:51.855Z"},"has_docker":{"value":true,"source":"dockerfile:Dockerfile","observed_at":"2026-07-15T10:41:51.855Z"},"license_spdx":{"value":"Other","source":"github.license","observed_at":"2026-07-15T10:41:51.855Z"}}}}