AI Skill Hub 推荐使用:Dart智能代理 是一款优质的Agent工作流。AI 综合评分 7.5 分,在同类工具中表现稳健。如果你正在寻找可靠的Agent工作流解决方案,这是一个值得深入了解的选择。
Dart框架实现智能代理,支持状态管理、工具使用、技能和子代理委托
Dart智能代理 是一套完整的 AI Agent 自动化工作流方案。通过可视化的节点编排,将复杂的多步骤任务拆解为清晰的自动化流程,实现全程无人值守的智能处理。支持与数百种外部服务和 API 无缝集成,适合构建数据处理管线、业务自动化和 AI 辅助决策系统。
Dart框架实现智能代理,支持状态管理、工具使用、技能和子代理委托
Dart智能代理 是一套完整的 AI Agent 自动化工作流方案。通过可视化的节点编排,将复杂的多步骤任务拆解为清晰的自动化流程,实现全程无人值守的智能处理。支持与数百种外部服务和 API 无缝集成,适合构建数据处理管线、业务自动化和 AI 辅助决策系统。
# 克隆仓库 git clone https://github.com/memex-lab/dart_agent_core cd dart_agent_core # 查看安装说明 cat README.md # 按 README 完成环境依赖安装后即可使用
# 查看帮助 dart_agent_core --help # 基本运行 dart_agent_core [options] <input> # 详细使用说明请查阅文档 # https://github.com/memex-lab/dart_agent_core
# dart_agent_core 配置说明 # 查看配置选项 dart_agent_core --config-example > config.yml # 常见配置项 # output_dir: ./output # log_level: info # workers: 4 # 环境变量(覆盖配置文件) export DART_AGENT_CORE_CONFIG="/path/to/config.yml"
dart_agent_core is developed by Memex Lab. Visit our homepage for more projects and updates.
LLMClient interface for OpenAI (Chat Completions & Responses API), Google Gemini, and Anthropic Claude via AWS Bedrock.Function.apply) and object mode (receive all arguments as a Map<String, dynamic>). Tools can return AgentToolResult to carry multimodal content, metadata, or a stop signal.UserMessage accepts text, images, audio, video, and documents as content parts. Model responses can include text, images, video, and audio.AgentState tracks conversation history, token usage, active skills, plan, and custom metadata. FileStateStorage persists state to disk as JSON.runStream() yields StreamingEvents for model chunks, tool call requests/results, and retries — suitable for real-time UI updates in Flutter.Skill) with their own system prompts and tools. Skills can be always-on (forceActivate) or toggled dynamically by the agent at runtime to save context window.SKILL.md files under a local directory root. With javaScriptRuntime configured, these Skills can execute JavaScript scripts via RunJavaScript and bridge channels.clone to delegate tasks to a worker agent with an isolated context.PlanMode injects a write_todos tool that lets the agent maintain a step-by-step task list during execution.LLMBasedContextCompressor summarizes old messages into episodic memory when the token count exceeds a threshold. The agent can recall original messages via the built-in retrieve_memory tool.DefaultLoopDetector catches repeated identical tool calls and can run periodic LLM-based diagnosis for subtler loops.AgentController provides request/response interception points around every major step (before run, before LLM call, before/after each tool call), allowing the host application to approve or stop execution.systemCallback function runs before every LLM call, letting you dynamically modify the system message, tools, or request messages.---
dependencies:
dart_agent_core: ^1.0.13
---
import 'dart:io';
import 'package:dart_agent_core/dart_agent_core.dart';
String getWeather(String location) {
if (location.toLowerCase().contains('tokyo')) return 'Sunny, 25°C';
return 'Weather data not available for this location';
}
void main() async {
final apiKey = Platform.environment['OPENAI_API_KEY'] ?? '';
final client = OpenAIClient(apiKey: apiKey);
final modelConfig = ModelConfig(model: 'gpt-4o-mini');
final weatherTool = Tool(
name: 'get_weather',
description: 'Get the current weather for a city.',
executable: getWeather,
parameters: {
'type': 'object',
'properties': {
'location': {'type': 'string', 'description': 'City name, e.g. Tokyo'},
},
'required': ['location'],
},
);
final agent = StatefulAgent(
name: 'weather_agent',
client: client,
tools: [weatherTool],
modelConfig: modelConfig,
state: AgentState.empty(),
systemPrompts: ['You are a helpful assistant.'],
);
final responses = await agent.run([
UserMessage.text('What is the weather like in Tokyo right now?'),
]);
print((responses.last as ModelMessage).textOutput);
}
---
See the example/ directory:
---
Uses the newer stateful Responses API. The client automatically extracts responseId from ModelMessage and passes it as previous_response_id on subsequent requests, so only new messages are sent.
final client = ResponsesClient(
apiKey: Platform.environment['OPENAI_API_KEY'] ?? '',
);
一个不错的Dart智能代理框架,具有良好的扩展性
AI Skill Hub 为第三方内容聚合平台,本页面信息基于公开数据整理,不对工具功能和质量作任何法律背书。
建议在沙箱或测试环境中充分验证后,再部署至生产环境,并做好必要的安全评估。
✅ MIT 协议 — 最宽松的开源协议之一,可自由商用、修改、分发,仅需保留版权声明。
总体来看,Dart智能代理 是一款质量良好的Agent工作流,在同类工具中具备一定竞争力。AI Skill Hub 将持续追踪其更新动态,建议收藏备用,结合自身场景选择合适时机引入使用。
| 原始名称 | dart_agent_core |
| 原始描述 | 开源AI工作流:Dart framework for stateful AI agents — tool use, skills, sub-agent delegation, 。⭐22 · Dart |
| Topics | aiagentdartworkflow |
| GitHub | https://github.com/memex-lab/dart_agent_core |
| License | MIT |
| 语言 | Dart |
收录时间:2026-05-27 · 更新时间:2026-05-30 · License:MIT · AI Skill Hub 不对第三方内容的准确性作法律背书。
选择 Agent 类型,复制安装指令后粘贴到对应客户端