Dexto

开源 AI 智能体运行框架:用 YAML 定义智能体,内置编码智能体,支持 50+ 模型热切换、MCP 工具集成与会话记忆。

Star 数
★ 657
最近更新
1 天前
License
NOASSERTION
主语言
TypeScript

30 秒速览

运行形态
命令行工具代码库 / SDKMCP 服务器
可在哪里用
通用 · 跨平台Claude Code · OpenAI API · Claude API
费用
软件免费,模型调用费用自付
上手难度
低 · 几分钟可跑通
开始前需要
Node.jspnpm(用于源码构建)提供商 API 密钥或本地模型(Ollama / node-llama-cpp)Shell / 命令行网络访问本地文件系统MCP Server
典型场景
开发者想在终端里自主构建、调试和重构整个代码库,可用内置 coding-agent(dexto --agent coding-agent)自动读写代码、跑测试、执行 shell 命令
不适合
  • 需要 OSI 标准开源许可的团队,Elastic 2.0 限制将其作为竞品服务提供
  • 要求稳定 API 的生产项目,项目仍处于 Beta 阶段
  • 对遥测敏感、不愿设置环境变量退出的团队

这个 Agent 能做什么,适合哪些场景?

Dexto 是 Truffle AI 开发的智能体编排框架(agent harness),将大语言模型变成有状态、可执行操作、可恢复错误的可靠智能体。项目基于 TypeScript 构建,提供 CLI、Web UI、REST/SSE API 服务器和 @dexto/core SDK 四种使用方式。它自带一个生产级编码智能体,可通过命令行或网页界面直接使用,能读写代码、执行 shell 命令、生成子智能体。智能体通过版本化 YAML 文件定义,可随时更换 LLM 提供商(OpenAI、Anthropic、Google、Groq、xAI、Ollama 本地模型等)而无需改动代码。Dexto 既是 MCP 客户端(连接 30+ 工具服务器),也可作为 MCP 服务器暴露给 Claude Code、Cursor 等工具。注意该项目采用 Elastic License 2.0 许可证,并非标准开源协议。

Dexto 读取 YAML 配置(llm、mcpServers、permissions、storage 等字段)来实例化智能体。运行时它调用所配置的 LLM 提供商 API,通过 MCPManager 连接 Model Context Protocol 服务器(如 filesystem、Puppeteer 浏览器),执行工具调用并支持细粒度权限审批(manual 或 auto-approve 模式)。持久化会话与记忆存储在 Redis/PostgreSQL/SQLite 等后端,支持 dexto -c 续聊、dexto -r <id> 恢复会话、dexto search 搜索历史。智能体可通过 agent-spawner 工具生成 explore-agent 等子智能体并行处理任务。运行模式包括 Web UI(默认)、CLI(--mode cli)、服务器(--mode server,暴露 REST/SSE 接口如 POST /api/message)和 MCP 服务器(--mode mcp,通过 stdio 供 Claude Code/Cursor 接入)。SDK 方面通过 npm 安装 @dexto/core,使用 DextoAgent 类进行编程:createSession()、generate()、stream()、switchLLM()、multimodal 输入等。

  1. 开发者想在终端里自主构建、调试和重构整个代码库,可用内置 coding-agent(dexto --agent coding-agent)自动读写代码、跑测试、执行 shell 命令
  2. 团队需要把智能体嵌入自家应用,可用 @dexto/core SDK 以编程方式创建会话、流式生成、切换模型,并通过 startHonoApiServer 暴露 REST/SSE 接口
  3. 使用 Claude Code 或 Cursor 的用户想把 Dexto 智能体作为 MCP 服务器接入(dexto --mode mcp --agent coding-agent --auto-approve --no-elicitation)
  4. 注重隐私的用户可用 Ollama 或 node-llama-cpp 在本地运行 GGUF 模型(自动检测 Metal/CUDA/Vulkan GPU),数据不出机器
  5. 需要多智能体协作的场景(如 triage-agent)可让主智能体通过 agent-spawner 委派 explore-agent 等子智能体处理子任务
  6. 客服或陪伴类应用开发者可利用持久会话、记忆系统和 Discord/Telegram 集成构建跨重启保留上下文的助手

如何安装或部署这个 Agent?

推荐原生安装:macOS/Linux/WSL 执行 curl -fsSL https://dexto.ai/install | bash;Windows PowerShell 执行 irm https://dexto.ai/install.ps1 | iex。或从源码构建:git clone https://github.com/truffle-ai/dexto.git && cd dexto && pnpm install && pnpm install-cli(需要 Node.js 和 pnpm)。SDK 方式:npm install @dexto/core。首次运行会启动设置向导(dexto setup)配置 LLM 提供商和 API 密钥(如 OPENAI_API_KEY、ANTHROPIC_API_KEY),或配置本地 Ollama 模型。

如何使用这个 Agent?

安装后运行 dexto 启动默认 Web UI 并进入首次设置向导;dexto --mode cli 进入交互式终端(输入 / 查看命令);dexto -p "create a landing page" 执行一次性任务;dexto --agent coding-agent 启动编码智能体;dexto -m claude-sonnet-4-5-20250929 切换模型;dexto -c 继续上次对话;dexto --mode server --port 3001 启动 REST/SSE 服务器;dexto --mode mcp 作为 MCP 服务器运行。SDK 示例:const agent = new DextoAgent({llm: {provider: 'openai', model: 'gpt-5.2', apiKey: process.env.OPENAI_API_KEY}}); await agent.start(); const session = await agent.createSession(); const response = await agent.generate('What is TypeScript?', session.id);。可通过 dexto agents install <name> 从 Agent Registry 安装预置智能体。日志位于 ~/.dexto/logs/,用 DEXTO_LOG_LEVEL=debug 开启调试。

这个 Agent 有哪些优点和局限?

优点
  • 配置驱动:智能体完全由版本化 YAML 定义,换模型、换工具不需改代码,可即时重载
  • 模型无关:内置 OpenAI、Anthropic、Google、Groq、xAI、Cohere、AWS Bedrock、Vertex AI、OpenRouter、LiteLLM 及本地 Ollama/GGUF 支持,会话中可热切换模型
  • MCP 双向支持:既可作为客户端连接 30+ MCP 工具服务器,也可作为 MCP 服务器被 Claude Code/Cursor 调用
  • 开箱即用:会话持久化、记忆、多模态、可观测性、人类审批(manual/auto-approve/toolPolicies)内置于框架
  • 多种交付形态:CLI、Web UI、REST/SSE 服务器、SDK 库、MCP 服务器,以及 Discord/Telegram 集成示例
局限
  • 许可证为 Elastic License 2.0(GitHub 元数据显示 NOASSERTION),限制作为竞品服务提供,不是 OSI 开源协议,商用集成需审查条款
  • 项目标注为 Beta 状态,API 和配置格式可能变动,生产采用存在升级风险
  • 默认收集匿名遥测数据(命令、执行时间、错误、系统信息、所用模型),需手动设置 DEXTO_ANALYTICS_DISABLED=1 关闭
  • MCP 模式必须加 --auto-approve --no-elicitation(因非交互运行),削弱了人工审批的安全控制
  • 从源码构建需要 pnpm 和 Node.js 工具链;生产级存储需要自行配置 Redis/PostgreSQL

这个 Agent 与同类方案有什么区别?

README 将 Dexto 类比为'AI 智能体的操作系统'(LLM 是 CPU,上下文窗口是 RAM,Dexto 是操作系统),定位与直接调用 LLM API 的裸方案不同:它提供编排、状态、工具与恢复层。文档明确展示了将 Dexto 作为 MCP 服务器接入 Claude Code 和 Cursor 的用法,可作为这些工具的补充而非替代。

与相关度最高的同类 agent 并排比较关键指标。

Agent 源码审查 形态 / 费用 Star 最近更新 主语言 完整支持的平台
Dexto 当前 51 · 缺口较多 命令行工具免费 + 模型费 ★ 657 1 天前 TypeScript Claude Code · OpenAI API · Claude API
OmniGet 桌面智能体与下载工具箱 71 · 存在缺口 桌面应用免费 + 模型费 ★ 14k 28 天前 Rust Codex · Claude Code · OpenAI API · Claude API
FuXi 终端 AI 编程代理 37 · 缺口较多 命令行工具免费版 + 付费版 ★ 3.2k 4 天前 Python OpenAI API · Claude API
Best of Agent Harnesses 75 · 表现良好 MCP 服务器免费 + 模型费 ★ 1.4k 1 天前 Python Claude Code · Claude API

FollowAgents 如何评估这个 Agent?

FollowAgents 源码审查 · FARS-2.1
缺口较多
51/ 100 五分制 2.6 / 5
本评测基于 2026年9月9日 的源码;此后该项目发布了 20 个正式版本,尚未复审。分数与结论只代表评测时的版本。 最近版本 ↓
信任安全 11/29
可靠稳定 9/14
适用触发 10/18
规范维护 10/18
有效结果 7/13
证据核验 4/8
查看各维度的扣分理由
信任安全11 / 29 · 1.9/5

证据显示容器以非 root 用户运行、工作区句柄拒绝越根路径访问('Workspace path escapes root')、进程能力仅在显式请求时开放;这些支持 least_privilege 得 2。但未见用户确认门控、敏感数据(API key)保护/脱敏机制、外部副作用审计或回滚机制的直接证据,均扣分;package. 用 overrides 固定若干有漏洞历史的依赖(tough-cookie、qs、jws 等)属部分缓解而非系统性供应链管理。作者字段为空,署名不完整。

可靠稳定9 / 14 · 3.2/5

集成测试针对实际契约(打包产物加载、路径越界拒绝、能力协商)编写,自洽性尚可;CI 使用 --frozen-lockfile 与固定 Node 版本支持依赖可用性;测试断言包含具体错误信息。未见主 README 与全部文档,整体文档-代码一致性只能部分确认。

适用触发10 / 18 · 2.8/5

面向 CLI/SDK/服务器/Docker 多种使用场景,Node>=20 引擎声明明确;能力按 intent(read/process)协商,边界清晰。触发精度缺乏提示词/工具路由层面的证据,扣分。

规范维护10 / 18 · 2.8/5

monorepo 结构清晰(@dexto/* 命名一致)、有 changesets 版本管理与 CI 构建、Docker 文档完整含 compose 示例,安装说明充分。许可证文件存在但仓库元数据为 NOASSERTION 且 package. 标注为 Elastic-2.0(源码可用限制性许可,非 OSI 开源),对企业采用构成实质约束,扣分;已知局限章节未见。作者字段为空,维护主体只能从组织结构间接推断。

有效结果7 / 13 · 2.7/5

提供健康检查端点、REST/SSE API、SDK 与 agent image 打包器,输出可用性可评 2;相比直接使用 MCP SDK,其 image/skill/workspace 抽象有增量价值。但成本收益(LLM token 成本控制、审批开销)证据不足,扣分。

证据核验4 / 8 · 2.5/5

测试直接对应代码声明的行为(越界拒绝、能力门控),主张可追溯到测试;事实与推断基本可分。但本次审阅仅见到部分仓库文件,跨来源(README 主文档、docs/)相互印证不充分,扣分。

风险与缓解建议
  • 许可证为 Elastic License 2.0(源码可用而非开源),禁止将其作为托管/托管服务提供给第三方,企业集成前须做合规评估。
  • 内置工具包含文件系统与进程执行(process-tools),且以 .env 明文传入 API key;部署时应限制挂载范围、网络出口并轮换密钥。
  • 未见到系统性的用户确认/审批门控与外部副作用审计证据,生产使用前应自行在宿主侧加沙箱。
  • 依赖安全依赖 pnpm overrides 的点状固定,建议补充 lockfile 审计(如 pnpm audit / Dependabot)。
证据充分度:低 评估于 2026年9月9日 审查版本 a910e0ef36f2 评估后仓库已有新提交,评分可能未覆盖最新改动
查看完整评分方法 →

最近版本

来自该项目 GitHub Releases 的最新发布记录,说明为上游原文摘录,未经本站改写或测试。

  1. 发布说明摘录
    Patch Changes - 2424298: Retry a model step once when the reply ends with finish reason "other" and no text, tool calls or usage. If the retry is also empty, fail with "The model ended its reply without answering. Try again." llm:retrying now has a reason (transient_error or empty_response) and is sent on session event streams too. The Web UI and TUI drop the reasoning an empty reply streamed so it is not shown twice. - Updated dependencies [2424298] - @dexto/[email protected] - @dexto/[email protected] - @dexto/[email protected] - @dexto/[email protected] …
    在 GitHub 查看 ↗
  2. 发布说明摘录
    Patch Changes - Updated dependencies [2424298] - @dexto/[email protected] - @dexto/[email protected]
    在 GitHub 查看 ↗
  3. 发布说明摘录
    Patch Changes - 2424298: Retry a model step once when the reply ends with finish reason "other" and no text, tool calls or usage. If the retry is also empty, fail with "The model ended its reply without answering. Try again." llm:retrying now has a reason (transient_error or empty_response) and is sent on session event streams too. The Web UI and TUI drop the reasoning an empty reply streamed so it is not shown twice. - Updated dependencies [2424298] - @dexto/[email protected] - @dexto/[email protected] - @dexto/[email protected] - @dexto/[email protected]
    在 GitHub 查看 ↗

常见问题

使用 Dexto 需要哪些 API 密钥?
取决于所选提供商:OpenAI、Anthropic、Google、Groq、xAI、Cohere 等需要各自的 API 密钥(通过 dexto setup 配置或 YAML 中以 $ENV_VAR 引用);AWS Bedrock/Vertex AI 需要 AWS/GCP 凭证;若用 Ollama 或 node-llama-cpp 本地模型则无需云端密钥。
我的代码和数据会离开本机吗?
使用云端 LLM 提供商时提示会发送到对应 API;若隐私优先,可用 Ollama 或 node-llama-cpp 运行本地 GGUF 模型,数据保留在本机,GPU 自动检测(Metal/CUDA/Vulkan)。另注意默认有匿名遥测,可用 DEXTO_ANALYTICS_DISABLED=1 关闭。
如何控制智能体能执行哪些操作?
在 YAML 中配置 permissions:mode: manual 要求逐个工具审批,mode: auto-approve 为信任模式,toolPolicies.alwaysAllow 可白名单特定工具(如 mcp--filesystem--read_file)。子智能体会将审批请求转发给父智能体,形成统一审批流。
它是什么许可证,可以商用吗?
采用 Elastic License 2.0,允许使用和集成,但限制将其作为托管服务提供给他人。具体商用边界请阅读仓库中的 LICENSE 文件。
如何把它集成到我自己的应用?
两种方式:一是 npm install @dexto/core 后用 DextoAgent 类编程调用(createSession/generate/stream/switchLLM);二是运行 dexto --mode server 启动 Hono HTTP 服务器,通过 POST /api/message、GET /api/sessions 等 REST/SSE 端点交互。
在 GitHub 查看 ↗ 安装 ↓

对比同类 Agent

用同一套 FARS 评审,横向比较这个 Agent 所属的短名单。

相关 Agents