docs/user_guide/en/nodes/agent.md
The Agent node is the most fundamental node type in the DevAll platform, used to invoke Large Language Models (LLMs) for text generation, conversation, reasoning, and other tasks. It supports multiple model providers (OpenAI, Gemini, etc.) and can be configured with advanced features like tool calling, chain-of-thought, and memory.
| Field | Type | Required | Default | Description |
|---|---|---|---|---|
provider | string | Yes | openai | Model provider name, e.g., openai, gemini |
name | string | Yes | - | Model name, e.g., gpt-4o, gemini-2.0-flash-001 |
role | text | No | - | System prompt |
base_url | string | No | Provider default | API endpoint URL, supports ${VAR} placeholders |
api_key | string | No | - | API key, recommend using environment variable ${API_KEY} |
params | dict | No | {} | Model call parameters (temperature, top_p, etc.) |
tooling | object | No | - | Tool calling configuration, see Tooling Module |
thinking | object | No | - | Chain-of-thought configuration, e.g., chain-of-thought, reflection |
memories | list | No | [] | Memory binding configuration, see Memory Module |
skills | object | No | - | Agent Skills discovery and built-in skill activation/file-read tools |
retry | object | No | - | Automatic retry strategy configuration |
| Field | Type | Default | Description |
|---|---|---|---|
enabled | bool | true | Whether to enable automatic retry |
max_attempts | int | 5 | Maximum number of attempts (including first attempt) |
min_wait_seconds | float | 1.0 | Minimum backoff wait time |
max_wait_seconds | float | 6.0 | Maximum backoff wait time |
retry_on_status_codes | list[int] | [408,409,425,429,500,502,503,504] | HTTP status codes that trigger retry |
| Field | Type | Default | Description |
|---|---|---|---|
enabled | bool | false | Enable Agent Skills discovery for this node |
allow | list[object] | [] | Optional allowlist of skills from the project-level .agents/skills/ directory; each entry uses name |
.agents/skills/ directory.activate_skill and read_skill_file.read_skill_file only works after the relevant skill has been activated.SKILL.md frontmatter may include optional allowed-tools using the Agent Skills spec format, for example allowed-tools: execute_code.nodes:
- id: Writer
type: agent
config:
provider: openai
base_url: ${BASE_URL}
api_key: ${API_KEY}
name: gpt-4o
role: |
You are a professional technical documentation writer. Please answer questions in clear and concise language.
params:
temperature: 0.7
max_tokens: 2000
nodes:
- id: Assistant
type: agent
config:
provider: openai
name: gpt-4o
api_key: ${API_KEY}
tooling:
type: function # Tool type: function, mcp_remote, mcp_local
config:
tools: # List of function tools from functions/function_calling/ directory
- name: describe_available_files
- name: load_file
timeout: 20 # Optional: execution timeout (seconds)
nodes:
- id: MCP Agent
type: agent
config:
provider: openai
name: gpt-4o
api_key: ${API_KEY}
tooling:
type: mcp_remote
config:
server: http://localhost:8080/mcp # MCP server endpoint
headers: # Optional: custom request headers
Authorization: Bearer ${MCP_TOKEN}
timeout: 30 # Optional: request timeout (seconds)
nodes:
- id: Local MCP Agent
type: agent
config:
provider: openai
name: gpt-4o
api_key: ${API_KEY}
tooling:
type: mcp_local
config:
command: uvx # Launch command
args: ["mcp-server-sqlite", "--db-path", "data.db"]
cwd: ${WORKSPACE} # Optional, usually not needed
env: # Optional, usually not needed
DEBUG: "true"
startup_timeout: 10 # Optional: startup timeout (seconds)
nodes:
- id: Vision Agent
type: agent
config:
provider: gemini
base_url: https://generativelanguage.googleapis.com
api_key: ${GEMINI_API_KEY}
name: gemini-2.5-flash-image
role: You need to generate corresponding image content based on user input.
nodes:
- id: Robust Agent
type: agent
config:
provider: openai
name: gpt-4o
api_key: ${API_KEY}
retry: # Retry is enabled by default, you can customize it
enabled: true
max_attempts: 3
min_wait_seconds: 2.0
max_wait_seconds: 10.0
nodes:
- id: Skilled Agent
type: agent
config:
provider: openai
name: gpt-4o
api_key: ${API_KEY}
skills:
enabled: true
allow:
- name: python-scratchpad
- name: rest-api-caller