FastAgent is designed to tackle complex tasks that require both DeepResearch and Computer Use capabilities. While DeepResearch excels at web search, knowledge summarization, and reasoning, and Computer Use focuses on operating complex software applications, many real-world tasks demand both capabilities β such as:
π Business Intelligence Reports:
π Event Planning & Management:
π Smart Shopping & Price Optimization:
FastAgent bridges this gap by seamlessly integrating intelligent research capabilities with sophisticated computer operation, enabling users to complete end-to-end workflows that span from information gathering and analysis to practical software manipulationβall within a Unified, Simple, and Fast framework.
Current agent frameworks face significant challenges when tackling complex, multi-step, real-world tasks:
FastAgent addresses these critical challenges through three Efficient and Effective solutions focusing on Memory Mechanism, Tool Integration, and Multi-Agent Coordination:
Solving Complex Context Handling Challenges
Eliminating Integration Difficulties & Performance Bottlenecks
Overcoming Limited Orchestration & High Failure Rates
FastAgent employs a simple and fast multi-agent event-driven architecture that seamlessly coordinates research and execution capabilities through five core components:
Dynamic orchestration with intelligent task management
undefinedSpecialized Agents:undefined
undefinedEvent-Driven Workflow:undefined
Seamless plug-and-play ecosystem with 100+ tools
Intelligent compression and cross-phase awareness
Multi-source information retrieval and aggregation
Enterprise-grade safety with comprehensive audit
# Clone repository
git clone https://github.com/HKUDS/FastAgent.git
cd FastAgent
# Create and activate conda environment
conda create -n fastagent python=3.12 -y
conda activate fastagent
# Install dependencies
pip install -r requirements.txt
[!NOTE]
Create a.envfile and add your API keys (refer tofastagent/.env.example).
The local server is a lightweight Flask service that enables FastAgent to interact with your computer (GUI automation, Python/Bash execution, file operations, screen capture, etc.).
[!NOTE]
Seefastagent/local_server/README.mdfor complete API documentation and advanced configuration.
[!IMPORTANT]
undefinedPlatform-specific setup required: Different operating systems need different dependencies for desktop control. Please install the required dependencies for your OS before starting the local server:
# Install macOS-specific dependencies
pip install pyobjc-core pyobjc-framework-cocoa pyobjc-framework-quartz atomacos
undefinedPermissions Required: macOS will automatically prompt for permissions when you first run the local server. Grant the following:
If prompts donβt appear, manually grant permissions in System Settings β Privacy & Security.
# Install Linux-specific dependencies
pip install python-xlib pyatspi numpy
# Install system packages
sudo apt install at-spi2-core python3-tk scrot
# Install Windows-specific dependencies
pip install pywinauto pywin32 PyGetWindow
After installing the platform-specific dependencies, start the local server:
python -m fastagent.local_server.main
[!TIP]
undefinedLocal server is required for GUI automation and Python/Bash execution. Without it, only MCP servers and web research capabilities are available.
Then, launch the FastAgent main process in another terminal:
python -m fastagent
Simply type your task in natural language. FastAgent seamlessly combines DeepResearch and Computer Use to handle complex end-to-end workflows:
[!TIP]
undefinedMCP Server Configuration: For tasks requiring specific tools, add relevant MCP servers tofastagent/config/config_mcp.json. Unsure which servers to add? Simply add all potentially useful ones, FastAgentβs Smart Tool RAG will automatically select the appropriate tools for your task. See MCP Configuration for details.
undefinedSimple Example:undefined
>>> Please help me search HKUDS on Google.
undefinedComplex Example - AI Coding Assistants Competitive Analysisundefined
>>> Create a competitive analysis report for AI coding assistants.
Research these 3 products: GitHub Copilot, Cursor, Claude Code.
For each product, find and verify:
1. Supported programming languages and IDE integrations
2. Pricing tiers (in USD) and token limits
3. Key differentiating features (refactoring, test generation, chat capabilities)
4. Security and privacy guarantees
Then create an Excel workbook named "AI_Coding_Assistants_Analysis.xlsx" with:
- Sheet 1: Feature comparison matrix (products as rows, capabilities as columns)
- Sheet 2: Pricing breakdown with cost analysis
Also create a "executive_summary.md" file highlighting the best choice and why.
undefinedLegend: β‘ Core modules | π§ Supporting modules
FastAgent/
βββ fastagent/
β βββ __init__.py # Package exports
β βββ __main__.py # CLI entry point
β βββ fastagent.py # Main FastAgent class
β β
β βββ β‘ agents/ # Multi-Agent System
β βββ β‘ workflow/ # Event-Driven Workflow
β βββ β‘ kanban/ # Task Management System
β βββ β‘ grounding/ # Unified Backend System
β β βββ core/ # Core abstractions
β β βββ backends/ # Backend implementations
β β βββ shell/ # Shell command execution
β β βββ gui/ # Anthropic Computer Use
β β βββ mcp/ # Model Context Protocol
β β βββ web/ # Web search & browsing
β β
β βββ β‘ memory/ # Memory & Storage
β βββ β‘ prompts/ # Centralized Agent Prompts
β βββ π§ llm/ # LLM Integration
β βββ π§ config/ # Configuration System
β βββ π§ local_server/ # GUI Backend Server
β βββ π§ recording/ # Execution Recording
β βββ π§ platform/ # Platform Integration
β βββ π§ utils/ # Utilities
β
βββ .fastagent/ # Runtime cache
β βββ embedding_cache/ # Tool embeddings for Smart Tool RAG
β
βββ logs/ # Execution logs and recordings
β βββ __main__/ # Application logs
β βββ recordings/ # Complete execution audit trail
β
βββ requirements.txt # Python dependencies
βββ README.md
agents/
βββ __init__.py
βββ base.py # Base agent class with common functionality
βββ coordinator.py # Agent coordination & resource management
βββ host_agent.py # High-level planning and task decomposition
βββ grounding_agent.py # Cross-backend task execution
βββ eval_agent.py # Automatic evaluation and quality assurance
βββ content_processor.py # Intelligent content processing
βββ agent_data_manager.py # Agent data storage and retrieval
undefinedKey Responsibilities: Task planning, execution, evaluation, and inter-agent coordination.
workflow/
βββ __init__.py
βββ engine.py # Event-driven workflow orchestration
βββ rules.py # Workflow rule definitions and routing
βββ context_manager.py # Cross-execution context management
undefinedKey Responsibilities: Event processing, rule-based routing, state transitions, and context preservation.
kanban/
βββ __init__.py
βββ kanban.py # Task board and state management
βββ enums.py # Task types, states, and events
undefinedKey Responsibilities: Task lifecycle management, dependency tracking, and state transitions (TODO β IN_PROGRESS β DONE/BLOCKED).
grounding/core/
βββ grounding_client.py # Unified interface across all backends
βββ provider.py # Abstract provider base class
βββ session.py # Session lifecycle management
βββ search_tools.py # Smart Tool RAG for semantic search
βββ exceptions.py # Custom exception definitions
βββ types.py # Shared type definitions
β
βββ tool/ # Tool abstraction layer
β βββ base.py # Tool base class
β βββ local_tool.py # Local tool implementation
β βββ remote_tool.py # Remote tool implementation
β
βββ quality/ # Tool quality tracking & evolution
β βββ __init__.py # Global quality manager access
β βββ types.py # ExecutionRecord, DescriptionQuality
β βββ store.py # Persistent JSON storage
β βββ manager.py # Quality tracking, ranking adjustment
β
βββ security/ # Security & sandboxing π§
β βββ policies.py # Security policy enforcement
β βββ sandbox.py # Sandbox abstraction
β βββ e2b_sandbox.py # E2B sandbox integration
β
βββ system/ # System-level provider
β βββ provider.py
β βββ tool.py
β
βββ transport/ # Transport layer abstractions π§
βββ connectors/
β βββ base.py
β βββ aiohttp_connector.py
βββ task_managers/
βββ base.py
βββ async_ctx.py
βββ aiohttp_connection_manager.py
βββ placeholder.py
backends/shell/
βββ provider.py # Shell provider implementation
βββ session.py # Shell session management
βββ transport/
βββ connector.py # HTTP connector to local server
backends/gui/
βββ provider.py # GUI provider implementation
βββ session.py # GUI session management
βββ tool.py # GUI-specific tools
βββ anthropic_client.py # Anthropic API client wrapper
βββ anthropic_utils.py # Utility functions
βββ config.py # GUI configuration
βββ transport/
βββ connector.py # Computer Use API connector
βββ actions.py # Action execution logic
backends/mcp/
βββ provider.py # MCP provider implementation
βββ session.py # MCP session management
βββ client.py # MCP client
βββ config.py # MCP configuration loader
βββ installer.py # MCP server installer
βββ tool_converter.py # Convert MCP tools to unified format
βββ tool_cache.py # MCP tool metadata caching
βββ transport/
βββ connectors/ # Multiple transport types
β βββ base.py
β βββ stdio.py # Standard I/O connector
β βββ http.py # HTTP connector
β βββ websocket.py # WebSocket connector
β βββ sandbox.py # Sandboxed connector
β βββ utils.py
βββ task_managers/ # Protocol-specific managers
βββ stdio.py
βββ sse.py
βββ streamable_http.py
βββ websocket.py
backends/web/
βββ provider.py # Web provider implementation
βββ session.py # Web session management
undefinedKey Responsibilities: Unified tool abstraction, backend routing, session pooling, and Smart Tool RAG.
memory/
βββ __init__.py
βββ storage_manager.py # Unified storage interface
βββ memory.py # Memory management and context
βββ summarizer.py # Content compression and summarization
undefinedKey Responsibilities: Multi-level storage, context compression, and historical awareness.
prompts/
βββ __init__.py
βββ grounding_agent_prompts.py # GroundingAgent system & iteration prompts
βββ host_agent_prompts.py # HostAgent planning prompts
βββ eval_agent_prompts.py # EvalAgent evaluation prompts
undefinedKey Responsibilities: Centralized prompt management for all agents, including system prompts, iteration summaries, and visual analysis prompts.
llm/
βββ __init__.py
βββ client.py # LiteLLM wrapper with retry logic
config/
βββ __init__.py
βββ loader.py # Configuration file loader
βββ constants.py # System constants
βββ grounding.py # Grounding configuration dataclasses
βββ utils.py # Configuration utilities
β
βββ config_grounding.json # Backend-specific settings
βββ config_agents.json # Agent configurations
βββ config_workflow.json # Workflow engine settings
βββ config_mcp.json # MCP server definitions
βββ config_security.json # Security policies
βββ config_dev.json.example # Development config template
undefinedKey Configuration Files:
undefinedconfig_mcp.json - MCP Server Registry
{
"mcpServers": {
"ppt": {
"command": "uvx",
"args": ["--from", "office-powerpoint-mcp-server", "ppt_mcp_server"],
"env": {}
}
}
}
Defines all MCP servers with connection details (command/args for stdio, url for HTTP/WebSocket). Supports environment variable substitution via ${VAR_NAME}.
undefinedconfig_agents.json - Agent Definitions
{
"agents": [
{
"name": "HostAgent",
"class_name": "HostAgent",
"backend_scope": []
},
{
"name": "GroundingAgent",
"class_name": "GroundingAgent",
"backend_scope": ["gui", "shell", "mcp", "system", "web"],
"max_iterations": 20,
"visual_analysis_timeout": 60.0
},
{
"name": "EvalAgent",
"class_name": "EvalAgent",
"backend_scope": ["shell"]
}
]
}
Configures agent roles, backend access scope, execution limits, and visual analysis timeout.
undefinedconfig_security.json - Security Policies
{
"security_policies": {
"global": {
"allow_shell_commands": true,
"blocked_commands": {
"common": ["rm", "-rf", "shutdown", "reboot"],
"linux": ["mkfs", "dd", "iptables"],
"darwin": ["diskutil", "dd", "pfctl"],
"windows": ["del", "format", "rd"]
},
"sandbox_enabled": false
},
"backend": {
"shell": {
"blocked_commands": { /* platform-specific */ }
},
"mcp": {
"sandbox_enabled": true
}
}
}
}
Defines command whitelists/blacklists, sandbox settings, and access control per backend.
undefinedconfig_dev.json.example - Development Override Template
{
"shell": {
"working_dir": "/path/to/your/workspace"
},
"debug": true,
"log_level": "DEBUG"
}
Optional development overrides (copy to config_dev.json and customize). Merged with base config for local development.
local_server/
βββ __init__.py
βββ main.py # Flask application entry point
βββ config.json # Server configuration
βββ feature_checker.py # Platform feature detection
βββ health_checker.py # Server health monitoring
βββ platform_adapters/ # OS-specific implementations
β βββ macos_adapter.py # macOS automation (atomacos, pyobjc)
β βββ linux_adapter.py # Linux automation (pyatspi, xlib)
β βββ windows_adapter.py # Windows automation (pywinauto)
β βββ pyxcursor.py # Custom cursor handling
βββ utils/
β βββ accessibility.py # Accessibility tree utilities
β βββ screenshot.py # Screenshot capture
βββ README.md
undefinedPurpose: Lightweight Flask service enabling computer control (GUI, Shell, Files, Screen capture).
recording/
βββ __init__.py
βββ recorder.py # Main recording manager
βββ manager.py # Recording lifecycle management
βββ action_recorder.py # Action-level logging
βββ kanban_recorder.py # Kanban state recording
βββ video.py # Video capture integration
βββ viewer.py # Trajectory viewer and analyzer
βββ utils.py # Recording utilities
undefinedPurpose: Full execution audit with trajectory recording and video capture.
platform/
βββ __init__.py
βββ config.py # Platform-specific configuration
βββ recording.py # Recording integration
βββ screenshot.py # Screenshot utilities
βββ system_info.py # System information gathering
utils/
βββ logging.py # Structured logging system
βββ ui.py # Terminal UI components
βββ display.py # Display formatting utilities
βββ cli_display.py # CLI-specific display
βββ ui_integration.py # UI integration helpers
βββ telemetry/ # Usage analytics (opt-in)
βββ __init__.py
βββ events.py
βββ telemetry.py
βββ utils.py
logs/
βββ __main__/ # Main application logs
β βββ fastagent_YYYY-MM-DD_HH-MM-SS.log # Timestamped log files
β
βββ recordings/ # Execution recordings
βββ init_YYYYMMDD_HHMMSS_YYYYMMDD_HHMMSS/ # Individual recording session
βββ metadata.json # Session metadata (task, timestamps, config)
βββ traj.jsonl # Complete execution trajectory
βββ agent_actions.jsonl # Agent action history
βββ kanban_events.jsonl # Kanban state changes
βββ screenshots/ # Visual execution record
β βββ init.png # Initial screenshot
β βββ step_001.png # Screenshot after step 1
β βββ step_002.png # Screenshot after step 2
β βββ ... # Sequential screenshots
βββ workspace/ # Task workspace
β βββ [generated files] # Files created during execution
βββ screen_recording.mp4 # Video recording (if enabled)
undefinedLog Files Structure:
__main__/): Detailed application logs with initialization, configuration, agent coordination, and execution detailsrecordings/): Complete audit trail for each execution with:
metadata.json: Task description, start/end times, success status, configurationtraj.jsonl: Line-delimited JSON with full execution trajectory (tool calls, results, timestamps)agent_actions.jsonl: Agent-level actions (planning, grounding, evaluation steps)kanban_events.jsonl: Task state transitions (TODO β IN_PROGRESS β DONE/BLOCKED)screenshots/: Visual snapshots at each execution stepworkspace/: All files created/modified during task executionscreen_recording.mp4: Full video capture (optional)# Use different model
python -m fastagent --model "anthropic/claude-sonnet-4-5"
# Single query mode
python -m fastagent --query "Your task"
# Debug mode
python -m fastagent --log-level DEBUG
# Fast mode (disable evaluation)
python -m fastagent --no-eval
[!TIP]
See Evaluation Control for detailed evaluation configuration options.
| Argument | Description |
|---|---|
--config, -c |
Configuration file path (JSON format) |
--model, -m |
LLM model name |
--query, -q |
Single query mode: execute query directly |
--timeout |
Max execution time (seconds) |
--log-level |
DEBUG/INFO/WARNING/ERROR |
--no-eval |
Disable evaluation |
--no-workflow |
Disable event-driven workflow |
--max-iterations |
Max iterations |
--poll-interval |
Workflow polling interval (seconds) |
--interactive, -i |
Force interactive mode |
--no-ui |
Disable visual UI |
--ui-compact |
Use compact UI layout |
FastAgent uses a layered configuration system:
config_dev.json (highest priority): Local development overrides. Overrides all other configurations.config_agents.json: Agent definitions and backend access controlconfig_mcp.json: MCP server registryconfig_grounding.json: Backend-specific settingsconfig_workflow.json: Workflow engine and execution controlconfig_security.json: Security policies with runtime user confirmation for sensitive operationsundefinedPath: fastagent/config/config_agents.json
undefinedPurpose: Define agent roles, control backend access scope, and set execution limits to prevent infinite loops.
undefinedExample configuration:
{
"agents": [
{
"name": "HostAgent",
"class_name": "HostAgent",
"backend_scope": []
},
{
"name": "GroundingAgent",
"class_name": "GroundingAgent",
"backend_scope": ["gui", "shell", "mcp", "system", "web"],
"max_iterations": 20,
"visual_analysis_timeout": 60.0
},
{
"name": "EvalAgent",
"class_name": "EvalAgent",
"backend_scope": ["shell"]
}
]
}
undefinedKey Fields:
| Field | Description | Options/Example |
|---|---|---|
name |
Agent identifier | "HostAgent", "GroundingAgent", "EvalAgent" |
backend_scope |
Accessible backends | [] (none) or any combination of ["gui", "shell", "mcp", "system", "web"] |
max_iterations |
Maximum execution cycles | Any integer (e.g., 20, 50) or null (unlimited) |
visual_analysis_timeout |
Timeout for visual analysis (seconds) | Any float (default: 60.0) |
undefinedPath: fastagent/config/config_mcp.json
undefinedPurpose: Register MCP servers with connection details. FastAgent automatically discovers tools from all registered servers and makes them available through Smart Tool RAG.
undefinedExample configuration:
{
"mcpServers": {
"github": {
"command": "npx",
"args": ["-y", "@modelcontextprotocol/server-github"],
"env": {
"GITHUB_PERSONAL_ACCESS_TOKEN": "${GITHUB_TOKEN}"
}
}
}
}
undefinedPath: fastagent/config/config_grounding.json
undefinedPurpose: Configure backend-specific behaviors, timeouts, and Smart Tool RAG system for efficient tool selection.
undefinedKey Fields:
| Backend | Field | Description | Options/Default |
|---|---|---|---|
| undefinedshellundefined | timeout |
Command timeout (seconds) | Any integer (default: 60) |
conda_env |
Auto-activate conda environment | Environment name or null (default: "fastagent") |
|
working_dir |
Working directory for command execution | Any valid path (default: current directory) | |
default_shell |
Shell to use | "/bin/bash", "/bin/zsh", etc. |
|
| undefinedguiundefined | timeout |
Operation timeout (seconds) | Any integer (default: 90) |
screenshot_on_error |
Capture screenshot on failure | true or false (default: true) |
|
driver_type |
GUI automation driver | "pyautogui" or other supported drivers |
|
| undefinedmcpundefined | timeout |
Request timeout (seconds) | Any integer (default: 30) |
sandbox |
Run in E2B sandbox | true or false (default: false) |
|
eager_sessions |
Pre-connect all servers at startup | true or false (default: false, lazy connection) |
|
| undefinedtool_searchundefined | search_mode |
Tool retrieval strategy | "semantic", "hybrid" (semantic + LLM filter), or "llm" (default: "hybrid") |
max_tools |
Maximum tools to index | Any integer (default: 300) |
|
enable_cache_persistence |
Persist embedding cache | true or false (default: true) |
|
| undefinedtool_qualityundefined | enabled |
Enable tool quality tracking | true or false (default: false) |
enable_persistence |
Persist quality data to disk | true or false (default: true) |
|
cache_dir |
Quality data storage directory | Any valid path (default: ~/.fastagent/tool_quality) |
|
enable_quality_ranking |
Adjust tool ranking by quality scores | true or false (default: true) |
|
evolve_interval |
Executions between quality evolution cycles | Any integer (default: 10) |
undefinedPath: fastagent/config/config_workflow.json
undefinedPurpose: Control workflow engine behavior, evaluation policies, and global execution limits. Determines when and how agents are triggered.
undefinedKey Fields:
| Section | Field | Description | Options/Default |
|---|---|---|---|
| undefinedworkflowundefined | enable |
Enable event-driven workflow engine | true or false (default: true) |
auto_evaluate |
Enable EvalAgent for quality assurance | true or false (default: true) |
|
poll_interval |
Workflow polling interval (seconds) | Any float (default: 1.0) |
|
task_default_timeout |
Per-task timeout (seconds) | Any float (default: 1800) |
|
| undefinedexecutionundefined | max_execution_time |
Global timeout for entire task (seconds) | Any float or null (default: 3600) |
max_iterations |
Maximum total iterations across all agents | Any integer or null for unlimited (default: null) |
undefinedPath: fastagent/config/config_security.json
undefinedPurpose: Define security policies with command filtering and access control. When sensitive operations are detected, FastAgent will prompt for user confirmation at runtime before execution.
undefinedKey Fields:
| Section | Field | Description | Options |
|---|---|---|---|
| undefinedglobalundefined | allow_shell_commands |
Enable shell command execution | true or false (default: true) |
blocked_commands |
Platform-specific command blacklist | Object with common, linux, darwin, windows arrays |
|
sandbox_enabled |
Enable sandboxing for all operations | true or false (default: false) |
|
require_user_approval |
Prompt user before sensitive operations | true or false (default: false) |
|
| undefinedbackendundefined | shell, mcp, gui |
Per-backend security overrides | Same fields as global, backend-specific |
undefinedExample blocked commands: rm -rf, shutdown, reboot, mkfs, dd, format, iptables
undefinedBehavior:
require_user_approval is true, sensitive operations pause execution and prompt for user confirmationundefinedPath: fastagent/config/config_dev.json (copy from config_dev.json.example)
undefinedPurpose: Highest priority local development overrides. This file is git-ignored and overrides ALL other configuration files. Perfect for testing, debugging, and personal workspace customization without affecting the repository.
undefinedLoading Priority: config_grounding.json β config_security.json β config_dev.json (dev.json overrides the former ones)
from fastagent import EvaluationConfig
# Disable evaluation (fastest)
config = FastAgentConfig(
auto_evaluate=False
)
# Evaluate all steps
config = FastAgentConfig(
auto_evaluate=True,
evaluation_config=EvaluationConfig.all()
)
# Evaluate last step only
config = FastAgentConfig(
auto_evaluate=True,
evaluation_config=EvaluationConfig.last_only()
)
# Selective evaluation (recommended)
config = FastAgentConfig(
auto_evaluate=True,
evaluation_config=EvaluationConfig.selective(
backends=["gui", "mcp"], # Only eval these backends
always_eval_last=True # Always eval final step
)
)
Add custom rules to control agent triggers and workflow behavior:
undefinedBasic Rule:
from fastagent import FastAgent, FastAgentConfig, WorkflowRule, CardType, CardStatus
# Create custom rule
rule = WorkflowRule(
name="custom_rule",
card_type=CardType.EXECUTION,
card_status=CardStatus.TODO,
agent_name="GroundingAgent",
priority=100, # Higher priority = executed first
)
# Add to workflow
config = FastAgentConfig()
agent = FastAgent(config)
await agent.initialize()
agent.workflow_engine.add_rule(rule)
undefinedConditional Rule:
def check_backend(card):
"""Only trigger for MCP backend tasks"""
return card.metadata.get("backend") == "mcp"
rule = WorkflowRule(
name="mcp_only_rule",
card_type=CardType.EXECUTION,
card_status=CardStatus.TODO,
agent_name="GroundingAgent",
condition=check_backend, # Custom condition function
timeout=300.0
)
agent.workflow_engine.add_rule(rule)
undefinedSingle Task:
import asyncio
from fastagent import FastAgent, FastAgentConfig
async def main():
config = FastAgentConfig(
llm_model="anthropic/claude-sonnet-4-5",
max_execution_time=1800.0
)
agent = FastAgent(config)
await agent.initialize()
result = await agent.run("Your task")
print(result["user_response"])
await agent.cleanup()
asyncio.run(main())
undefinedBatch Processing:
async def batch_process(tasks: list[str]):
"""Process multiple tasks in the same session"""
agent = FastAgent(FastAgentConfig())
await agent.initialize() # Create sessions once
results = []
for i, task in enumerate(tasks, 1):
print(f"\nProcessing task {i}/{len(tasks)}: {task}")
result = await agent.run(task)
results.append(result)
await agent.cleanup() # Clean up sessions once
return results
# Example usage
tasks = ["Task 1", "Task 2", "Task 3"]
results = asyncio.run(batch_process(tasks))
undefinedπ‘ Note: Tasks in batch processing share the same sessions (GUI, Shell, MCP servers, etc.) and are executed sequentially. This is efficient for related tasks that need to maintain context across executions.
FastAgent builds upon excellent open-source projects, we sincerely thank their authors and contributors:
undefinedπ If this project helps you, please give us a Star!undefined
undefinedπ€ Experience AIβs full potential in unified research, analysis, and computer automation!undefined
β€οΈ Thanks for visiting β¨ FastAgent!