Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 5 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -213,3 +213,8 @@ __marimo__/
.claude

.idea
TEXTUAL_REFACTOR_PLAN.md
libs/deepagents-cli/TEXTUAL_PROGRESS.md

/tmp/
*/tmp/
8 changes: 7 additions & 1 deletion libs/deepagents-cli/deepagents_cli/agent.py
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,7 @@
from langchain.messages import ToolCall
from langchain.tools import BaseTool
from langchain_core.language_models import BaseChatModel
from langgraph.checkpoint.base import BaseCheckpointSaver
from langgraph.checkpoint.memory import InMemorySaver
from langgraph.pregel import Pregel
from langgraph.runtime import Runtime
Expand Down Expand Up @@ -335,6 +336,7 @@ def create_cli_agent(
enable_memory: bool = True,
enable_skills: bool = True,
enable_shell: bool = True,
checkpointer: BaseCheckpointSaver | None = None,
) -> tuple[Pregel, CompositeBackend]:
"""Create a CLI-configured agent with flexible options.

Expand All @@ -356,6 +358,8 @@ def create_cli_agent(
enable_memory: Enable AgentMemoryMiddleware for persistent memory
enable_skills: Enable SkillsMiddleware for custom agent skills
enable_shell: Enable ShellMiddleware for local shell execution (only in local mode)
checkpointer: Optional checkpointer for session persistence. If None, uses
InMemorySaver (no persistence across CLI invocations).

Returns:
2-tuple of (agent_graph, composite_backend)
Expand Down Expand Up @@ -460,13 +464,15 @@ def create_cli_agent(
interrupt_on = _add_interrupt_on()

# Create the agent
# Use provided checkpointer or fallback to InMemorySaver
final_checkpointer = checkpointer if checkpointer is not None else InMemorySaver()
agent = create_deep_agent(
model=model,
system_prompt=system_prompt,
tools=tools,
backend=composite_backend,
middleware=agent_middleware,
interrupt_on=interrupt_on,
checkpointer=InMemorySaver(),
checkpointer=final_checkpointer,
).with_config(config)
return agent, composite_backend
Loading