[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"similar-AgentDock--AgentDock":3,"tool-AgentDock--AgentDock":62},[4,18,26,36,46,54],{"id":5,"name":6,"github_repo":7,"description_zh":8,"stars":9,"difficulty_score":10,"last_commit_at":11,"category_tags":12,"status":17},4358,"openclaw","openclaw\u002Fopenclaw","OpenClaw 是一款专为个人打造的本地化 AI 助手，旨在让你在自己的设备上拥有完全可控的智能伙伴。它打破了传统 AI 助手局限于特定网页或应用的束缚，能够直接接入你日常使用的各类通讯渠道，包括微信、WhatsApp、Telegram、Discord、iMessage 等数十种平台。无论你在哪个聊天软件中发送消息，OpenClaw 都能即时响应，甚至支持在 macOS、iOS 和 Android 设备上进行语音交互，并提供实时的画布渲染功能供你操控。\n\n这款工具主要解决了用户对数据隐私、响应速度以及“始终在线”体验的需求。通过将 AI 部署在本地，用户无需依赖云端服务即可享受快速、私密的智能辅助，真正实现了“你的数据，你做主”。其独特的技术亮点在于强大的网关架构，将控制平面与核心助手分离，确保跨平台通信的流畅性与扩展性。\n\nOpenClaw 非常适合希望构建个性化工作流的技术爱好者、开发者，以及注重隐私保护且不愿被单一生态绑定的普通用户。只要具备基础的终端操作能力（支持 macOS、Linux 及 Windows WSL2），即可通过简单的命令行引导完成部署。如果你渴望拥有一个懂你",349277,3,"2026-04-06T06:32:30",[13,14,15,16],"Agent","开发框架","图像","数据工具","ready",{"id":19,"name":20,"github_repo":21,"description_zh":22,"stars":23,"difficulty_score":10,"last_commit_at":24,"category_tags":25,"status":17},3808,"stable-diffusion-webui","AUTOMATIC1111\u002Fstable-diffusion-webui","stable-diffusion-webui 是一个基于 Gradio 构建的网页版操作界面，旨在让用户能够轻松地在本地运行和使用强大的 Stable Diffusion 图像生成模型。它解决了原始模型依赖命令行、操作门槛高且功能分散的痛点，将复杂的 AI 绘图流程整合进一个直观易用的图形化平台。\n\n无论是希望快速上手的普通创作者、需要精细控制画面细节的设计师，还是想要深入探索模型潜力的开发者与研究人员，都能从中获益。其核心亮点在于极高的功能丰富度：不仅支持文生图、图生图、局部重绘（Inpainting）和外绘（Outpainting）等基础模式，还独创了注意力机制调整、提示词矩阵、负向提示词以及“高清修复”等高级功能。此外，它内置了 GFPGAN 和 CodeFormer 等人脸修复工具，支持多种神经网络放大算法，并允许用户通过插件系统无限扩展能力。即使是显存有限的设备，stable-diffusion-webui 也提供了相应的优化选项，让高质量的 AI 艺术创作变得触手可及。",162132,"2026-04-05T11:01:52",[14,15,13],{"id":27,"name":28,"github_repo":29,"description_zh":30,"stars":31,"difficulty_score":32,"last_commit_at":33,"category_tags":34,"status":17},1381,"everything-claude-code","affaan-m\u002Feverything-claude-code","everything-claude-code 是一套专为 AI 编程助手（如 Claude Code、Codex、Cursor 等）打造的高性能优化系统。它不仅仅是一组配置文件，而是一个经过长期实战打磨的完整框架，旨在解决 AI 代理在实际开发中面临的效率低下、记忆丢失、安全隐患及缺乏持续学习能力等核心痛点。\n\n通过引入技能模块化、直觉增强、记忆持久化机制以及内置的安全扫描功能，everything-claude-code 能显著提升 AI 在复杂任务中的表现，帮助开发者构建更稳定、更智能的生产级 AI 代理。其独特的“研究优先”开发理念和针对 Token 消耗的优化策略，使得模型响应更快、成本更低，同时有效防御潜在的攻击向量。\n\n这套工具特别适合软件开发者、AI 研究人员以及希望深度定制 AI 工作流的技术团队使用。无论您是在构建大型代码库，还是需要 AI 协助进行安全审计与自动化测试，everything-claude-code 都能提供强大的底层支持。作为一个曾荣获 Anthropic 黑客大奖的开源项目，它融合了多语言支持与丰富的实战钩子（hooks），让 AI 真正成长为懂上",160784,2,"2026-04-19T11:32:54",[14,13,35],"语言模型",{"id":37,"name":38,"github_repo":39,"description_zh":40,"stars":41,"difficulty_score":42,"last_commit_at":43,"category_tags":44,"status":17},8272,"opencode","anomalyco\u002Fopencode","OpenCode 是一款开源的 AI 编程助手（Coding Agent），旨在像一位智能搭档一样融入您的开发流程。它不仅仅是一个代码补全插件，而是一个能够理解项目上下文、自主规划任务并执行复杂编码操作的智能体。无论是生成全新功能、重构现有代码，还是排查难以定位的 Bug，OpenCode 都能通过自然语言交互高效完成，显著减少开发者在重复性劳动和上下文切换上的时间消耗。\n\n这款工具专为软件开发者、工程师及技术研究人员设计，特别适合希望利用大模型能力来提升编码效率、加速原型开发或处理遗留代码维护的专业人群。其核心亮点在于完全开源的架构，这意味着用户可以审查代码逻辑、自定义行为策略，甚至私有化部署以保障数据安全，彻底打破了传统闭源 AI 助手的“黑盒”限制。\n\n在技术体验上，OpenCode 提供了灵活的终端界面（Terminal UI）和正在测试中的桌面应用程序，支持 macOS、Windows 及 Linux 全平台。它兼容多种包管理工具，安装便捷，并能无缝集成到现有的开发环境中。无论您是追求极致控制权的资深极客，还是渴望提升产出的独立开发者，OpenCode 都提供了一个透明、可信",144296,1,"2026-04-16T14:50:03",[13,45],"插件",{"id":47,"name":48,"github_repo":49,"description_zh":50,"stars":51,"difficulty_score":32,"last_commit_at":52,"category_tags":53,"status":17},2271,"ComfyUI","Comfy-Org\u002FComfyUI","ComfyUI 是一款功能强大且高度模块化的视觉 AI 引擎，专为设计和执行复杂的 Stable Diffusion 图像生成流程而打造。它摒弃了传统的代码编写模式，采用直观的节点式流程图界面，让用户通过连接不同的功能模块即可构建个性化的生成管线。\n\n这一设计巧妙解决了高级 AI 绘图工作流配置复杂、灵活性不足的痛点。用户无需具备编程背景，也能自由组合模型、调整参数并实时预览效果，轻松实现从基础文生图到多步骤高清修复等各类复杂任务。ComfyUI 拥有极佳的兼容性，不仅支持 Windows、macOS 和 Linux 全平台，还广泛适配 NVIDIA、AMD、Intel 及苹果 Silicon 等多种硬件架构，并率先支持 SDXL、Flux、SD3 等前沿模型。\n\n无论是希望深入探索算法潜力的研究人员和开发者，还是追求极致创作自由度的设计师与资深 AI 绘画爱好者，ComfyUI 都能提供强大的支持。其独特的模块化架构允许社区不断扩展新功能，使其成为当前最灵活、生态最丰富的开源扩散模型工具之一，帮助用户将创意高效转化为现实。",109154,"2026-04-18T11:18:24",[14,15,13],{"id":55,"name":56,"github_repo":57,"description_zh":58,"stars":59,"difficulty_score":32,"last_commit_at":60,"category_tags":61,"status":17},6121,"gemini-cli","google-gemini\u002Fgemini-cli","gemini-cli 是一款由谷歌推出的开源 AI 命令行工具，它将强大的 Gemini 大模型能力直接集成到用户的终端环境中。对于习惯在命令行工作的开发者而言，它提供了一条从输入提示词到获取模型响应的最短路径，无需切换窗口即可享受智能辅助。\n\n这款工具主要解决了开发过程中频繁上下文切换的痛点，让用户能在熟悉的终端界面内直接完成代码理解、生成、调试以及自动化运维任务。无论是查询大型代码库、根据草图生成应用，还是执行复杂的 Git 操作，gemini-cli 都能通过自然语言指令高效处理。\n\n它特别适合广大软件工程师、DevOps 人员及技术研究人员使用。其核心亮点包括支持高达 100 万 token 的超长上下文窗口，具备出色的逻辑推理能力；内置 Google 搜索、文件操作及 Shell 命令执行等实用工具；更独特的是，它支持 MCP（模型上下文协议），允许用户灵活扩展自定义集成，连接如图像生成等外部能力。此外，个人谷歌账号即可享受免费的额度支持，且项目基于 Apache 2.0 协议完全开源，是提升终端工作效率的理想助手。",100752,"2026-04-10T01:20:03",[45,13,15,14],{"id":63,"github_repo":64,"name":65,"description_en":66,"description_zh":67,"ai_summary_zh":67,"readme_en":68,"readme_zh":69,"quickstart_zh":70,"use_case_zh":71,"hero_image_url":72,"owner_login":65,"owner_name":65,"owner_avatar_url":73,"owner_bio":66,"owner_company":74,"owner_location":74,"owner_email":74,"owner_twitter":75,"owner_website":76,"owner_url":77,"languages":78,"stars":99,"forks":100,"last_commit_at":101,"license":102,"difficulty_score":32,"env_os":103,"env_gpu":103,"env_ram":103,"env_deps":104,"category_tags":109,"github_topics":110,"view_count":32,"oss_zip_url":74,"oss_zip_packed_at":74,"status":17,"created_at":119,"updated_at":120,"faqs":121,"releases":151},9662,"AgentDock\u002FAgentDock","AgentDock","Build Anything with AI Agents","AgentDock 是一个专为构建复杂 AI 智能体（AI Agents）而设计的开源框架，旨在帮助开发者打造能够可靠执行高难度任务的自动化系统。它主要解决了当前 AI 应用在落地过程中常见的“不可控”和“难以预测”痛点，通过独特的“可配置确定性”机制，让智能体的行为更加稳定、逻辑更加清晰，从而在极少人工干预的情况下也能精准运行。\n\n这款工具特别适合后端开发者、AI 工程师以及希望将大模型能力集成到生产环境的研究人员使用。AgentDock 由核心框架和参考客户端两部分组成：核心部分采用与具体模型供应商无关的设计，赋予用户完全的掌控权；客户端则基于 Next.js 构建，提供了直观的演示与交互界面。其技术亮点在于强调简洁性与可扩展性，支持灵活编排如深度搜索、多步推理、自我反思等复杂工作流。官方提供的\"House 医生”诊断助手和“认知推理引擎”等案例，生动展示了其在处理专业领域复杂问题时的强大潜力。无论是想探索智能体架构的开发者，还是寻求构建企业级自动化解决方案的团队，AgentDock 都提供了一个坚实且灵活的技术底座。","\u003Cp align=\"center\">\n  \u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002FAgentDock_AgentDock_readme_b452a46d74be.png\" alt=\"AgentDock Logo\" width=\"800\" \u002F>\n\u003C\u002Fp>\n\n\u003Ch1 align=\"left\">Build Anything with AI Agents\u003C\u002Fh1>\n\n\n[![GitHub stars](https:\u002F\u002Fimg.shields.io\u002Fgithub\u002Fstars\u002Fagentdock\u002Fagentdock)](https:\u002F\u002Fgithub.com\u002Fagentdock\u002Fagentdock\u002Fstargazers)\n[![License: MIT](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FLicense-MIT-yellow.svg)](https:\u002F\u002Fgithub.com\u002FAgentDock\u002FAgentDock\u002Fblob\u002Fmain\u002FLICENSE)\n[![Status: Beta](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FStatus-Beta-blue)](https:\u002F\u002Fgithub.com\u002FAgentDock\u002FAgentDock\u002Freleases)\n[![Documentation](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FDocumentation-📕-blue)](https:\u002F\u002Fhub.agentdock.ai\u002Fdocs)\n[![Discord](https:\u002F\u002Fimg.shields.io\u002Fdiscord\u002F1335979387975110656?color=7289DA&label=Discord&logo=discord&logoColor=white)](https:\u002F\u002Fdiscord.gg\u002FfDYFFmwuRA)\n[![Cloud](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FCloud-☁️-blue)](https:\u002F\u002Fagentdock.ai)\n[![Twitter Follow](https:\u002F\u002Fimg.shields.io\u002Ftwitter\u002Ffollow\u002FAgentDock?style=social)](https:\u002F\u002Fx.com\u002Fagentdock)\n\n\n\nAgentDock is a framework for building sophisticated AI agents that deliver complex tasks with **configurable determinism**. It consists of two main components:\n\n1. **AgentDock Core**: An open-source, backend-first framework for building and deploying AI agents. It's designed to be *framework-agnostic* and *provider-independent*, giving you complete control over your agent's implementation.\n\n2. **Open Source Client**: A complete Next.js application that serves as a reference implementation and consumer of the AgentDock Core framework. You can see it in action at [https:\u002F\u002Fhub.agentdock.ai](https:\u002F\u002Fhub.agentdock.ai)\n\nBuilt with TypeScript, AgentDock emphasizes *simplicity*, *extensibility*, and ***configurable determinism*** - making it ideal for building reliable and predictable AI systems that can operate with minimal supervision.\n\n\u003Cbr>\n\n[![AgentDock](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002FAgentDock_AgentDock_readme_8fed6e4ff2cf.png)](https:\u002F\u002Fagentdock.ai?utm_source=github&utm_medium=readme&utm_campaign=main)\n\n\u003Cbr>\n\n🌐 **AgentDock Pro Coming Soon**: Experience the future of AI automation with our comprehensive cloud platform featuring visual workflow builders, advanced orchestration, and enterprise-grade infrastructure. [Sign up at AgentDock.ai](https:\u002F\u002Fagentdock.ai?utm_source=github&utm_medium=readme&utm_campaign=main) to secure early access and earn free platform credits when we launch.\n\n📖 **AI Agents Book**: Master the complete methodology for building production-ready AI agents with our comprehensive guide at **[AI Agents Book](https:\u002F\u002Fagentdock.ai\u002Fdocs\u002Fai-agents-book?utm_source=github&utm_medium=readme&utm_campaign=main)** - covering everything from fundamentals to enterprise deployment patterns.\n\n🎯 **Comprehensive Prompt Library**: We're building the most extensive prompt library covering everyday automation needs and highly specialized vertical requirements. From general productivity to industry-specific workflows, our curated collection empowers agents with battle-tested prompts for any scenario.\n\n## Demos\n\n**[Dr. Gregory House](https:\u002F\u002Fgithub.com\u002FAgentDock\u002FAgentDock\u002Ftree\u002Fmain\u002Fagents\u002Fdr-house):** A diagnostic reasoning powerhouse that orchestrates **`search`**, **`deep_research`**, and **`pubmed`** tools in a multi-stage workflow to tackle complex medical cases using methodical investigation techniques that rival expert diagnosticians.\n\nhttps:\u002F\u002Fgithub.com\u002Fuser-attachments\u002Fassets\u002F50c766dc-fc65-481c-aad2-9a71169c7b28\n\n\u003C\u002Fbr>\n\n**[Cognitive Reasoner](https:\u002F\u002Fgithub.com\u002FAgentDock\u002FAgentDock\u002Ftree\u002Fmain\u002Fagents\u002Fcognitive-reasoner):** Multi-stage reasoning engine that orchestrates seven specialized cognitive tools (**`search`**, **`think`**, **`reflect`**, **`compare`**, **`critique`**, **`brainstorm`**, **`debate`**) in configurable workflows to systematically deconstruct and solve complex problems with human-like reasoning patterns.\n\nhttps:\u002F\u002Fgithub.com\u002Fuser-attachments\u002Fassets\u002F279a4e48-a980-4f83-becb-5e039fe10c56\n\n\u003C\u002Fbr>\n\n**[History Mentor](https:\u002F\u002Fgithub.com\u002FAgentDock\u002FAgentDock\u002Ftree\u002Fmain\u002Fagents\u002Fhistory-mentor):** Immersive educational agent combining vectorized historical knowledge with **`search`** capabilities and dynamic Mermaid diagram rendering to create authentic learning experiences that visualize complex historical relationships and timelines on demand.\n\nhttps:\u002F\u002Fgithub.com\u002Fuser-attachments\u002Fassets\u002F56e80a15-eac3-452b-aa8b-efe7b7f3360c\n\n\u003C\u002Fbr>\n\n**[Calorie Vision](https:\u002F\u002Fgithub.com\u002FAgentDock\u002FAgentDock\u002Ftree\u002Fmain\u002Fagents\u002Fcalorie-vision):** Vision-based nutritional analysis system that combines computer vision with structured data extraction to deliver precise macro and micronutrient breakdowns from food images, functioning like a nutritionist that can instantly quantify meal composition without relying on manual input.\n\nhttps:\u002F\u002Fgithub.com\u002Fuser-attachments\u002Fassets\u002F6b4e71cf-accc-4c18-bb42-7bc5ad2f37e4\n\n\n\n\n\n## 🌐 README Translations\n\n[Français](.\u002Fdocs\u002Fi18n\u002Ffrench\u002FREADME.md) • [日本語](.\u002Fdocs\u002Fi18n\u002Fjapanese\u002FREADME.md) • [한국어](.\u002Fdocs\u002Fi18n\u002Fkorean\u002FREADME.md) • [中文](.\u002Fdocs\u002Fi18n\u002Fchinese\u002FREADME.md) • [Español](.\u002Fdocs\u002Fi18n\u002Fspanish\u002FREADME.md) • [Deutsch](.\u002Fdocs\u002Fi18n\u002Fdeutsch\u002FREADME.md) • [Italiano](.\u002Fdocs\u002Fi18n\u002Fitalian\u002FREADME.md) • [Nederlands](.\u002Fdocs\u002Fi18n\u002Fdutch\u002FREADME.md) • [Polski](.\u002Fdocs\u002Fi18n\u002Fpolish\u002FREADME.md) • [Türkçe](.\u002Fdocs\u002Fi18n\u002Fturkish\u002FREADME.md) • [Українська](.\u002Fdocs\u002Fi18n\u002Fukrainian\u002FREADME.md) • [Ελληνικά](.\u002Fdocs\u002Fi18n\u002Fgreek\u002FREADME.md) • [Русский](.\u002Fdocs\u002Fi18n\u002Frussian\u002FREADME.md) • [العربية](.\u002Fdocs\u002Fi18n\u002Farabic\u002FREADME.md)\n\n## 🧠 Design Principles\n\nAgentDock is built on these core principles:\n\n- **Simplicity First**: Minimal code required to create functional agents\n- **Node-Based Architecture**: All capabilities implemented as nodes\n- **Tools as Specialized Nodes**: Tools extend the node system for agent capabilities\n- **Configurable Determinism**: Control the predictability of agent behavior\n- **Type Safety**: Comprehensive TypeScript types throughout\n\n### Configurable Determinism\n\n***Configurable determinism*** is a cornerstone of AgentDock's design philosophy, enabling you to balance creative AI capabilities with predictable system behavior:\n\n- AgentNodes are inherently non-deterministic as LLMs may generate different responses each time\n- Workflows can be made more deterministic through *defined tool execution paths*\n- Developers can **control the level of determinism** by configuring which parts of the system use LLM inference\n- Even with LLM components, the overall system behavior remains **predictable** through structured tool interactions\n- This balanced approach enables both *creativity* and **reliability** in your AI applications\n\n#### Deterministic Workflows\n\nAgentDock fully supports the deterministic workflows you're familiar with from typical workflow builders. All the predictable execution paths and reliable outcomes you expect are available, with or without LLM inference:\n\n```mermaid\nflowchart LR\n  Input[Input] --> Process[Process]\n  Process --> Database[(Database)]\n  Process --> Output[Output]\n  \n  style Input fill:#f9f9f9,stroke:#333,stroke-width:1px\n  style Output fill:#f9f9f9,stroke:#333,stroke-width:1px\n  style Process fill:#d4f1f9,stroke:#333,stroke-width:1px\n  style Database fill:#e8e8e8,stroke:#333,stroke-width:1px\n```\n\n#### Non-Deterministic Agent Behavior\n\nWith AgentDock, you can also leverage AgentNodes with LLMs when you need more adaptability. The creative outputs may vary based on your needs, while maintaining structured interaction patterns:\n\n```mermaid\nflowchart TD\n  Input[User Query] --> Agent[AgentNode]\n  Agent -->|\"LLM Reasoning (Non-Deterministic)\"| ToolChoice{Tool Selection}\n  ToolChoice -->|\"Option A\"| ToolA[Deep Research Tool]\n  ToolChoice -->|\"Option B\"| ToolB[Data Analysis Tool]\n  ToolChoice -->|\"Option C\"| ToolC[Direct Response]\n  ToolA --> Response[Final Response]\n  ToolB --> Response\n  ToolC --> Response\n  \n  style Input fill:#f9f9f9,stroke:#333,stroke-width:1px\n  style Agent fill:#ffdfba,stroke:#333,stroke-width:1px\n  style ToolChoice fill:#ffdfba,stroke:#333,stroke-width:1px\n  style ToolA fill:#d4f1f9,stroke:#333,stroke-width:1px\n  style ToolB fill:#d4f1f9,stroke:#333,stroke-width:1px\n  style ToolC fill:#d4f1f9,stroke:#333,stroke-width:1px\n  style Response fill:#f9f9f9,stroke:#333,stroke-width:1px\n```\n\n#### Non-Deterministic Agents with Deterministic Sub-Workflows\n\nAgentDock gives you the ***best of both worlds*** by combining non-deterministic agent intelligence with deterministic workflow execution:\n\n```mermaid\nflowchart TD\n  Input[User Query] --> Agent[AgentNode]\n  Agent -->|\"LLM Reasoning (Non-Deterministic)\"| FlowChoice{Sub-Workflow Selection}\n  FlowChoice -->|\"Decision A\"| Flow1[Deterministic Workflow 1]\n  FlowChoice -->|\"Decision B\"| Flow2[Deterministic Workflow 2]\n  FlowChoice -->|\"Decision C\"| DirectResponse[Generate Response]\n  \n  Flow1 --> |\"Step 1 → 2 → 3 → ... → 200\"| Flow1Result[Workflow 1 Result]\n  Flow2 --> |\"Step 1 → 2 → 3 → ... → 100\"| Flow2Result[Workflow 2 Result]\n  \n  Flow1Result --> Response[Final Response]\n  Flow2Result --> Response\n  DirectResponse --> Response\n  \n  style Input fill:#f9f9f9,stroke:#333,stroke-width:1px\n  style Agent fill:#ffdfba,stroke:#333,stroke-width:1px\n  style FlowChoice fill:#ffdfba,stroke:#333,stroke-width:1px\n  style Flow1 fill:#c9e4ca,stroke:#333,stroke-width:1px\n  style Flow2 fill:#c9e4ca,stroke:#333,stroke-width:1px\n  style Flow1Result fill:#c9e4ca,stroke:#333,stroke-width:1px\n  style Flow2Result fill:#c9e4ca,stroke:#333,stroke-width:1px\n  style DirectResponse fill:#ffdfba,stroke:#333,stroke-width:1px\n  style Response fill:#f9f9f9,stroke:#333,stroke-width:1px\n```\n\nThis approach enables complex multi-step workflows (potentially involving hundreds of deterministic steps implemented within tools or as connected node sequences) to be invoked by intelligent agent decisions. Each workflow executes predictably despite being triggered by non-deterministic agent reasoning.\n\nFor more advanced AI agent workflows and multi-stage processing pipelines, we're building [AgentDock Pro](docs\u002Fagentdock-pro.md) - a powerful platform for creating, visualizing, and running complex agent systems.\n\n#### TL;DR on Configurable Determinism \n\nThink of it like driving. Sometimes you need the AI's creativity (like navigating city streets - non-deterministic), and sometimes you need reliable, step-by-step processes (like following highway signs - deterministic). AgentDock lets you build systems that use *both*, choosing the right approach for each part of a task. You get the AI's smarts *and* predictable results where needed.\n\n\n## 🏗️ Core Architecture\n\nThe framework is built around a powerful, modular node-based system, serving as the foundation for all agent functionality. This architecture uses distinct node types as building blocks:\n\n-   **`BaseNode`**: The fundamental class establishing the core interface and capabilities for all nodes.\n-   **`AgentNode`**: A specialized core node orchestrating LLM interactions, tool usage, and agent logic.\n-   **Tools & Custom Nodes**: Developers implement agent capabilities and custom logic as nodes extending `BaseNode`.\n\nThese nodes interact through managed registries and can be connected (leveraging the core architecture's ports and potential message bus) to enable complex, configurable, and potentially deterministic agent behaviors and workflows.\n\nFor a detailed explanation of the node system's components and capabilities, please see the [Node System Documentation](docs\u002Fnodes\u002FREADME.md).\n\n## 🚀 Getting Started\n\nFor a comprehensive guide, see the [Getting Started Guide](docs\u002Fgetting-started.md).\n\n### Requirements\n\n* Node.js ≥ 20.11.0 (LTS)\n* pnpm ≥ 9.15.0 (Required)\n* API keys for LLM providers (Anthropic, OpenAI, etc.)\n\n### Installation\n\n1. **Clone the Repository**:\n\n   ```bash\n   git clone https:\u002F\u002Fgithub.com\u002FAgentDock\u002FAgentDock.git\n   cd AgentDock\n   ```\n\n2. **Install pnpm**:\n\n   ```bash\n   corepack enable\n   corepack prepare pnpm@latest --activate\n   ```\n\n3. **Install Dependencies**:\n\n   ```bash\n   pnpm install\n   ```\n   \n   For a clean reinstallation (when you need to rebuild from scratch):\n   ```bash\n   pnpm run clean-install\n   ```\n   This script removes all node_modules, lock files, and reinstalls dependencies correctly.\n\n4. **Configure Environment**:\n   \n   Create an environment file (`.env` or `.env.local`) based on `.env.example`:\n   \n   ```bash\n   # Option 1: Create .env.local\n   cp .env.example .env.local\n   \n   # Option 2: Create .env\n   cp .env.example .env\n   ```\n   \n   Then add your API keys to the environment file.\n\n5. **Start Development Server**:\n\n   ```bash\n   pnpm dev\n   ```\n## Deploy the Open Source Client\n\n[![Deploy with Vercel](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002FAgentDock_AgentDock_readme_a4c0f8073a9c.png)](https:\u002F\u002Fvercel.com\u002Fnew\u002Fclone?repository-url=https%3A%2F%2Fgithub.com%2FAgentDock%2FAgentDock)\n\nClick the button above to deploy the AgentDock Open Source Client directly to your Vercel account. \n\n### Advanced Capabilities\n\n| Capability             | Description                                                                    | Documentation                                                        |\n|------------------------|--------------------------------------------------------------------------------|----------------------------------------------------------------------|\n| **Session Management** | Isolated, performant state management for conversations                        | [Session Documentation](.\u002Fdocs\u002Farchitecture\u002Fsessions\u002FREADME.md)      |\n| **Orchestration Framework** | Control agent behavior and tool availability based on context                  | [Orchestration Documentation](.\u002Fdocs\u002Farchitecture\u002Forchestration\u002FREADME.md) |\n| **Storage Abstraction**  | Flexible storage system with pluggable providers for KV, Vector, and Secure storage | [Storage Documentation](.\u002Fdocs\u002Fstorage\u002FREADME.md)                    |\n| **Evaluation Framework** | Systematically measure and improve agent quality with diverse evaluators       | [Evaluation Documentation](.\u002Fdocs\u002Fevaluations\u002FREADME.md)             |\n\nThe storage system is currently evolving with key-value storage (Memory, Redis, Vercel KV providers) and secure client-side storage, while vector storage and additional backends are in development.\n\n## 📕 Documentation\n\nDocumentation for the AgentDock framework is available at [hub.agentdock.ai\u002Fdocs](https:\u002F\u002Fhub.agentdock.ai\u002Fdocs) and in the `\u002Fdocs\u002F` folder of this repository. The documentation includes:\n\n- Getting started guides\n- API references\n- Node creation tutorials\n- Integration examples\n\nFor comprehensive ecosystem documentation and guides, visit [agentdock.ai\u002Fdocs](https:\u002F\u002Fagentdock.ai\u002Fdocs).\n\n## 📂 Repository Structure\n\nThis repository contains:\n\n1.  **AgentDock Core**: The core framework located in `agentdock-core\u002F`\n2.  **Open Source Client**: A complete reference implementation built with Next.js, serving as a consumer of the AgentDock Core framework.\n3.  **Example Agents**: Ready-to-use agent configurations in the `agents\u002F` directory\n4.  **AI Agents Book**: Comprehensive guide content in the `content\u002Fai-agents-book\u002F` directory\n\nYou can use AgentDock Core independently in your own applications, or use this repository as a starting point for building your own agent-powered applications.\n\n## 📝 Agent Templates\n\nAgentDock includes several pre-configured agent templates. Explore them in the `agents\u002F` directory or read the [Agent Templates Documentation](docs\u002Fagent-templates.md) for details on configuration.\n\n## 🔧 Example Implementations\n\nExample implementations showcase specialized use cases and advanced functionality:\n\n| Implementation | Description | Status |\n|----------------|-------------|--------|\n| **Orchestrated Agent** | Example agent using orchestration to adapt behavior based on context | Available |\n| **Cognitive Reasoner** | Tackles complex problems using structured reasoning & cognitive tools | Available |\n| **Agent Planner** | Specialized agent for designing and implementing other AI agents | Available |\n| [**Code Playground**](docs\u002Froadmap\u002Fcode-playground.md) | Sandboxed code generation and execution with rich visualization capabilities | Planned |\n\n\n\n## 🔐 Environment Configuration Details\n\nThe AgentDock Open Source Client requires API keys for LLM providers to function. These are configured in an environment file (`.env` or `.env.local`) which you create based on the provided `.env.example` file.\n\n### LLM Provider API Keys\n\nAdd your LLM provider API keys (at least one is required):\n\n```bash\n# LLM Provider API Keys - at least one is required\nANTHROPIC_API_KEY=sk-ant-xxxxxxx  # Anthropic API key\nOPENAI_API_KEY=sk-xxxxxxx         # OpenAI API key\nGEMINI_API_KEY=xxxxxxx            # Google Gemini API key\nDEEPSEEK_API_KEY=xxxxxxx          # DeepSeek API key\nGROQ_API_KEY=xxxxxxx              # Groq API key\n```\n\n### API Key Resolution\n\nThe AgentDock Open Source Client follows a priority order when resolving which API key to use:\n\n1. **Per-agent custom API key** (set via agent settings in the UI)\n2. **Global settings API key** (set via the settings page in the UI)\n3. **Environment variable** (from .env.local or deployment platform)\n\n### Tool-specific API Keys\n\nSome tools also require their own API keys:\n\n```bash\n# Tool-specific API Keys\nSERPER_API_KEY=                  # Required for search functionality\nFIRECRAWL_API_KEY=               # Required for deeper web search\n```\n\nFor more details about environment configuration, see the implementation in [`src\u002Ftypes\u002Fenv.ts`](src\u002Ftypes\u002Fenv.ts).\n\n### Using Your Own API Keys (BYOK)\n\nAgentDock follows a BYOK (Bring Your Own Key) model:\n\n1. Add your API keys in the settings page of the application\n2. Alternatively, provide keys via request headers for direct API usage\n3. Keys are securely stored using the built-in encryption system\n4. No API keys are shared or stored on our servers\n\n## 📦 Package Manager\n\nThis project *requires* the use of `pnpm` for consistent dependency management. `npm` and `yarn` are not supported.\n\n## 💡 What You Can Build\n\n1. **AI-Powered Applications**\n   - Custom chatbots with any frontend\n   - Command-line AI assistants\n   - Automated data processing pipelines\n   - Backend service integrations\n\n2. **Integration Capabilities**\n   - Any AI provider (OpenAI, Anthropic, etc.)\n   - Any frontend framework\n   - Any backend service\n   - Custom data sources and APIs\n\n3. **Automation Systems**\n   - Data processing workflows\n   - Document analysis pipelines\n   - Automated reporting systems\n   - Task automation agents\n\n## Key Features\n\n| Feature                 | Description                                                               |\n|-------------------------|---------------------------------------------------------------------------|\n| 🔌 **Framework Agnostic (Node.js Backend)** | Core library integrates with Node.js backend stacks.                      |\n| 🧩 **Modular Design**     | Build complex systems from simple nodes                                   |\n| 🛠️ **Extensible**         | Create custom nodes for any functionality                                 |\n| 🔒 **Secure**             | Built-in security features for API keys and data                          |\n| 🔑 **BYOK**               | Use your *own API keys* for LLM providers                                 |\n| 📦 **Self-Contained**     | Core framework has minimal dependencies                                   |\n| ⚙️ **Multi-Step Tool Calls** | Support for *complex reasoning chains*                                    |\n| 📊 **Structured Logging** | Detailed insights into agent execution                                    |\n| 🛡️ **Robust Error Handling**| Predictable behavior and simplified debugging                            |\n| 📝 **TypeScript First**   | Type safety and enhanced developer experience                             |\n| 🌐 **Open Source Client** | Complete Next.js reference implementation included                       |\n| 🔄 **Orchestration**      | *Dynamic control* of agent behavior based on context                      |\n| 💾 **Session Management** | Isolated state for concurrent conversations                               |\n| 🎮 **Configurable Determinism** | Balance AI creativity & predictability via node logic\u002Fworkflows        |\n| 📊 **Evaluation Framework** | Robust tools to define, run, and analyze agent performance evaluations   |\n\n## 🧰 Components\n\nAgentDock's modular architecture is built upon these key components:\n\n*   **BaseNode**: The foundation for all nodes in the system\n*   **AgentNode**: The primary abstraction for agent functionality\n*   **Tools & Custom Nodes**: Callable capabilities and custom logic implemented as nodes.\n*   **Node Registry**: Manages the registration and retrieval of all node types\n*   **Tool Registry**: Manages tool availability for agents\n*   **CoreLLM**: Unified interface for interacting with LLM providers\n*   **Provider Registry**: Manages LLM provider configurations\n*   **Evaluation Framework**: Core components for agent assessment\n*   **Error Handling**: System for handling errors and ensuring predictable behavior\n*   **Logging**: Structured logging system for monitoring and debugging\n*   **Orchestration**: Controls tool availability and behavior based on conversation context\n*   **Sessions**: Manages state isolation between concurrent conversations\n\nFor detailed technical documentation on these components, see the [Architecture Overview](docs\u002Farchitecture\u002FREADME.md).\n\n\n\n## 🗺️ Roadmap\n\nBelow is our development roadmap for AgentDock. Most improvements listed here relate to the core AgentDock framework (`agentdock-core`), which is currently developed locally and will be published as a versioned NPM package upon reaching a stable release. Some roadmap items may also involve enhancements to the open-source client implementation.\n\n| Feature | Description | Category |\n|---------|-------------|--------|\n| [**Storage Abstraction Layer**](docs\u002Froadmap\u002Fstorage-abstraction.md) | Flexible storage system with pluggable providers | **In Progress** |\n| [**Advanced Memory Systems**](docs\u002Froadmap\u002Fadvanced-memory.md) | Long-term context management | **In Progress** |\n| [**Vector Storage Integration**](docs\u002Froadmap\u002Fvector-storage.md) | Embedding-based retrieval for documents and memory | **In Progress** |\n| [**Evaluation for AI Agents**](docs\u002Froadmap\u002Fevaluation-framework.md) | Comprehensive testing and evaluation framework | **In Progress** |\n| [**Platform Integration**](docs\u002Froadmap\u002Fplatform-integration.md) | Support for Telegram, WhatsApp, and other messaging platforms | **Planned** |\n| [**Multi-Agent Collaboration**](docs\u002Froadmap\u002Fmulti-agent-collaboration.md) | Enable agents to work together | **Planned** |\n| [**Model Context Protocol (MCP) Integration**](docs\u002Froadmap\u002Fmcp-integration.md) | Support for discovering and using external tools via MCP | **Planned** |\n| [**Voice AI Agents**](docs\u002Froadmap\u002Fvoice-agents.md) | AI agents using voice interfaces and phone numbers via AgentNode | **Planned** |\n| [**Telemetry and Traceability**](docs\u002Froadmap\u002Ftelemetry.md) | Advanced logging and performance tracking | **Planned** |\n| [**Workflow Runtime & Nodes**](docs\u002Froadmap\u002Fworkflow-nodes.md) | Core runtime, node types, and orchestration logic for complex automations | **Planned** |\n| [**AgentDock Pro**](docs\u002Fagentdock-pro.md) | Comprehensive enterprise cloud platform for scaling AI agents & workflows | **Cloud** |\n| [**Natural Language AI Agent Builder**](docs\u002Froadmap\u002Fnl-agent-builder.md) | Visual builder + natural language agent and workflow construction | **Cloud** |\n| [**Agent Marketplace**](docs\u002Froadmap\u002Fagent-marketplace.md) | Monetizable agent templates | **Cloud** |\n\n## 👥 Contributing\n\nWe welcome contributions to AgentDock! Please see the [CONTRIBUTING.md](CONTRIBUTING.md) for detailed contribution guidelines.\n\n## 📜 License\n\nAgentDock is released under the [MIT License](LICENSE).\n\n## ✨ Build Anything!\n\nAgentDock provides the foundation to build almost any AI-powered application or automation you can imagine. We encourage you to explore the framework, build innovative agents, and contribute back to the community. Let's build the future of AI interaction together!\n","\u003Cp align=\"center\">\n  \u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002FAgentDock_AgentDock_readme_b452a46d74be.png\" alt=\"AgentDock Logo\" width=\"800\" \u002F>\n\u003C\u002Fp>\n\n\u003Ch1 align=\"left\">用 AI 代理构建任何东西\u003C\u002Fh1>\n\n\n[![GitHub 星标](https:\u002F\u002Fimg.shields.io\u002Fgithub\u002Fstars\u002Fagentdock\u002Fagentdock)](https:\u002F\u002Fgithub.com\u002Fagentdock\u002Fagentdock\u002Fstargazers)\n[![许可证：MIT](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FLicense-MIT-yellow.svg)](https:\u002F\u002Fgithub.com\u002FAgentDock\u002FAgentDock\u002Fblob\u002Fmain\u002FLICENSE)\n[![状态：测试版](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FStatus-Beta-blue)](https:\u002F\u002Fgithub.com\u002FAgentDock\u002FAgentDock\u002Freleases)\n[![文档](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FDocumentation-📕-blue)](https:\u002F\u002Fhub.agentdock.ai\u002Fdocs)\n[![Discord](https:\u002F\u002Fimg.shields.io\u002Fdiscord\u002F1335979387975110656?color=7289DA&label=Discord&logo=discord&logoColor=white)](https:\u002F\u002Fdiscord.gg\u002FfDYFFmwuRA)\n[![云服务](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FCloud-☁️-blue)](https:\u002F\u002Fagentdock.ai)\n[![Twitter 关注](https:\u002F\u002Fimg.shields.io\u002Ftwitter\u002Ffollow\u002FAgentDock?style=social)](https:\u002F\u002Fx.com\u002Fagentdock)\n\n\n\nAgentDock 是一个用于构建复杂 AI 代理的框架，能够以**可配置的确定性**完成复杂任务。它由两个主要组件组成：\n\n1. **AgentDock Core**：一个开源、后端优先的框架，用于构建和部署 AI 代理。它设计为*与框架无关*且*与供应商无关*，使您能够完全控制代理的实现。\n\n2. **开源客户端**：一个完整的 Next.js 应用程序，作为 AgentDock Core 框架的参考实现和消费者。您可以在 [https:\u002F\u002Fhub.agentdock.ai](https:\u002F\u002Fhub.agentdock.ai) 上查看其实际运行效果。\n\nAgentDock 使用 TypeScript 构建，强调*简单性*、*可扩展性*和***可配置的确定性***，使其成为构建可靠且可预测的 AI 系统的理想选择，这些系统可以在最少监督的情况下运行。\n\n\u003Cbr>\n\n[![AgentDock](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002FAgentDock_AgentDock_readme_8fed6e4ff2cf.png)](https:\u002F\u002Fagentdock.ai?utm_source=github&utm_medium=readme&utm_campaign=main)\n\n\u003Cbr>\n\n🌐 **AgentDock Pro 即将推出**：通过我们全面的云平台体验 AI 自动化的未来，该平台配备可视化工作流构建器、高级编排功能和企业级基础设施。请在 [AgentDock.ai](https:\u002F\u002Fagentdock.ai?utm_source=github&utm_medium=readme&utm_campaign=main) 注册，以获得抢先体验资格，并在我们上线时赢取免费平台积分。\n\n📖 **AI 代理书籍**：通过我们的综合指南，掌握构建生产级 AI 代理的完整方法论——从基础知识到企业级部署模式，尽在 **[AI 代理书籍](https:\u002F\u002Fagentdock.ai\u002Fdocs\u002Fai-agents-book?utm_source=github&utm_medium=readme&utm_campaign=main)**。\n\n🎯 **全面的提示库**：我们正在构建最广泛的提示库，涵盖日常自动化需求和高度专业化的垂直领域要求。从通用生产力工具到行业特定的工作流，我们精心挑选的提示集合可为任何场景下的代理提供经过实战检验的提示。\n\n## 演示\n\n**[格雷戈里·豪斯医生](https:\u002F\u002Fgithub.com\u002FAgentDock\u002FAgentDock\u002Ftree\u002Fmain\u002Fagents\u002Fdr-house)：** 一个诊断推理引擎，可在多阶段工作流中协调使用**`search`**、**`deep_research`** 和 **`pubmed`** 工具，运用与专家诊断医师相媲美的严谨调查技术来解决复杂的医疗病例。\n\nhttps:\u002F\u002Fgithub.com\u002Fuser-attachments\u002Fassets\u002F50c766dc-fc65-481c-aad2-9a71169c7b28\n\n\u003C\u002Fbr>\n\n**[认知推理器](https:\u002F\u002Fgithub.com\u002FAgentDock\u002FAgentDock\u002Ftree\u002Fmain\u002Fagents\u002Fcognitive-reasoner)：** 一个多阶段推理引擎，可在可配置的工作流中协调七种专门的认知工具（**`search`**、**`think`**、**`reflect`**、**`compare`**、**`critique`**、**`brainstorm`**、**`debate`**），以类似人类的推理模式系统地分解并解决复杂问题。\n\nhttps:\u002F\u002Fgithub.com\u002Fuser-attachments\u002Fassets\u002F279a4e48-a980-4f83-becb-5e039fe10c56\n\n\u003C\u002Fbr>\n\n**[历史导师](https:\u002F\u002Fgithub.com\u002FAgentDock\u002FAgentDock\u002Ftree\u002Fmain\u002Fagents\u002Fhistory-mentor)：** 一个沉浸式教育代理，结合向量化的历史知识与**`search`** 功能以及动态的 Mermaid 图表渲染，可按需创建真实的 learning 体验，直观展示复杂的历史关系和时间线。\n\nhttps:\u002F\u002Fgithub.com\u002Fuser-attachments\u002Fassets\u002F56e80a15-eac3-452b-aa8b-efe7b7f3360c\n\n\u003C\u002Fbr>\n\n**[卡路里视觉](https:\u002F\u002Fgithub.com\u002FAgentDock\u002FAgentDock\u002Ftree\u002Fmain\u002Fagents\u002Fcalorie-vision)：** 一个基于视觉的营养分析系统，结合计算机视觉与结构化数据提取技术，可以从食物图像中精确分析宏量和微量营养素的构成，如同一位营养师般无需手动输入即可即时量化餐食成分。\n\nhttps:\u002F\u002Fgithub.com\u002Fuser-attachments\u002Fassets\u002F6b4e71cf-accc-4c18-bb42-7bc5ad2f37e4\n\n\n\n\n\n## 🌐 README 翻译\n\n[Français](.\u002Fdocs\u002Fi18n\u002Ffrench\u002FREADME.md) • [日本語](.\u002Fdocs\u002Fi18n\u002Fjapanese\u002FREADME.md) • [한국어](.\u002Fdocs\u002Fi18n\u002Fkorean\u002FREADME.md) • [中文](.\u002Fdocs\u002Fi18n\u002Fchinese\u002FREADME.md) • [Español](.\u002Fdocs\u002Fi18n\u002Fspanish\u002FREADME.md) • [Deutsch](.\u002Fdocs\u002Fi18n\u002Fdeutsch\u002FREADME.md) • [Italiano](.\u002Fdocs\u002Fi18n\u002Fitalian\u002FREADME.md) • [Nederlands](.\u002Fdocs\u002Fi18n\u002Fdutch\u002FREADME.md) • [Polski](.\u002Fdocs\u002Fi18n\u002Fpolish\u002FREADME.md) • [Türkçe](.\u002Fdocs\u002Fi18n\u002Fturkish\u002FREADME.md) • [Українська](.\u002Fdocs\u002Fi18n\u002Fukrainian\u002FREADME.md) • [Ελληνικά](.\u002Fdocs\u002Fi18n\u002Fgreek\u002FREADME.md) • [Русский](.\u002Fdocs\u002Fi18n\u002Frussian\u002FREADME.md) • [العربية](.\u002Fdocs\u002Fi18n\u002Farabic\u002FREADME.md)\n\n## 🧠 设计原则\n\nAgentDock 基于以下核心原则构建：\n\n- **简单至上**：只需最少的代码即可创建功能性代理\n- **节点式架构**：所有能力均以节点形式实现\n- **工具即专用节点**：工具扩展了节点系统，以支持代理的能力\n- **可配置的确定性**：控制代理行为的可预测性\n- **类型安全**：全程采用全面的 TypeScript 类型定义\n\n### 可配置的确定性\n\n***可配置的确定性*** 是 AgentDock 设计理念的核心，它使您能够在创意型 AI 能力与可预测的系统行为之间取得平衡：\n\n- AgentNode 本身具有非确定性，因为 LLM 每次都可能生成不同的响应。\n- 通过*定义工具执行路径*，可以使工作流更具确定性。\n- 开发者可以通过配置系统中哪些部分使用 LLM 推理来**控制确定性的程度**。\n- 即使包含 LLM 组件，通过结构化的工具交互，整个系统的运行行为仍然保持**可预测性**。\n- 这种平衡的方法使您的 AI 应用既具备*创造力*，又拥有**可靠性**。\n\n#### 确定性工作流\n\nAgentDock 完全支持您在典型工作流构建器中熟悉的确定性工作流。无论是否使用 LLM 推理，您所期望的可预测执行路径和可靠结果都能实现：\n\n```mermaid\nflowchart LR\n  Input[输入] --> Process[处理]\n  Process --> Database[(数据库)]\n  Process --> Output[输出]\n  \n  style Input fill:#f9f9f9,stroke:#333,stroke-width:1px\n  style Output fill:#f9f9f9,stroke:#333,stroke-width:1px\n  style Process fill:#d4f1f9,stroke:#333,stroke-width:1px\n  style Database fill:#e8e8e8,stroke:#333,stroke-width:1px\n```\n\n#### 非确定性代理行为\n\n借助 AgentDock，当您需要更高的适应性时，也可以利用带有 LLM 的 AgentNode。根据需求，其创造性输出可能会有所不同，同时仍能保持结构化的交互模式：\n\n```mermaid\nflowchart TD\n  Input[用户查询] --> Agent[AgentNode]\n  Agent -->|\"LLM 推理（非确定性）\"| ToolChoice{工具选择}\n  ToolChoice -->|\"选项 A\"| ToolA[深度研究工具]\n  ToolChoice -->|\"选项 B\"| ToolB[数据分析工具]\n  ToolChoice -->|\"选项 C\"| ToolC[直接响应]\n  ToolA --> Response[最终响应]\n  ToolB --> Response\n  ToolC --> Response\n  \n  style Input fill:#f9f9f9,stroke:#333,stroke-width:1px\n  style Agent fill:#ffdfba,stroke:#333,stroke-width:1px\n  style ToolChoice fill:#ffdfba,stroke:#333,stroke-width:1px\n  style ToolA fill:#d4f1f9,stroke:#333,stroke-width:1px\n  style ToolB fill:#d4f1f9,stroke:#333,stroke-width:1px\n  style ToolC fill:#d4f1f9,stroke:#333,stroke-width:1px\n  style Response fill:#f9f9f9,stroke:#333,stroke-width:1px\n```\n\n#### 具有确定性子工作流的非确定性代理\n\nAgentDock 通过将非确定性代理智能与确定性工作流执行相结合，为您提供***两全其美的解决方案***：\n\n```mermaid\nflowchart TD\n  Input[用户查询] --> Agent[AgentNode]\n  Agent -->|\"LLM 推理（非确定性）\"| FlowChoice{子工作流选择}\n  FlowChoice -->|\"决策 A\"| Flow1[确定性工作流 1]\n  FlowChoice -->|\"决策 B\"| Flow2[确定性工作流 2]\n  FlowChoice -->|\"决策 C\"| DirectResponse[生成响应]\n  \n  Flow1 --> |\"步骤 1 → 2 → 3 → ... → 200\"| Flow1Result[工作流 1 结果]\n  Flow2 --> |\"步骤 1 → 2 → 3 → ... → 100\"| Flow2Result[工作流 2 结果]\n  \n  Flow1Result --> Response[最终响应]\n  Flow2Result --> Response\n  DirectResponse --> Response\n  \n  style Input fill:#f9f9f9,stroke:#333,stroke-width:1px\n  style Agent fill:#ffdfba,stroke:#333,stroke-width:1px\n  style FlowChoice fill:#ffdfba,stroke:#333,stroke-width:1px\n  style Flow1 fill:#c9e4ca,stroke:#333,stroke-width:1px\n  style Flow2 fill:#c9e4ca,stroke:#333,stroke-width:1px\n  style Flow1Result fill:#c9e4ca,stroke:#333,stroke-width:1px\n  style Flow2Result fill:#c9e4ca,stroke:#333,stroke-width:1px\n  style DirectResponse fill:#ffdfba,stroke:#333,stroke-width:1px\n  style Response fill:#f9f9f9,stroke:#333,stroke-width:1px\n```\n\n这种方法允许由智能代理决策调用复杂的多步骤工作流（可能涉及数百个在工具中实现或作为连接节点序列的确定性步骤）。尽管这些工作流是由非确定性代理推理触发的，但它们的执行过程仍然是可预测的。\n\n对于更高级的 AI 代理工作流和多阶段处理管道，我们正在构建 [AgentDock Pro](docs\u002Fagentdock-pro.md)——一个功能强大的平台，用于创建、可视化和运行复杂的代理系统。\n\n#### 可配置确定性的简要说明\n\n可以把它想象成开车：有时你需要 AI 的创造力（比如在城市街道上导航——非确定性），而有时则需要可靠、循序渐进的流程（比如按照高速公路指示牌行驶——确定性）。AgentDock 让你能够构建同时运用这两种方式的系统，在任务的每个环节选择合适的方法。这样，你既能获得 AI 的智慧，又能在需要时得到可预测的结果。\n\n## 🏗️ 核心架构\n\n该框架基于一个功能强大、模块化的节点系统构建，作为所有代理功能的基础。这种架构使用不同的节点类型作为构建块：\n\n-   **`BaseNode`**：基础类，为所有节点建立核心接口和能力。\n-   **`AgentNode`**：一种专门的核心节点，负责编排 LLM 交互、工具使用和代理逻辑。\n-   **工具与自定义节点**：开发者可通过扩展 `BaseNode` 的节点来实现代理能力和自定义逻辑。\n\n这些节点通过受管注册表进行交互，并可通过核心架构的端口及潜在的消息总线相互连接，从而实现复杂、可配置且可能具有确定性的代理行为和工作流。\n\n有关节点系统组件和功能的详细说明，请参阅[节点系统文档](docs\u002Fnodes\u002FREADME.md)。\n\n## 🚀 开始使用\n\n有关全面指南，请参阅[入门指南](docs\u002Fgetting-started.md)。\n\n### 需求\n\n* Node.js ≥ 20.11.0 (LTS)\n* pnpm ≥ 9.15.0（必需）\n* LLM 提供商的 API 密钥（Anthropic、OpenAI 等）\n\n### 安装\n\n1. **克隆仓库**：\n\n   ```bash\n   git clone https:\u002F\u002Fgithub.com\u002FAgentDock\u002FAgentDock.git\n   cd AgentDock\n   ```\n\n2. **安装 pnpm**：\n\n   ```bash\n   corepack enable\n   corepack prepare pnpm@latest --activate\n   ```\n\n3. **安装依赖项**：\n\n   ```bash\n   pnpm install\n   ```\n   \n   如果需要从头开始重新安装：\n   ```bash\n   pnpm run clean-install\n   ```\n   此脚本会移除所有 node_modules 和锁文件，并正确地重新安装依赖项。\n\n4. **配置环境**：\n   \n   基于 `.env.example` 创建环境文件（`.env` 或 `.env.local`）：\n   \n   ```bash\n   # 选项 1：创建 .env.local\n   cp .env.example .env.local\n   \n   # 选项 2：创建 .env\n   cp .env.example .env\n   ```\n   \n   然后将您的 API 密钥添加到环境文件中。\n\n5. **启动开发服务器**：\n\n   ```bash\n   pnpm dev\n   ```\n## 部署开源客户端\n\n[![使用 Vercel 部署](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002FAgentDock_AgentDock_readme_a4c0f8073a9c.png)](https:\u002F\u002Fvercel.com\u002Fnew\u002Fclone?repository-url=https%3A%2F%2Fgithub.com%2FAgentDock%2FAgentDock)\n\n点击上方按钮，即可将 AgentDock 开源客户端直接部署到您的 Vercel 账户。\n\n### 高级功能\n\n| 功能             | 描述                                                                    | 文档                                                        |\n|------------------------|--------------------------------------------------------------------------------|----------------------------------------------------------------------|\n| **会话管理** | 对话的隔离且高效的会话状态管理                        | [会话文档](.\u002Fdocs\u002Farchitecture\u002Fsessions\u002FREADME.md)      |\n| **编排框架** | 根据上下文控制智能体行为和工具可用性                  | [编排文档](.\u002Fdocs\u002Farchitecture\u002Forchestration\u002FREADME.md) |\n| **存储抽象层**  | 具有可插拔提供者的灵活存储系统，支持键值存储、向量存储和安全存储 | [存储文档](.\u002Fdocs\u002Fstorage\u002FREADME.md)                    |\n| **评估框架** | 使用多样化的评估器系统地衡量并提升智能体质量       | [评估文档](.\u002Fdocs\u002Fevaluations\u002FREADME.md)             |\n\n目前，存储系统正在演进中，已支持键值存储（包括内存、Redis 和 Vercel KV 提供者）以及客户端安全存储；同时，向量存储和其他后端也在开发中。\n\n## 📕 文档\n\nAgentDock 框架的文档可在 [hub.agentdock.ai\u002Fdocs](https:\u002F\u002Fhub.agentdock.ai\u002Fdocs) 以及本仓库的 `\u002Fdocs\u002F` 目录下找到。文档内容包括：\n\n- 入门指南\n- API 参考\n- 节点创建教程\n- 集成示例\n\n如需更全面的生态文档和指南，请访问 [agentdock.ai\u002Fdocs](https:\u002F\u002Fagentdock.ai\u002Fdocs)。\n\n## 📂 仓库结构\n\n本仓库包含以下内容：\n\n1.  **AgentDock 核心库**：位于 `agentdock-core\u002F` 目录下的核心框架。\n2.  **开源客户端**：基于 Next.js 构建的完整参考实现，作为 AgentDock 核心框架的消费者。\n3.  **示例智能体**：位于 `agents\u002F` 目录中的即用型智能体配置。\n4.  **AI 智能体手册**：位于 `content\u002Fai-agents-book\u002F` 目录下的综合指南内容。\n\n您可以独立在自己的应用中使用 AgentDock 核心库，也可以将本仓库作为起点来构建您自己的智能体驱动的应用程序。\n\n## 📝 智能体模板\n\nAgentDock 包含多个预配置的智能体模板。您可以在 `agents\u002F` 目录中探索这些模板，或阅读 [智能体模板文档](docs\u002Fagent-templates.md)，以了解详细的配置信息。\n\n## 🔧 示例实现\n\n示例实现展示了特定的使用场景和高级功能：\n\n| 实现               | 描述                                                         | 状态     |\n|--------------------|--------------------------------------------------------------|----------|\n| **编排型智能体**   | 利用编排机制根据上下文调整行为的示例智能体                 | 已可用   |\n| **认知推理器**     | 使用结构化推理和认知工具解决复杂问题                       | 已可用   |\n| **智能体规划器**   | 专门用于设计和实现其他 AI 智能体的智能体                   | 已可用   |\n| [**代码游乐场**](docs\u002Froadmap\u002Fcode-playground.md) | 具有丰富可视化能力的沙箱式代码生成与执行环境              | 计划中   |\n\n\n\n## 🔐 环境配置详情\n\nAgentDock 开源客户端需要 LLM 提供商的 API 密钥才能正常运行。这些密钥需在环境文件（`.env` 或 `.env.local`）中进行配置，您可以基于提供的 `.env.example` 文件创建该文件。\n\n### LLM 提供商 API 密钥\n\n请添加您的 LLM 提供商 API 密钥（至少需要一个）：\n\n```bash\n# LLM 提供商 API 密钥 - 至少需要一个\nANTHROPIC_API_KEY=sk-ant-xxxxxxx  # Anthropic API 密钥\nOPENAI_API_KEY=sk-xxxxxxx         # OpenAI API 密钥\nGEMINI_API_KEY=xxxxxxx            # Google Gemini API 密钥\nDEEPSEEK_API_KEY=xxxxxxx          # DeepSeek API 密钥\nGROQ_API_KEY=xxxxxxx              # Groq API 密钥\n```\n\n### API 密钥解析顺序\n\nAgentDock 开源客户端在解析使用哪个 API 密钥时，遵循以下优先级顺序：\n\n1. **每个智能体自定义的 API 密钥**（通过 UI 中的智能体设置进行配置）\n2. **全局设置中的 API 密钥**（通过 UI 中的设置页面进行配置）\n3. **环境变量**（来自 `.env.local` 文件或部署平台）\n\n### 工具专用 API 密钥\n\n部分工具也需要各自的 API 密钥：\n\n```bash\n# 工具专用 API 密钥\nSERPER_API_KEY=                  # 搜索功能所需\nFIRECRAWL_API_KEY=               # 更深层网页搜索所需\n```\n\n有关环境配置的更多详细信息，请参阅 [`src\u002Ftypes\u002Fenv.ts`](src\u002Ftypes\u002Fenv.ts) 中的实现。\n\n### 使用您自己的 API 密钥 (BYOK)\n\nAgentDock 采用 BYOK（自带密钥）模式：\n\n1. 在应用程序的设置页面中添加您的 API 密钥。\n2. 或者，您也可以通过请求头直接传递密钥以供 API 使用。\n3. 密钥将使用内置加密系统安全存储。\n4. 我们不会共享或存储任何 API 密钥。\n\n## 📦 包管理工具\n\n该项目*要求*使用 `pnpm` 进行一致的依赖管理。`npm` 和 `yarn` 不受支持。\n\n## 💡 您可以构建的内容\n\n1. **AI 驱动的应用程序**\n   - 自定义聊天机器人，搭配任意前端\n   - 命令行 AI 助手\n   - 自动化数据处理流水线\n   - 后端服务集成\n\n2. **集成能力**\n   - 支持任何 AI 提供商（OpenAI、Anthropic 等）\n   - 适用于任何前端框架\n   - 可对接任何后端服务\n   - 自定义数据源和 API\n\n3. **自动化系统**\n   - 数据处理工作流\n   - 文档分析流水线\n   - 自动化报告系统\n   - 任务自动化智能体\n\n## 核心特性\n\n| 特性                 | 描述                                                               |\n|-------------------------|---------------------------------------------------------------------------|\n| 🔌 **框架无关（Node.js 后端）** | 核心库可与 Node.js 后端栈集成。                      |\n| 🧩 **模块化设计**     | 由简单节点构建复杂系统                                   |\n| 🛠️ **可扩展**         | 可为任何功能创建自定义节点                                 |\n| 🔒 **安全**             | 内置 API 密钥和数据的安全特性                              |\n| 🔑 **BYOK**               | 使用您*自己的 API 密钥* 调用 LLM 提供商                   |\n| 📦 **自包含**     | 核心框架依赖项极少                                   |\n| ⚙️ **多步工具调用** | 支持*复杂推理链*                                    |\n| 📊 **结构化日志记录** | 提供对代理执行的详细洞察                                    |\n| 🛡️ **健壮的错误处理**| 行为可预测，调试更简化                            |\n| 📝 **TypeScript 优先**   | 类型安全，提升开发者体验                             |\n| 🌐 **开源客户端** | 包含完整的 Next.js 参考实现                       |\n| 🔄 **编排**      | 基于上下文对代理行为进行*动态控制*                      |\n| 💾 **会话管理** | 并发对话之间的隔离状态                               |\n| 🎮 **可配置的确定性** | 通过节点逻辑\u002F工作流平衡 AI 的创造性和可预测性        |\n| 📊 **评估框架** | 强大的工具用于定义、运行和分析代理性能评估           |\n\n## 🧰 组件\n\nAgentDock 的模块化架构基于以下关键组件：\n\n*   **BaseNode**: 系统中所有节点的基础\n*   **AgentNode**: 代理功能的主要抽象\n*   **工具与自定义节点**: 以节点形式实现的可调用能力和自定义逻辑。\n*   **节点注册表**: 管理所有节点类型的注册与检索\n*   **工具注册表**: 管理代理可用的工具\n*   **CoreLLM**: 与 LLM 提供商交互的统一接口\n*   **提供商注册表**: 管理 LLM 提供商的配置\n*   **评估框架**: 代理评估的核心组件\n*   **错误处理**: 用于处理错误并确保行为可预测的系统\n*   **日志记录**: 用于监控和调试的结构化日志系统\n*   **编排**: 根据对话上下文控制工具的可用性和行为\n*   **会话**: 管理并发对话之间的状态隔离\n\n有关这些组件的详细技术文档，请参阅 [架构概述](docs\u002Farchitecture\u002FREADME.md)。\n\n\n\n## 🗺️ 路线图\n\n以下是 AgentDock 的开发路线图。此处列出的大多数改进都与核心 AgentDock 框架 (`agentdock-core`) 相关，该框架目前在本地开发中，待达到稳定版本后将作为版本化的 NPM 包发布。部分路线图项目也可能涉及对开源客户端实现的增强。\n\n| 功能 | 描述 | 类别 |\n|---------|-------------|--------|\n| [**存储抽象层**](docs\u002Froadmap\u002Fstorage-abstraction.md) | 具有可插拔提供者的灵活存储系统 | **进行中** |\n| [**高级记忆系统**](docs\u002Froadmap\u002Fadvanced-memory.md) | 长期上下文管理 | **进行中** |\n| [**向量存储集成**](docs\u002Froadmap\u002Fvector-storage.md) | 基于嵌入的文档和记忆检索 | **进行中** |\n| [**AI 代理评估**](docs\u002Froadmap\u002Fevaluation-framework.md) | 全面的测试和评估框架 | **进行中** |\n| [**平台集成**](docs\u002Froadmap\u002Fplatform-integration.md) | 支持 Telegram、WhatsApp 等消息平台 | **计划中** |\n| [**多代理协作**](docs\u002Froadmap\u002Fmulti-agent-collaboration.md) | 使代理能够协同工作 | **计划中** |\n| [**模型上下文协议 (MCP) 集成**](docs\u002Froadmap\u002Fmcp-integration.md) | 支持通过 MCP 发现和使用外部工具 | **计划中** |\n| [**语音 AI 代理**](docs\u002Froadmap\u002Fvoice-agents.md) | 通过 AgentNode 使用语音界面和电话号码的 AI 代理 | **计划中** |\n| [**遥测与可追溯性**](docs\u002Froadmap\u002Ftelemetry.md) | 高级日志记录和性能跟踪 | **计划中** |\n| [**工作流运行时与节点**](docs\u002Froadmap\u002Fworkflow-nodes.md) | 复杂自动化的核心运行时、节点类型和编排逻辑 | **计划中** |\n| [**AgentDock Pro**](docs\u002Fagentdock-pro.md) | 用于扩展 AI 代理和工作流的全面企业云平台 | **云** |\n| [**自然语言 AI 代理构建器**](docs\u002Froadmap\u002Fnl-agent-builder.md) | 可视化构建器 + 自然语言代理和工作流构建 | **云** |\n| [**代理市场**](docs\u002Froadmap\u002Fagent-marketplace.md) | 可盈利的代理模板 | **云** |\n\n## 👥 贡献\n\n我们欢迎对 AgentDock 的贡献！请参阅 [CONTRIBUTING.md](CONTRIBUTING.md) 获取详细的贡献指南。\n\n## 📜 许可证\n\nAgentDock 采用 [MIT 许可证](LICENSE) 发布。\n\n## ✨ 构建任何东西！\n\nAgentDock 提供了构建您所能想象的几乎任何 AI 驱动的应用程序或自动化的基础。我们鼓励您探索该框架，构建创新的代理，并为社区做出贡献。让我们共同构建 AI 交互的未来吧！","# AgentDock 快速上手指南\n\nAgentDock 是一个用于构建复杂 AI 智能体（AI Agents）的开源框架，主打**可配置的确定性**。它允许开发者在利用大模型创造力的同时，通过结构化工作流确保系统行为的可预测性。\n\n## 环境准备\n\n在开始之前，请确保您的开发环境满足以下要求：\n\n*   **操作系统**: Windows, macOS 或 Linux\n*   **Node.js**: 版本 ≥ 20.11.0 (推荐使用 LTS 版本)\n*   **包管理器**: pnpm ≥ 9.15.0 (**必须**)\n*   **API 密钥**: 准备好大模型提供商的 API Key（如 OpenAI, Anthropic 等）\n\n> **提示**：国内开发者若遇到 npm\u002Fpnpm 源连接缓慢的问题，建议配置国内镜像源（如腾讯云或阿里云镜像）以加速依赖下载。\n\n## 安装步骤\n\n### 1. 克隆项目仓库\n\n```bash\ngit clone https:\u002F\u002Fgithub.com\u002FAgentDock\u002FAgentDock.git\ncd AgentDock\n```\n\n### 2. 安装并激活 pnpm\n\nAgentDock 强制要求使用 pnpm。如果您尚未安装，请使用以下命令启用 Corepack 并激活最新版的 pnpm：\n\n```bash\ncorepack enable\ncorepack prepare pnpm@latest --activate\n```\n\n### 3. 安装项目依赖\n\n在项目根目录下运行：\n\n```bash\npnpm install\n```\n\n### 4. 配置环境变量\n\n复制示例环境变量文件并根据需要修改（填入您的 LLM API Key）：\n\n```bash\ncp .env.example .env\n```\n\n编辑 `.env` 文件，填入您的密钥，例如：\n```bash\nOPENAI_API_KEY=your_openai_api_key\nANTHROPIC_API_KEY=your_anthropic_api_key\n```\n\n## 基本使用\n\nAgentDock 的核心架构基于**节点（Node）**系统。所有功能（包括工具和工作流）都被实现为节点。\n\n### 核心概念\n\n*   **BaseNode**: 所有节点的基础类。\n*   **AgentNode**: 专门用于编排 LLM 交互、工具调用和智能体逻辑的核心节点。\n*   **Tools**: 作为特殊节点扩展，赋予智能体具体能力（如搜索、计算、数据库查询）。\n\n### 运行示例智能体\n\n项目内置了多个演示智能体，您可以直接运行它们来体验框架功能。\n\n**示例：运行 \"Dr. Gregory House\" (医疗诊断推理智能体)**\n\n该智能体展示了如何编排 `search`、`deep_research` 和 `pubmed` 工具来处理复杂的医疗案例。\n\n```bash\npnpm run agent:dr-house\n```\n\n**示例：运行 \"Cognitive Reasoner\" (认知推理引擎)**\n\n该智能体展示了多阶段推理，协调 `think`、`reflect`、`critique` 等七个专用认知工具。\n\n```bash\npnpm run agent:cognitive-reasoner\n```\n\n### 开发自定义智能体\n\n要构建自己的智能体，您需要创建继承自 `BaseNode` 的新节点，并在主程序中通过 `AgentNode` 进行编排。\n\n1.  在 `agents` 目录下创建新文件夹。\n2.  定义您的工具节点（实现特定逻辑）。\n3.  配置 `AgentNode` 的工作流，决定何时调用 LLM（非确定性）以及何时执行固定脚本（确定性）。\n\n更多详细开发文档请参考官方文档：[https:\u002F\u002Fhub.agentdock.ai\u002Fdocs](https:\u002F\u002Fhub.agentdock.ai\u002Fdocs)","某医疗科技公司的研发小组正致力于构建一个能辅助医生进行复杂病例诊断的 AI 系统，需要整合多方医学数据并保证推理过程的严谨性。\n\n### 没有 AgentDock 时\n- **流程不可控**：传统大模型回答具有随机性，难以确保每次诊断都严格遵循“搜索文献 - 深度分析 - 验证结论”的标准医疗流程。\n- **工具集成困难**：手动串联 PubMed 数据库检索、通用搜索和内部病历库需要编写大量胶水代码，且不同 AI 提供商的接口差异导致维护成本极高。\n- **调试黑盒化**：当 AI 给出错误诊断建议时，开发者无法追溯具体是哪个推理环节出错，缺乏类似\"Dr. Gregory House\"案例中的多阶段可视化监控。\n- **架构绑定风险**：现有方案往往深度绑定特定框架或云厂商，一旦需要更换底层模型或部署环境，整个系统需推倒重来。\n\n### 使用 AgentDock 后\n- **可配置的确定性**：利用 AgentDock 的核心特性，团队定义了强制性的多阶段工作流，确保每个病例都经过标准化的调查步骤，输出结果稳定可靠。\n- **敏捷工具编排**：通过框架无关的后端设计，轻松将 `search`、`deep_research` 和 `pubmed` 等专用工具编排进同一代理，无需关心底层提供商差异。\n- **透明化推理链路**：借助其参考客户端，开发人员能清晰看到 AI 如何像专家一样逐步拆解病例，快速定位并修正逻辑偏差。\n- **自主可控部署**：基于 TypeScript 构建的开放架构让团队完全掌握代码所有权，可灵活部署在私有服务器或云端，避免厂商锁定。\n\nAgentDock 通过提供可配置的确定性和灵活的编排能力，将不可预测的大模型转化为符合医疗级标准的可靠诊断助手。","https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002FAgentDock_AgentDock_8fed6e4f.png","https:\u002F\u002Foss.gittoolsai.com\u002Favatars\u002FAgentDock_e667a087.png",null,"agentdock","https:\u002F\u002Fagentdock.ai","https:\u002F\u002Fgithub.com\u002FAgentDock",[79,83,87,91,95],{"name":80,"color":81,"percentage":82},"TypeScript","#3178c6",61.9,{"name":84,"color":85,"percentage":86},"MDX","#fcb32c",37.5,{"name":88,"color":89,"percentage":90},"CSS","#663399",0.5,{"name":92,"color":93,"percentage":94},"JavaScript","#f1e05a",0.1,{"name":96,"color":97,"percentage":98},"Shell","#89e051",0,1623,109,"2026-04-17T02:48:36","MIT","未说明",{"notes":105,"python":103,"dependencies":106},"该项目是基于 TypeScript 的 AI Agent 框架，非 Python 项目。运行必须安装 Node.js (>=20.11.0) 和 pnpm (>=9.15.0)。需要配置 LLM 提供商（如 Anthropic, OpenAI 等）的 API 密钥。客户端部分基于 Next.js 构建。",[107,108,80],"Node.js >= 20.11.0 (LTS)","pnpm >= 9.15.0",[35,14,13],[111,112,113,114,115,116,117,118],"llm","typescript","workflows","nextjs","agentic-ai","agentic-framework","ai-agents","natural-language-inference","2026-03-27T02:49:30.150509","2026-04-20T04:04:28.198622",[122,127,132,137,142,147],{"id":123,"question_zh":124,"answer_zh":125,"source_url":126},43402,"如何在本地开发环境中实现会话状态和消息历史的持久化存储？","AgentDock 现已支持使用 SQLite 作为统一的本地后端来实现持久化。此前默认使用易失性的内存存储或浏览器 localStorage，导致重启后数据丢失。要启用此功能：\n1. 确保核心库已包含 `better-sqlite3` 依赖。\n2. 配置存储工厂识别 `STORAGE_TYPE=sqlite`。\n3. 系统会自动创建 `key_value_store` 表来序列化存储会话状态，并支持 TTL（过期时间）逻辑。\n这允许你在无需 Redis 或 Vercel KV 等外部服务的情况下，运行一个完全自包含且数据持久的本地 AgentDock 环境。相关实现已通过 PR #222 合并。","https:\u002F\u002Fgithub.com\u002FAgentDock\u002FAgentDock\u002Fissues\u002F100",{"id":128,"question_zh":129,"answer_zh":130,"source_url":131},43403,"遇到 'State update failed' 或 Redis 'fetch failed' 错误该如何解决？","该错误通常表明 Orchestrator 无法连接到 Redis 以更新会话状态，导致报错 'Session not found for update'。\n最常见的根本原因是 Redis 服务未正常启动。如果你使用 Docker Compose 部署，请检查容器状态，确认 Redis 容器是否正在运行。尝试重启 Redis 服务或重新运行 `docker compose up` 以确保所有依赖服务（特别是 Redis）都已正确初始化并监听端口。","https:\u002F\u002Fgithub.com\u002FAgentDock\u002FAgentDock\u002Fissues\u002F177",{"id":133,"question_zh":134,"answer_zh":135,"source_url":136},43404,"文档侧边栏出现双重滚动条（嵌套滚动）的视觉问题如何修复？","这是一个由 CSS 冲突引起的已知回归问题，通常发生在将侧边栏设置为 `position: sticky` 之后。\n根本原因是侧边栏元素与其父容器（如 `layout.tsx` 中的 flex 容器或 `body`）同时设置了 `overflow-y` 和高度限制，导致两者都试图独立滚动。\n解决方法是检查 `src\u002Fapp\u002Fdocs\u002Fdocs.css` 和 `src\u002Fapp\u002Fdocs\u002Flayout.tsx` 文件，调整 `overflow-y`、`height` 或 `max-height` 属性，确保同一时间只有一个元素控制垂直滚动（要么是整个页面的主滚动条，要么是侧边栏内部的滚动条），从而消除嵌套效果。","https:\u002F\u002Fgithub.com\u002FAgentDock\u002FAgentDock\u002Fissues\u002F147",{"id":138,"question_zh":139,"answer_zh":140,"source_url":141},43405,"AgentDock 是否提供了评估 Agent 响应质量的框架？","是的，AgentDock 正在构建并逐步完善内置的 Agent 评估框架（Agent Evaluation Framework）。\n该框架位于 `agentdock-core\u002Fsrc\u002Fevaluation\u002F` 目录下，旨在提供标准化的方式来定义评估标准（如准确性、相关性）、执行评估方法（自动规则、LLM 裁判、人工反馈）以及聚合结果。\n核心接口包括 `EvaluationCriteria`（定义标准）、`EvaluationInput`（输入数据）和 `EvaluationResult`（输出结果）。目前基础结构和类型定义已在 `evaluation-prd-v1` 分支中实现，支持插件化的评估器设计。","https:\u002F\u002Fgithub.com\u002FAgentDock\u002FAgentDock\u002Fissues\u002F105",{"id":143,"question_zh":144,"answer_zh":145,"source_url":146},43406,"如何为 AgentDock 的核心节点系统（Node System）编写单元测试？","为核心节点系统编写测试时，应重点关注 `NodeRegistry` 和 `ToolRegistry` 的功能验证。\n测试策略包括：\n1. **注册测试**：验证 `registerNodeType` 是否能正确处理有效类型及重复类型的注册。\n2. **检索测试**：验证 `getNodeType` 能否准确返回已注册的节点。\n3. **模拟依赖**：根据核心测试策略（Issue #101），在测试中适当使用 Mocks 来隔离外部依赖。\n4. **结构验证**：通过具体实现类测试 `BaseNode` 抽象类的结构验证逻辑。\n这些测试对于确保定义、发现和管理功能单元的基础设施稳健性至关重要。","https:\u002F\u002Fgithub.com\u002FAgentDock\u002FAgentDock\u002Fissues\u002F104",{"id":148,"question_zh":149,"answer_zh":150,"source_url":141},43407,"在哪里可以找到 Agent 评估框架的详细产品需求文档（PRD）？","Agent 评估框架的详细产品需求文档（PRD）托管在项目的文档目录中。\n你可以访问以下链接查看具体的实施计划和详细规范：\nhttps:\u002F\u002Fgithub.com\u002FAgentDock\u002FAgentDock\u002Fblob\u002Fevaluation-prd-v1\u002Fdocs\u002Fprd\u002Fevaluation-framework.md\n目前的开发工作正基于此 PRD 在 `evaluation-prd-v1` 分支上进行，涵盖了从核心接口定义到运行器逻辑的实现。",[]]