From 0fc65e768c2a77d07c3e6259c9ca80ef0b49e4a9 Mon Sep 17 00:00:00 2001 From: tilman-sattler Date: Mon, 20 Jul 2026 13:11:49 +0200 Subject: [PATCH 1/6] Add dedicated documentation-section for Flock Multi-Agent Framework. Signed-off-by: tilman-sattler --- .../agent-integrations/_index.md | 102 ++++++++++++++---- 1 file changed, 81 insertions(+), 21 deletions(-) diff --git a/daprdocs/content/en/developing-ai/agent-integrations/_index.md b/daprdocs/content/en/developing-ai/agent-integrations/_index.md index cb4e3d06a1a..a00b1f0ee48 100644 --- a/daprdocs/content/en/developing-ai/agent-integrations/_index.md +++ b/daprdocs/content/en/developing-ai/agent-integrations/_index.md @@ -3,36 +3,96 @@ type: docs title: "Agent Integrations" linkTitle: "Agent Integrations" weight: 25 -description: "Durable Execution for Google ADK, Claude Agent SDK, CrewAI, LangChain Deep Agents, HolmesGPT, LangGraph, OpenAI Agents SDK, Pydantic AI, Strands Agents, and Microsoft Agent Framework" +description: "Supported agent frameworks and durable execution integrations for Dapr, including Flock and Diagrid community integrations" --- -### What are community agent integrations in Dapr? +## What are agent integrations in Dapr? -Agents fail. Pods get evicted, processes crash, laptops die mid-run — and without durable execution, that failure means lost context, repeated tool calls, burned tokens, and an agent that has to start over from zero. [Diagrid](https://www.diagrid.io/) maintains an open-source library that fixes this for good: it drops into your existing agent code and wraps it in [Dapr Workflows]({{% ref workflow-overview %}}), turning every LLM call and every tool execution into a durable, checkpointed activity — with **automatic failure detection and recovery, at scale**, for about **three lines of code**: +Agent integrations combine AI frameworks with Dapr building blocks such as +[Workflows]({{% ref workflow-overview %}}) and +[State management]({{% ref "state-management-overview.md" %}}) so agent +executions can survive failures, recover progress, and share durable state +across instances. + +### Supported frameworks + +|Framework|What becomes durable|Install / integration| +|---|---|---| +|[Flock](https://whiteducksoftware.github.io/flock/)|Blackboard state can be persisted through Dapr-supported state stores for shared and durable agent context|`uv add "flock-core[dapr]"`| +|[Google ADK](https://docs.diagrid.io/getting-started/quickstarts/ai-agents/?agentframework=adk)|Every LLM call and tool execution in an ADK agent|`pip install "diagrid[adk]"`| +|[Claude Agent SDK](https://docs.diagrid.io/getting-started/quickstarts/ai-agents/?agentframework=claude-agents)|Every Anthropic API turn and tool call, with parallel `tool_use` fan-out|`pip install "diagrid[claude_agents]"`| +|[CrewAI](https://docs.diagrid.io/getting-started/quickstarts/ai-agents/?agentframework=crewai)|Every crew/task LLM call and tool execution|`pip install "diagrid[crewai]"`| +|[LangChain Deep Agents](https://docs.diagrid.io/getting-started/quickstarts/ai-agents/?agentframework=deepagents)|Deep Agents graphs (built on LangGraph)|`pip install "diagrid[deepagents]"`| +|[HolmesGPT](https://github.com/diagridio/python-ai/tree/main/diagrid/agent/holmesgpt)|Every investigation iteration and tool call, plus durable human-in-the-loop approvals|`pip install "diagrid[holmesgpt]"`| +|[LangGraph](https://docs.diagrid.io/getting-started/quickstarts/ai-agents/?agentframework=langgraph)|Every node execution in a graph|`pip install "diagrid[langgraph]"`| +|[OpenAI Agents SDK](https://docs.diagrid.io/getting-started/quickstarts/ai-agents/?agentframework=openai-agents)|Every LLM call and tool execution|`pip install "diagrid[openai_agents]"`| +|[Pydantic AI](https://docs.diagrid.io/getting-started/quickstarts/ai-agents/?agentframework=pydantic-ai)|Every LLM call and tool execution|`pip install "diagrid[pydantic_ai]"`| +|[Strands Agents](https://docs.diagrid.io/getting-started/quickstarts/ai-agents/?agentframework=strands)|Every tool call in a Strands agent loop|`pip install "diagrid[strands]"`| +|[Microsoft Agent Framework](https://docs.diagrid.io/getting-started/quickstarts/ai-agents/?agentframework=microsoft-dotnet)|Every agent invocation run as a Dapr Workflow activity|`dotnet add package Diagrid.AI.Microsoft.AgentFramework`| + +### Flock framework integration + +Flock can use Dapr as a durable blackboard backend. This allows you to keep the +same Flock agent model while switching persistence from local storage to +distributed Dapr state stores such as Redis or PostgreSQL. + +The example below is intentionally minimal and conceptual. It shows only the +Dapr store wiring; full production configuration options and backend capability +details are documented in the official Flock guides. + +```python +# Minimal conceptual example for Flock + Dapr state store +from flock import Flock +from flock.storage import DaprStateBlackboardConfig, DaprStateBlackboardStore + +store = DaprStateBlackboardStore( + config=DaprStateBlackboardConfig(store_name="flockstate") +) + +flock = Flock(model="openai/gpt-5.6", store=store) +``` + +Read more: + +- [Flock documentation](https://whiteducksoftware.github.io/flock/) +- [Flock repository (GitHub)](https://github.com/whiteducksoftware/flock) +- [Flock Dapr State Store Integration guide](https://whiteducksoftware.github.io/flock/guides/dapr-state-store/) +- [Flock Dapr examples (GitHub)](https://github.com/whiteducksoftware/flock/tree/main/examples/12-dapr) +- [Dapr State management overview]({{% ref "state-management-overview.md" %}}) + +### Diagrid community integrations + +The following framework adapters are community-built and maintained by +[Diagrid](https://www.diagrid.io/) on top of +[Dapr Workflows]({{% ref workflow-overview %}}). They are not part of the core +Dapr project, and are open source under +[diagridio/python-ai](https://github.com/diagridio/python-ai). Questions, +bugs, and demos are welcome in the +[Diagrid Community Discord](https://diagrid.ws/diagrid-community). + +For a minimal integration shape, the Diagrid adapters typically look like this: ```python -# 1. Wrap your existing agent — no rewrite required +# 1. Wrap your existing agent runner = DaprWorkflowAgentRunner(agent=agent, name="my-agent") # 2. Start the durable workflow runtime runner.start() -# 3. Run it — every step is now checkpointed and crash-proof +# 3. Run with checkpointed execution async for event in runner.run_async(user_message="...", session_id="..."): ... ``` -These extensions are community-built and maintained by Diagrid on top of Dapr Workflow — they are not part of the core Dapr project, but are open source under [diagridio/python-ai](https://github.com/diagridio/python-ai). Questions, bugs, and demos are always welcome in the [Diagrid Community Discord](https://diagrid.ws/diagrid-community). - -#### Supported frameworks - -| Framework | What becomes durable | Install | -|-----------|-----------------------|---------| -| [Google ADK](https://docs.diagrid.io/getting-started/quickstarts/ai-agents/?agentframework=adk) | Every LLM call and tool execution in an ADK agent | `pip install "diagrid[adk]"` | -| [Claude Agent SDK](https://docs.diagrid.io/getting-started/quickstarts/ai-agents/?agentframework=claude-agents) | Every Anthropic API turn and tool call, with parallel `tool_use` fan-out | `pip install "diagrid[claude_agents]"` | -| [CrewAI](https://docs.diagrid.io/getting-started/quickstarts/ai-agents/?agentframework=crewai) | Every crew/task LLM call and tool execution | `pip install "diagrid[crewai]"` | -| [LangChain Deep Agents](https://docs.diagrid.io/getting-started/quickstarts/ai-agents/?agentframework=deepagents) | Deep Agents graphs (built on LangGraph) | `pip install "diagrid[deepagents]"` | -| [HolmesGPT](https://github.com/diagridio/python-ai/tree/main/diagrid/agent/holmesgpt) | Every investigation iteration and tool call, plus durable human-in-the-loop approvals | `pip install "diagrid[holmesgpt]"` | -| [LangGraph](https://docs.diagrid.io/getting-started/quickstarts/ai-agents/?agentframework=langgraph) | Every node execution in a graph | `pip install "diagrid[langgraph]"` | -| [OpenAI Agents SDK](https://docs.diagrid.io/getting-started/quickstarts/ai-agents/?agentframework=openai-agents) | Every LLM call and tool execution | `pip install "diagrid[openai_agents]"` | -| [Pydantic AI](https://docs.diagrid.io/getting-started/quickstarts/ai-agents/?agentframework=pydantic-ai) | Every LLM call and tool execution | `pip install "diagrid[pydantic_ai]"` | -| [Strands Agents](https://docs.diagrid.io/getting-started/quickstarts/ai-agents/?agentframework=strands) | Every tool call in a Strands agent loop | `pip install "diagrid[strands]"` | -| [Microsoft Agent Framework](https://docs.diagrid.io/getting-started/quickstarts/ai-agents/?agentframework=microsoft-dotnet) | Every agent invocation run as a Dapr Workflow activity | `dotnet add package Diagrid.AI.Microsoft.AgentFramework` | +#### Diagrid-supported frameworks + +|Framework|What becomes durable|Install| +|---|---|---| +|[Google ADK](https://docs.diagrid.io/getting-started/quickstarts/ai-agents/?agentframework=adk)|Every LLM call and tool execution in an ADK agent|`pip install "diagrid[adk]"`| +|[Claude Agent SDK](https://docs.diagrid.io/getting-started/quickstarts/ai-agents/?agentframework=claude-agents)|Every Anthropic API turn and tool call, with parallel `tool_use` fan-out|`pip install "diagrid[claude_agents]"`| +|[CrewAI](https://docs.diagrid.io/getting-started/quickstarts/ai-agents/?agentframework=crewai)|Every crew/task LLM call and tool execution|`pip install "diagrid[crewai]"`| +|[LangChain Deep Agents](https://docs.diagrid.io/getting-started/quickstarts/ai-agents/?agentframework=deepagents)|Deep Agents graphs (built on LangGraph)|`pip install "diagrid[deepagents]"`| +|[HolmesGPT](https://github.com/diagridio/python-ai/tree/main/diagrid/agent/holmesgpt)|Every investigation iteration and tool call, plus durable human-in-the-loop approvals|`pip install "diagrid[holmesgpt]"`| +|[LangGraph](https://docs.diagrid.io/getting-started/quickstarts/ai-agents/?agentframework=langgraph)|Every node execution in a graph|`pip install "diagrid[langgraph]"`| +|[OpenAI Agents SDK](https://docs.diagrid.io/getting-started/quickstarts/ai-agents/?agentframework=openai-agents)|Every LLM call and tool execution|`pip install "diagrid[openai_agents]"`| +|[Pydantic AI](https://docs.diagrid.io/getting-started/quickstarts/ai-agents/?agentframework=pydantic-ai)|Every LLM call and tool execution|`pip install "diagrid[pydantic_ai]"`| +|[Strands Agents](https://docs.diagrid.io/getting-started/quickstarts/ai-agents/?agentframework=strands)|Every tool call in a Strands agent loop|`pip install "diagrid[strands]"`| +|[Microsoft Agent Framework](https://docs.diagrid.io/getting-started/quickstarts/ai-agents/?agentframework=microsoft-dotnet)|Every agent invocation run as a Dapr Workflow activity|`dotnet add package Diagrid.AI.Microsoft.AgentFramework`| From 47626de663a45d8d106f156cef00e453f48c27f4 Mon Sep 17 00:00:00 2001 From: tilman-sattler Date: Mon, 20 Jul 2026 13:46:17 +0200 Subject: [PATCH 2/6] Added documentation for the Flock Multi-Agent Framework. Update documentation style Signed-off-by: tilman-sattler --- .../developing-ai/agent-integrations/_index.md | 18 ++++++++++++++---- 1 file changed, 14 insertions(+), 4 deletions(-) diff --git a/daprdocs/content/en/developing-ai/agent-integrations/_index.md b/daprdocs/content/en/developing-ai/agent-integrations/_index.md index a00b1f0ee48..0fd52da0996 100644 --- a/daprdocs/content/en/developing-ai/agent-integrations/_index.md +++ b/daprdocs/content/en/developing-ai/agent-integrations/_index.md @@ -32,9 +32,9 @@ across instances. ### Flock framework integration -Flock can use Dapr as a durable blackboard backend. This allows you to keep the -same Flock agent model while switching persistence from local storage to -distributed Dapr state stores such as Redis or PostgreSQL. +Flock can use Dapr as a durable blackboard backend. This lets you keep the same +Flock agent model while switching persistence from local storage to distributed +Dapr state stores such as Redis or PostgreSQL. The example below is intentionally minimal and conceptual. It shows only the Dapr store wiring; full production configuration options and backend capability @@ -49,7 +49,7 @@ store = DaprStateBlackboardStore( config=DaprStateBlackboardConfig(store_name="flockstate") ) -flock = Flock(model="openai/gpt-5.6", store=store) +flock = Flock(model="openai/gpt-4.1", store=store) ``` Read more: @@ -96,3 +96,13 @@ async for event in runner.run_async(user_message="...", session_id="..."): |[Pydantic AI](https://docs.diagrid.io/getting-started/quickstarts/ai-agents/?agentframework=pydantic-ai)|Every LLM call and tool execution|`pip install "diagrid[pydantic_ai]"`| |[Strands Agents](https://docs.diagrid.io/getting-started/quickstarts/ai-agents/?agentframework=strands)|Every tool call in a Strands agent loop|`pip install "diagrid[strands]"`| |[Microsoft Agent Framework](https://docs.diagrid.io/getting-started/quickstarts/ai-agents/?agentframework=microsoft-dotnet)|Every agent invocation run as a Dapr Workflow activity|`dotnet add package Diagrid.AI.Microsoft.AgentFramework`| + +## Next steps + +- Explore [Dapr Workflows]({{% ref workflow-overview %}}) for durable + orchestration patterns. +- Review [Dapr State management overview] + ({{% ref "state-management-overview.md" %}}) + for component capabilities and trade-offs. +- Use [Flock Dapr examples (GitHub)](https://github.com/whiteducksoftware/flock/tree/main/examples/12-dapr) + for runnable backend setups. From b261a2c84dc7fbb994a1874db962fa0bac20592e Mon Sep 17 00:00:00 2001 From: tilman-sattler Date: Tue, 21 Jul 2026 09:41:36 +0200 Subject: [PATCH 3/6] update wording, make page override less extensive Signed-off-by: tilman-sattler --- .../agent-integrations/_index.md | 128 +++++++----------- 1 file changed, 46 insertions(+), 82 deletions(-) diff --git a/daprdocs/content/en/developing-ai/agent-integrations/_index.md b/daprdocs/content/en/developing-ai/agent-integrations/_index.md index 0fd52da0996..d2bfa5d8593 100644 --- a/daprdocs/content/en/developing-ai/agent-integrations/_index.md +++ b/daprdocs/content/en/developing-ai/agent-integrations/_index.md @@ -3,106 +3,70 @@ type: docs title: "Agent Integrations" linkTitle: "Agent Integrations" weight: 25 -description: "Supported agent frameworks and durable execution integrations for Dapr, including Flock and Diagrid community integrations" +description: "Durable Execution for Google ADK, Claude Agent SDK, CrewAI, LangChain Deep Agents, HolmesGPT, LangGraph, OpenAI Agents SDK, Pydantic AI, Strands Agents, Microsoft Agent Framework, and Flock" --- -## What are agent integrations in Dapr? +### What are community agent integrations in Dapr? -Agent integrations combine AI frameworks with Dapr building blocks such as -[Workflows]({{% ref workflow-overview %}}) and -[State management]({{% ref "state-management-overview.md" %}}) so agent -executions can survive failures, recover progress, and share durable state -across instances. +Agents fail. Pods get evicted, processes crash, laptops die mid-run — and without durable execution, that failure means lost context, repeated tool calls, burned tokens, and an agent that has to start over from zero. Community integrations, including integrations maintained by [Diagrid](https://www.diagrid.io/), solve this by wrapping agent execution in [Dapr Workflows]({{% ref workflow-overview %}}), turning LLM calls and tool executions into durable, checkpointed activities — with **automatic failure detection and recovery, at scale**, for about **three lines of code**: -### Supported frameworks +```python +# 1. Wrap your existing agent — no rewrite required +runner = DaprWorkflowAgentRunner(agent=agent, name="my-agent") +# 2. Start the durable workflow runtime +runner.start() +# 3. Run it — every step is now checkpointed and crash-proof +async for event in runner.run_async(user_message="...", session_id="..."): + ... +``` -|Framework|What becomes durable|Install / integration| -|---|---|---| -|[Flock](https://whiteducksoftware.github.io/flock/)|Blackboard state can be persisted through Dapr-supported state stores for shared and durable agent context|`uv add "flock-core[dapr]"`| -|[Google ADK](https://docs.diagrid.io/getting-started/quickstarts/ai-agents/?agentframework=adk)|Every LLM call and tool execution in an ADK agent|`pip install "diagrid[adk]"`| -|[Claude Agent SDK](https://docs.diagrid.io/getting-started/quickstarts/ai-agents/?agentframework=claude-agents)|Every Anthropic API turn and tool call, with parallel `tool_use` fan-out|`pip install "diagrid[claude_agents]"`| -|[CrewAI](https://docs.diagrid.io/getting-started/quickstarts/ai-agents/?agentframework=crewai)|Every crew/task LLM call and tool execution|`pip install "diagrid[crewai]"`| -|[LangChain Deep Agents](https://docs.diagrid.io/getting-started/quickstarts/ai-agents/?agentframework=deepagents)|Deep Agents graphs (built on LangGraph)|`pip install "diagrid[deepagents]"`| -|[HolmesGPT](https://github.com/diagridio/python-ai/tree/main/diagrid/agent/holmesgpt)|Every investigation iteration and tool call, plus durable human-in-the-loop approvals|`pip install "diagrid[holmesgpt]"`| -|[LangGraph](https://docs.diagrid.io/getting-started/quickstarts/ai-agents/?agentframework=langgraph)|Every node execution in a graph|`pip install "diagrid[langgraph]"`| -|[OpenAI Agents SDK](https://docs.diagrid.io/getting-started/quickstarts/ai-agents/?agentframework=openai-agents)|Every LLM call and tool execution|`pip install "diagrid[openai_agents]"`| -|[Pydantic AI](https://docs.diagrid.io/getting-started/quickstarts/ai-agents/?agentframework=pydantic-ai)|Every LLM call and tool execution|`pip install "diagrid[pydantic_ai]"`| -|[Strands Agents](https://docs.diagrid.io/getting-started/quickstarts/ai-agents/?agentframework=strands)|Every tool call in a Strands agent loop|`pip install "diagrid[strands]"`| -|[Microsoft Agent Framework](https://docs.diagrid.io/getting-started/quickstarts/ai-agents/?agentframework=microsoft-dotnet)|Every agent invocation run as a Dapr Workflow activity|`dotnet add package Diagrid.AI.Microsoft.AgentFramework`| +These integrations are community-built on top of Dapr Workflow and are not part of the core Dapr project. Diagrid-maintained integrations are open source under [diagridio/python-ai](https://github.com/diagridio/python-ai). Questions, bugs, and demos are always welcome in the [Diagrid Community Discord](https://diagrid.ws/diagrid-community). -### Flock framework integration +#### Supported frameworks -Flock can use Dapr as a durable blackboard backend. This lets you keep the same -Flock agent model while switching persistence from local storage to distributed -Dapr state stores such as Redis or PostgreSQL. +| Framework | What becomes durable | Install | +|-----------|-----------------------|---------| +| [Google ADK](https://docs.diagrid.io/getting-started/quickstarts/ai-agents/?agentframework=adk) | Every LLM call and tool execution in an ADK agent | `pip install "diagrid[adk]"` | +| [Claude Agent SDK](https://docs.diagrid.io/getting-started/quickstarts/ai-agents/?agentframework=claude-agents) | Every Anthropic API turn and tool call, with parallel `tool_use` fan-out | `pip install "diagrid[claude_agents]"` | +| [CrewAI](https://docs.diagrid.io/getting-started/quickstarts/ai-agents/?agentframework=crewai) | Every crew/task LLM call and tool execution | `pip install "diagrid[crewai]"` | +| [LangChain Deep Agents](https://docs.diagrid.io/getting-started/quickstarts/ai-agents/?agentframework=deepagents) | Deep Agents graphs (built on LangGraph) | `pip install "diagrid[deepagents]"` | +| [HolmesGPT](https://github.com/diagridio/python-ai/tree/main/diagrid/agent/holmesgpt) | Every investigation iteration and tool call, plus durable human-in-the-loop approvals | `pip install "diagrid[holmesgpt]"` | +| [LangGraph](https://docs.diagrid.io/getting-started/quickstarts/ai-agents/?agentframework=langgraph) | Every node execution in a graph | `pip install "diagrid[langgraph]"` | +| [OpenAI Agents SDK](https://docs.diagrid.io/getting-started/quickstarts/ai-agents/?agentframework=openai-agents) | Every LLM call and tool execution | `pip install "diagrid[openai_agents]"` | +| [Pydantic AI](https://docs.diagrid.io/getting-started/quickstarts/ai-agents/?agentframework=pydantic-ai) | Every LLM call and tool execution | `pip install "diagrid[pydantic_ai]"` | +| [Strands Agents](https://docs.diagrid.io/getting-started/quickstarts/ai-agents/?agentframework=strands) | Every tool call in a Strands agent loop | `pip install "diagrid[strands]"` | +| [Microsoft Agent Framework](https://docs.diagrid.io/getting-started/quickstarts/ai-agents/?agentframework=microsoft-dotnet) | Every agent invocation run as a Dapr Workflow activity | `dotnet add package Diagrid.AI.Microsoft.AgentFramework` | +| [Flock](https://whiteducksoftware.github.io/flock/) | Blackboard state and artifact persistence through a Dapr state store, while keeping Flock agent definitions unchanged | `uv add "flock-core[dapr]"` | -The example below is intentionally minimal and conceptual. It shows only the -Dapr store wiring; full production configuration options and backend capability -details are documented in the official Flock guides. +#### Flock + Dapr state store (conceptual) + +Flock includes an optional Dapr-backed blackboard store. This keeps existing Flock agent contracts intact while switching persistence to a Dapr state store component. ```python -# Minimal conceptual example for Flock + Dapr state store -from flock import Flock from flock.storage import DaprStateBlackboardConfig, DaprStateBlackboardStore store = DaprStateBlackboardStore( - config=DaprStateBlackboardConfig(store_name="flockstate") + config=DaprStateBlackboardConfig( + store_name="flockstate", + supports_transactions=True, + supports_etag=True, + ) ) - -flock = Flock(model="openai/gpt-4.1", store=store) ``` -Read more: - -- [Flock documentation](https://whiteducksoftware.github.io/flock/) -- [Flock repository (GitHub)](https://github.com/whiteducksoftware/flock) -- [Flock Dapr State Store Integration guide](https://whiteducksoftware.github.io/flock/guides/dapr-state-store/) -- [Flock Dapr examples (GitHub)](https://github.com/whiteducksoftware/flock/tree/main/examples/12-dapr) -- [Dapr State management overview]({{% ref "state-management-overview.md" %}}) - -### Diagrid community integrations - -The following framework adapters are community-built and maintained by -[Diagrid](https://www.diagrid.io/) on top of -[Dapr Workflows]({{% ref workflow-overview %}}). They are not part of the core -Dapr project, and are open source under -[diagridio/python-ai](https://github.com/diagridio/python-ai). Questions, -bugs, and demos are welcome in the -[Diagrid Community Discord](https://diagrid.ws/diagrid-community). - -For a minimal integration shape, the Diagrid adapters typically look like this: - ```python -# 1. Wrap your existing agent -runner = DaprWorkflowAgentRunner(agent=agent, name="my-agent") -# 2. Start the durable workflow runtime -runner.start() -# 3. Run with checkpointed execution -async for event in runner.run_async(user_message="...", session_id="..."): - ... -``` +from flock import Flock -#### Diagrid-supported frameworks +flock = Flock( + model="openai/gpt-4.1", + store=store, +) +``` -|Framework|What becomes durable|Install| -|---|---|---| -|[Google ADK](https://docs.diagrid.io/getting-started/quickstarts/ai-agents/?agentframework=adk)|Every LLM call and tool execution in an ADK agent|`pip install "diagrid[adk]"`| -|[Claude Agent SDK](https://docs.diagrid.io/getting-started/quickstarts/ai-agents/?agentframework=claude-agents)|Every Anthropic API turn and tool call, with parallel `tool_use` fan-out|`pip install "diagrid[claude_agents]"`| -|[CrewAI](https://docs.diagrid.io/getting-started/quickstarts/ai-agents/?agentframework=crewai)|Every crew/task LLM call and tool execution|`pip install "diagrid[crewai]"`| -|[LangChain Deep Agents](https://docs.diagrid.io/getting-started/quickstarts/ai-agents/?agentframework=deepagents)|Deep Agents graphs (built on LangGraph)|`pip install "diagrid[deepagents]"`| -|[HolmesGPT](https://github.com/diagridio/python-ai/tree/main/diagrid/agent/holmesgpt)|Every investigation iteration and tool call, plus durable human-in-the-loop approvals|`pip install "diagrid[holmesgpt]"`| -|[LangGraph](https://docs.diagrid.io/getting-started/quickstarts/ai-agents/?agentframework=langgraph)|Every node execution in a graph|`pip install "diagrid[langgraph]"`| -|[OpenAI Agents SDK](https://docs.diagrid.io/getting-started/quickstarts/ai-agents/?agentframework=openai-agents)|Every LLM call and tool execution|`pip install "diagrid[openai_agents]"`| -|[Pydantic AI](https://docs.diagrid.io/getting-started/quickstarts/ai-agents/?agentframework=pydantic-ai)|Every LLM call and tool execution|`pip install "diagrid[pydantic_ai]"`| -|[Strands Agents](https://docs.diagrid.io/getting-started/quickstarts/ai-agents/?agentframework=strands)|Every tool call in a Strands agent loop|`pip install "diagrid[strands]"`| -|[Microsoft Agent Framework](https://docs.diagrid.io/getting-started/quickstarts/ai-agents/?agentframework=microsoft-dotnet)|Every agent invocation run as a Dapr Workflow activity|`dotnet add package Diagrid.AI.Microsoft.AgentFramework`| +Learn more in the official Flock resources: -## Next steps +- [Flock documentation](https://whiteducksoftware.github.io/flock/) +- [Flock Dapr State Store integration guide](https://whiteducksoftware.github.io/flock/guides/dapr-state-store/) +- [Flock Dapr examples (`examples/12-dapr`)](https://github.com/whiteducksoftware/flock/tree/main/examples/12-dapr) -- Explore [Dapr Workflows]({{% ref workflow-overview %}}) for durable - orchestration patterns. -- Review [Dapr State management overview] - ({{% ref "state-management-overview.md" %}}) - for component capabilities and trade-offs. -- Use [Flock Dapr examples (GitHub)](https://github.com/whiteducksoftware/flock/tree/main/examples/12-dapr) - for runnable backend setups. +For production setup details, including backend capability flags and known limitations, use the official Flock integration guide and repository examples. From 4af51605b3b86355bca4f030f286693b70a23fae Mon Sep 17 00:00:00 2001 From: tilman-sattler Date: Tue, 21 Jul 2026 09:43:40 +0200 Subject: [PATCH 4/6] change install command to pip instead of uv Signed-off-by: tilman-sattler --- .../content/en/developing-ai/agent-integrations/_index.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/daprdocs/content/en/developing-ai/agent-integrations/_index.md b/daprdocs/content/en/developing-ai/agent-integrations/_index.md index d2bfa5d8593..05979af6fc0 100644 --- a/daprdocs/content/en/developing-ai/agent-integrations/_index.md +++ b/daprdocs/content/en/developing-ai/agent-integrations/_index.md @@ -36,7 +36,7 @@ These integrations are community-built on top of Dapr Workflow and are not part | [Pydantic AI](https://docs.diagrid.io/getting-started/quickstarts/ai-agents/?agentframework=pydantic-ai) | Every LLM call and tool execution | `pip install "diagrid[pydantic_ai]"` | | [Strands Agents](https://docs.diagrid.io/getting-started/quickstarts/ai-agents/?agentframework=strands) | Every tool call in a Strands agent loop | `pip install "diagrid[strands]"` | | [Microsoft Agent Framework](https://docs.diagrid.io/getting-started/quickstarts/ai-agents/?agentframework=microsoft-dotnet) | Every agent invocation run as a Dapr Workflow activity | `dotnet add package Diagrid.AI.Microsoft.AgentFramework` | -| [Flock](https://whiteducksoftware.github.io/flock/) | Blackboard state and artifact persistence through a Dapr state store, while keeping Flock agent definitions unchanged | `uv add "flock-core[dapr]"` | +| [Flock](https://whiteducksoftware.github.io/flock/) | Blackboard state and artifact persistence through a Dapr state store, while keeping Flock agent definitions unchanged | `pip install "flock-core[dapr]"` | #### Flock + Dapr state store (conceptual) @@ -58,7 +58,7 @@ store = DaprStateBlackboardStore( from flock import Flock flock = Flock( - model="openai/gpt-4.1", + model="openai/gpt-5.6", store=store, ) ``` From 9eb55bf441a04c4510b6eb58b6c6dd65a6ae85bc Mon Sep 17 00:00:00 2001 From: tilman-sattler Date: Tue, 21 Jul 2026 10:23:09 +0200 Subject: [PATCH 5/6] change wording, make documentation less extensive for Flock Signed-off-by: tilman-sattler --- .../agent-integrations/_index.md | 37 +------------------ 1 file changed, 2 insertions(+), 35 deletions(-) diff --git a/daprdocs/content/en/developing-ai/agent-integrations/_index.md b/daprdocs/content/en/developing-ai/agent-integrations/_index.md index 05979af6fc0..531ea2b4f69 100644 --- a/daprdocs/content/en/developing-ai/agent-integrations/_index.md +++ b/daprdocs/content/en/developing-ai/agent-integrations/_index.md @@ -8,7 +8,7 @@ description: "Durable Execution for Google ADK, Claude Agent SDK, CrewAI, LangCh ### What are community agent integrations in Dapr? -Agents fail. Pods get evicted, processes crash, laptops die mid-run — and without durable execution, that failure means lost context, repeated tool calls, burned tokens, and an agent that has to start over from zero. Community integrations, including integrations maintained by [Diagrid](https://www.diagrid.io/), solve this by wrapping agent execution in [Dapr Workflows]({{% ref workflow-overview %}}), turning LLM calls and tool executions into durable, checkpointed activities — with **automatic failure detection and recovery, at scale**, for about **three lines of code**: +Agents fail. Pods get evicted, processes crash, laptops die mid-run — and without durable execution, that failure means lost context, repeated tool calls, burned tokens, and an agent that has to start over from zero. [Diagrid](https://www.diagrid.io/) maintains an open-source library that fixes this for good: it drops into your existing agent code and wraps it in [Dapr Workflows]({{% ref workflow-overview %}}), turning every LLM call and every tool execution into a durable, checkpointed activity — with **automatic failure detection and recovery, at scale**, for about **three lines of code** ```python # 1. Wrap your existing agent — no rewrite required @@ -20,7 +20,7 @@ async for event in runner.run_async(user_message="...", session_id="..."): ... ``` -These integrations are community-built on top of Dapr Workflow and are not part of the core Dapr project. Diagrid-maintained integrations are open source under [diagridio/python-ai](https://github.com/diagridio/python-ai). Questions, bugs, and demos are always welcome in the [Diagrid Community Discord](https://diagrid.ws/diagrid-community). +These extensions are community-built and maintained by Diagrid on top of Dapr Workflow — they are not part of the core Dapr project, but are open source under [diagridio/python-ai](https://github.com/diagridio/python-ai). Questions, bugs, and demos are always welcome in the [Diagrid Community Discord](https://diagrid.ws/diagrid-community). #### Supported frameworks @@ -37,36 +37,3 @@ These integrations are community-built on top of Dapr Workflow and are not part | [Strands Agents](https://docs.diagrid.io/getting-started/quickstarts/ai-agents/?agentframework=strands) | Every tool call in a Strands agent loop | `pip install "diagrid[strands]"` | | [Microsoft Agent Framework](https://docs.diagrid.io/getting-started/quickstarts/ai-agents/?agentframework=microsoft-dotnet) | Every agent invocation run as a Dapr Workflow activity | `dotnet add package Diagrid.AI.Microsoft.AgentFramework` | | [Flock](https://whiteducksoftware.github.io/flock/) | Blackboard state and artifact persistence through a Dapr state store, while keeping Flock agent definitions unchanged | `pip install "flock-core[dapr]"` | - -#### Flock + Dapr state store (conceptual) - -Flock includes an optional Dapr-backed blackboard store. This keeps existing Flock agent contracts intact while switching persistence to a Dapr state store component. - -```python -from flock.storage import DaprStateBlackboardConfig, DaprStateBlackboardStore - -store = DaprStateBlackboardStore( - config=DaprStateBlackboardConfig( - store_name="flockstate", - supports_transactions=True, - supports_etag=True, - ) -) -``` - -```python -from flock import Flock - -flock = Flock( - model="openai/gpt-5.6", - store=store, -) -``` - -Learn more in the official Flock resources: - -- [Flock documentation](https://whiteducksoftware.github.io/flock/) -- [Flock Dapr State Store integration guide](https://whiteducksoftware.github.io/flock/guides/dapr-state-store/) -- [Flock Dapr examples (`examples/12-dapr`)](https://github.com/whiteducksoftware/flock/tree/main/examples/12-dapr) - -For production setup details, including backend capability flags and known limitations, use the official Flock integration guide and repository examples. From 1c09b4b5207943fe95006f005fd56a0114cb6983 Mon Sep 17 00:00:00 2001 From: tilman-sattler Date: Tue, 21 Jul 2026 10:30:12 +0200 Subject: [PATCH 6/6] missing semicolon Signed-off-by: tilman-sattler --- daprdocs/content/en/developing-ai/agent-integrations/_index.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/daprdocs/content/en/developing-ai/agent-integrations/_index.md b/daprdocs/content/en/developing-ai/agent-integrations/_index.md index 531ea2b4f69..ae0e875e531 100644 --- a/daprdocs/content/en/developing-ai/agent-integrations/_index.md +++ b/daprdocs/content/en/developing-ai/agent-integrations/_index.md @@ -8,7 +8,7 @@ description: "Durable Execution for Google ADK, Claude Agent SDK, CrewAI, LangCh ### What are community agent integrations in Dapr? -Agents fail. Pods get evicted, processes crash, laptops die mid-run — and without durable execution, that failure means lost context, repeated tool calls, burned tokens, and an agent that has to start over from zero. [Diagrid](https://www.diagrid.io/) maintains an open-source library that fixes this for good: it drops into your existing agent code and wraps it in [Dapr Workflows]({{% ref workflow-overview %}}), turning every LLM call and every tool execution into a durable, checkpointed activity — with **automatic failure detection and recovery, at scale**, for about **three lines of code** +Agents fail. Pods get evicted, processes crash, laptops die mid-run — and without durable execution, that failure means lost context, repeated tool calls, burned tokens, and an agent that has to start over from zero. [Diagrid](https://www.diagrid.io/) maintains an open-source library that fixes this for good: it drops into your existing agent code and wraps it in [Dapr Workflows]({{% ref workflow-overview %}}), turning every LLM call and every tool execution into a durable, checkpointed activity — with **automatic failure detection and recovery, at scale**, for about **three lines of code**: ```python # 1. Wrap your existing agent — no rewrite required