https://github.com/dkedar7/deepagent-code
A Claude Code-style CLI for running LangGraph agents from the terminal
https://github.com/dkedar7/deepagent-code
agents ai claude-code langgraph llm
Last synced: 2 months ago
JSON representation
A Claude Code-style CLI for running LangGraph agents from the terminal
- Host: GitHub
- URL: https://github.com/dkedar7/deepagent-code
- Owner: dkedar7
- License: mit
- Created: 2026-01-12T01:49:47.000Z (5 months ago)
- Default Branch: main
- Last Pushed: 2026-02-03T05:08:47.000Z (5 months ago)
- Last Synced: 2026-02-03T18:38:27.772Z (5 months ago)
- Topics: agents, ai, claude-code, langgraph, llm
- Language: Python
- Homepage:
- Size: 478 KB
- Stars: 1
- Watchers: 0
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- License: LICENSE
Awesome Lists containing this project
README
# deepagent-code
A Claude Code-style CLI for running LangGraph agents from the terminal.

## Installation
```bash
pip install deepagent-code
```
Or install directly from GitHub:
```bash
pip install git+https://github.com/dkedar7/deepagent-code.git
```
## Quick Start
Run with the default agent (requires `ANTHROPIC_API_KEY`):
```bash
export ANTHROPIC_API_KEY="your_api_key"
deepagent-code
```
Or specify your own agent:
```bash
deepagent-code -a path/to/your_agent.py:graph
```
This launches an interactive conversation loop with your agent.
## Usage
```bash
# Use the default agent
deepagent-code
# Send a message directly
deepagent-code "Hello, agent!"
# Specify a custom agent file
deepagent-code -a my_agent.py:graph
# Use a module path
deepagent-code -a mypackage.agents:chatbot
# Read message from a file
deepagent-code -f ./prompt.md
# Non-interactive mode (auto-approve tool calls)
deepagent-code --no-interactive
# Verbose output
deepagent-code -v
```
## Commands
In the interactive loop:
- `/q` or `/quit` - Exit
- `/c` - Clear conversation history
- `/h` or `/help` - Show help
## Environment Variables
```bash
# Agent location (path/to/file.py:variable_name or module:variable)
export DEEPAGENT_SPEC="my_agent.py:graph"
deepagent-code
# Working directory
export DEEPAGENT_WORKSPACE_ROOT="/path/to/workspace"
# Stream mode (updates or values)
export DEEPAGENT_STREAM_MODE="updates"
```
## Configuration Files
`deepagent-code` reads TOML config from two locations and merges them
(project overrides global):
- **Global**: `~/.deepagents/config.toml` (shared with the upstream
`deepagents` CLI)
- **Project**: `deepagents.toml` in the current directory or any ancestor
Precedence: CLI args > env vars > project TOML > global TOML > defaults.
Example `deepagents.toml`:
```toml
[agent]
spec = "my_agent.py:graph"
workspace_root = "."
[ui]
verbose = true
async_mode = false
stream_mode = "updates"
[configurable]
# seeds LangGraph RunnableConfig.configurable
thread_id = "my-thread"
```
## CLI Options
```
Usage: deepagent-code [OPTIONS] [MESSAGE]
Arguments:
MESSAGE Optional input to send to the agent immediately
Options:
-a, --agent TEXT Agent spec (path/to/file.py:graph or module:graph)
-g, --graph-name TEXT Graph variable name (default: "graph")
-f, --file PATH Read message from a file (any extension)
--interactive/--no-interactive Handle interrupts (default: interactive)
--async-mode/--sync-mode Async streaming (default: sync)
--stream-mode TEXT Stream mode (updates or values)
-v, --verbose Verbose output
```
## Creating Your Own Agent
Your agent file should export a compiled LangGraph graph:
```python
# my_agent.py
from deepagents import create_deep_agent
from langgraph.checkpoint.memory import MemorySaver
agent = create_deep_agent(
name="My Agent",
model="anthropic:claude-sonnet-4-20250514",
checkpointer=MemorySaver(),
)
```
Then run it:
```bash
deepagent-code -a my_agent.py:agent
```
## Programmatic Use
```python
from deepagent_code import stream_graph_updates, prepare_agent_input
input_data = prepare_agent_input(message="Hello!")
for chunk in stream_graph_updates(graph, input_data):
if chunk.get("chunk"):
print(chunk["chunk"], end="")
```
## License
MIT License - see LICENSE file for details.