dexto 1.1.11 → 1.2.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +222 -84
- package/dist/agents/agent-registry.json +9 -0
- package/dist/agents/agent-template.yml +1 -1
- package/dist/agents/coding-agent/README.md +188 -0
- package/dist/agents/coding-agent/coding-agent.yml +203 -0
- package/dist/agents/database-agent/database-agent.yml +41 -2
- package/dist/agents/default-agent.yml +37 -3
- package/dist/agents/github-agent/github-agent.yml +39 -0
- package/dist/agents/image-editor-agent/image-editor-agent.yml +6 -2
- package/dist/agents/music-agent/README.md +1 -1
- package/dist/agents/music-agent/music-agent.yml +33 -2
- package/dist/agents/nano-banana-agent/nano-banana-agent.yml +32 -1
- package/dist/agents/podcast-agent/README.md +1 -1
- package/dist/agents/podcast-agent/podcast-agent.yml +34 -3
- package/dist/agents/product-name-researcher/product-name-researcher.yml +34 -1
- package/dist/agents/sora-video-agent/README.md +122 -0
- package/dist/agents/sora-video-agent/sora-video-agent.yml +98 -0
- package/dist/agents/talk2pdf-agent/talk2pdf-agent.yml +14 -2
- package/dist/agents/triage-demo/README.md +6 -6
- package/dist/agents/triage-demo/billing-agent.yml +1 -1
- package/dist/agents/triage-demo/escalation-agent.yml +1 -1
- package/dist/agents/triage-demo/product-info-agent.yml +1 -1
- package/dist/agents/triage-demo/technical-support-agent.yml +1 -1
- package/dist/agents/triage-demo/triage-agent.yml +13 -1
- package/dist/analytics/wrapper.d.ts.map +1 -1
- package/dist/analytics/wrapper.js +5 -3
- package/dist/api/a2a.d.ts +2 -2
- package/dist/api/a2a.d.ts.map +1 -1
- package/dist/api/a2a.js +3 -2
- package/dist/api/mcp/mcp_handler.d.ts +3 -3
- package/dist/api/mcp/mcp_handler.d.ts.map +1 -1
- package/dist/api/mcp/mcp_handler.js +7 -4
- package/dist/api/memory/memory-handler.d.ts +4 -1
- package/dist/api/memory/memory-handler.d.ts.map +1 -1
- package/dist/api/memory/memory-handler.js +10 -2
- package/dist/api/middleware/errorHandler.d.ts.map +1 -1
- package/dist/api/middleware/errorHandler.js +2 -0
- package/dist/api/server.d.ts.map +1 -1
- package/dist/api/server.js +158 -42
- package/dist/api/websocket-subscriber.d.ts.map +1 -1
- package/dist/api/websocket-subscriber.js +6 -0
- package/dist/cli/commands/interactive-commands/model/model-commands.js +2 -2
- package/dist/cli/utils/options.js +2 -2
- package/dist/index.js +64 -18
- package/dist/webui/.next/standalone/.next/static/b_pyEEg2sitTwMzZWW7vE/_buildManifest.js +1 -0
- package/dist/webui/.next/standalone/.next/static/chunks/419-a07413b585273a24.js +1 -0
- package/dist/webui/.next/standalone/.next/static/chunks/614-3519f8a6051e0088.js +1 -0
- package/dist/webui/.next/standalone/.next/static/chunks/656-5a9f6405badf66a8.js +25 -0
- package/dist/webui/.next/standalone/.next/static/chunks/{711-76a7d2bf4d6f69e5.js → 765-755286dc586b1a51.js} +1 -1
- package/dist/webui/.next/standalone/.next/static/chunks/804-f40df92a3adffcc0.js +1 -0
- package/dist/webui/.next/standalone/.next/static/chunks/854-232126f3c77e6c0b.js +1 -0
- package/dist/webui/.next/standalone/.next/static/chunks/app/chat/[sessionId]/page-a695b09e6bac5274.js +1 -0
- package/dist/webui/.next/standalone/.next/static/chunks/app/page-d1f127a0cac96246.js +1 -0
- package/dist/webui/.next/standalone/.next/static/chunks/app/playground/page-6f8d2abe76e51dfc.js +1 -0
- package/dist/webui/.next/standalone/.next/static/chunks/main-7decd42f62688419.js +1 -0
- package/dist/webui/.next/standalone/.next/static/css/c3c26ec984df1deb.css +1 -0
- package/dist/webui/.next/standalone/package.json +1 -0
- package/dist/webui/.next/standalone/packages/webui/.next/BUILD_ID +1 -1
- package/dist/webui/.next/standalone/packages/webui/.next/app-build-manifest.json +18 -18
- package/dist/webui/.next/standalone/packages/webui/.next/build-manifest.json +4 -4
- package/dist/webui/.next/standalone/packages/webui/.next/prerender-manifest.json +3 -3
- package/dist/webui/.next/standalone/packages/webui/.next/required-server-files.json +1 -11
- package/dist/webui/.next/standalone/packages/webui/.next/routes-manifest.json +1 -7
- package/dist/webui/.next/standalone/packages/webui/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
- package/dist/webui/.next/standalone/packages/webui/.next/server/app/chat/[sessionId]/page.js +1 -1
- package/dist/webui/.next/standalone/packages/webui/.next/server/app/chat/[sessionId]/page.js.nft.json +1 -1
- package/dist/webui/.next/standalone/packages/webui/.next/server/app/chat/[sessionId]/page_client-reference-manifest.js +1 -1
- package/dist/webui/.next/standalone/packages/webui/.next/server/app/page.js +1 -1
- package/dist/webui/.next/standalone/packages/webui/.next/server/app/page.js.nft.json +1 -1
- package/dist/webui/.next/standalone/packages/webui/.next/server/app/page_client-reference-manifest.js +1 -1
- package/dist/webui/.next/standalone/packages/webui/.next/server/app/playground/page.js +4 -8
- package/dist/webui/.next/standalone/packages/webui/.next/server/app/playground/page.js.nft.json +1 -1
- package/dist/webui/.next/standalone/packages/webui/.next/server/app/playground/page_client-reference-manifest.js +1 -1
- package/dist/webui/.next/standalone/packages/webui/.next/server/chunks/1.js +5 -5
- package/dist/webui/.next/standalone/packages/webui/.next/server/chunks/102.js +25 -0
- package/dist/webui/.next/standalone/packages/webui/.next/server/chunks/383.js +1 -0
- package/dist/webui/.next/standalone/packages/webui/.next/server/chunks/43.js +1 -1
- package/dist/webui/.next/standalone/packages/webui/.next/server/chunks/985.js +5 -0
- package/dist/webui/.next/standalone/packages/webui/.next/server/middleware-build-manifest.js +1 -1
- package/dist/webui/.next/standalone/packages/webui/.next/server/pages/500.html +1 -1
- package/dist/webui/.next/standalone/packages/webui/.next/server/pages-manifest.json +1 -1
- package/dist/webui/.next/standalone/packages/webui/.next/server/server-reference-manifest.json +1 -1
- package/dist/webui/.next/standalone/packages/webui/.next/static/b_pyEEg2sitTwMzZWW7vE/_buildManifest.js +1 -0
- package/dist/webui/.next/standalone/packages/webui/.next/static/chunks/419-a07413b585273a24.js +1 -0
- package/dist/webui/.next/standalone/packages/webui/.next/static/chunks/614-3519f8a6051e0088.js +1 -0
- package/dist/webui/.next/standalone/packages/webui/.next/static/chunks/656-5a9f6405badf66a8.js +25 -0
- package/dist/webui/.next/standalone/packages/webui/.next/static/chunks/{711-76a7d2bf4d6f69e5.js → 765-755286dc586b1a51.js} +1 -1
- package/dist/webui/.next/standalone/packages/webui/.next/static/chunks/804-f40df92a3adffcc0.js +1 -0
- package/dist/webui/.next/standalone/packages/webui/.next/static/chunks/854-232126f3c77e6c0b.js +1 -0
- package/dist/webui/.next/standalone/packages/webui/.next/static/chunks/app/chat/[sessionId]/page-a695b09e6bac5274.js +1 -0
- package/dist/webui/.next/standalone/packages/webui/.next/static/chunks/app/page-d1f127a0cac96246.js +1 -0
- package/dist/webui/.next/standalone/packages/webui/.next/static/chunks/app/playground/page-6f8d2abe76e51dfc.js +1 -0
- package/dist/webui/.next/standalone/packages/webui/.next/static/chunks/main-7decd42f62688419.js +1 -0
- package/dist/webui/.next/standalone/packages/webui/.next/static/css/c3c26ec984df1deb.css +1 -0
- package/dist/webui/.next/standalone/packages/webui/package.json +5 -1
- package/dist/webui/.next/standalone/packages/webui/server.js +1 -1
- package/dist/webui/.next/static/b_pyEEg2sitTwMzZWW7vE/_buildManifest.js +1 -0
- package/dist/webui/.next/static/chunks/419-a07413b585273a24.js +1 -0
- package/dist/webui/.next/static/chunks/614-3519f8a6051e0088.js +1 -0
- package/dist/webui/.next/static/chunks/656-5a9f6405badf66a8.js +25 -0
- package/dist/webui/.next/static/chunks/{711-76a7d2bf4d6f69e5.js → 765-755286dc586b1a51.js} +1 -1
- package/dist/webui/.next/static/chunks/804-f40df92a3adffcc0.js +1 -0
- package/dist/webui/.next/static/chunks/854-232126f3c77e6c0b.js +1 -0
- package/dist/webui/.next/static/chunks/app/chat/[sessionId]/page-a695b09e6bac5274.js +1 -0
- package/dist/webui/.next/static/chunks/app/page-d1f127a0cac96246.js +1 -0
- package/dist/webui/.next/static/chunks/app/playground/page-6f8d2abe76e51dfc.js +1 -0
- package/dist/webui/.next/static/chunks/main-7decd42f62688419.js +1 -0
- package/dist/webui/.next/static/css/c3c26ec984df1deb.css +1 -0
- package/dist/webui/package.json +5 -1
- package/package.json +2 -2
- package/dist/webui/.next/standalone/.next/static/VoeDi3iuGmMdZu_kx-R2X/_buildManifest.js +0 -1
- package/dist/webui/.next/standalone/.next/static/chunks/419-5526a47c95a2fa60.js +0 -1
- package/dist/webui/.next/standalone/.next/static/chunks/429-838829c1391e496d.js +0 -25
- package/dist/webui/.next/standalone/.next/static/chunks/459-62011998b002cbf6.js +0 -1
- package/dist/webui/.next/standalone/.next/static/chunks/854-8cad9404fc78e0cc.js +0 -1
- package/dist/webui/.next/standalone/.next/static/chunks/935-07f9df196b13275e.js +0 -1
- package/dist/webui/.next/standalone/.next/static/chunks/app/chat/[sessionId]/page-b8acc47b0d8c5c0a.js +0 -1
- package/dist/webui/.next/standalone/.next/static/chunks/app/page-e117ae372850d25f.js +0 -1
- package/dist/webui/.next/standalone/.next/static/chunks/app/playground/page-09340fb6b3f4caa2.js +0 -1
- package/dist/webui/.next/standalone/.next/static/chunks/main-b65ece3506a2355c.js +0 -1
- package/dist/webui/.next/standalone/.next/static/css/21e6c142ca3cdc42.css +0 -1
- package/dist/webui/.next/standalone/packages/webui/.next/server/chunks/419.js +0 -25
- package/dist/webui/.next/standalone/packages/webui/.next/server/chunks/654.js +0 -1
- package/dist/webui/.next/standalone/packages/webui/.next/server/chunks/71.js +0 -5
- package/dist/webui/.next/standalone/packages/webui/.next/static/VoeDi3iuGmMdZu_kx-R2X/_buildManifest.js +0 -1
- package/dist/webui/.next/standalone/packages/webui/.next/static/chunks/419-5526a47c95a2fa60.js +0 -1
- package/dist/webui/.next/standalone/packages/webui/.next/static/chunks/429-838829c1391e496d.js +0 -25
- package/dist/webui/.next/standalone/packages/webui/.next/static/chunks/459-62011998b002cbf6.js +0 -1
- package/dist/webui/.next/standalone/packages/webui/.next/static/chunks/854-8cad9404fc78e0cc.js +0 -1
- package/dist/webui/.next/standalone/packages/webui/.next/static/chunks/935-07f9df196b13275e.js +0 -1
- package/dist/webui/.next/standalone/packages/webui/.next/static/chunks/app/chat/[sessionId]/page-b8acc47b0d8c5c0a.js +0 -1
- package/dist/webui/.next/standalone/packages/webui/.next/static/chunks/app/page-e117ae372850d25f.js +0 -1
- package/dist/webui/.next/standalone/packages/webui/.next/static/chunks/app/playground/page-09340fb6b3f4caa2.js +0 -1
- package/dist/webui/.next/standalone/packages/webui/.next/static/chunks/main-b65ece3506a2355c.js +0 -1
- package/dist/webui/.next/standalone/packages/webui/.next/static/css/21e6c142ca3cdc42.css +0 -1
- package/dist/webui/.next/static/VoeDi3iuGmMdZu_kx-R2X/_buildManifest.js +0 -1
- package/dist/webui/.next/static/chunks/419-5526a47c95a2fa60.js +0 -1
- package/dist/webui/.next/static/chunks/429-838829c1391e496d.js +0 -25
- package/dist/webui/.next/static/chunks/459-62011998b002cbf6.js +0 -1
- package/dist/webui/.next/static/chunks/854-8cad9404fc78e0cc.js +0 -1
- package/dist/webui/.next/static/chunks/935-07f9df196b13275e.js +0 -1
- package/dist/webui/.next/static/chunks/app/chat/[sessionId]/page-b8acc47b0d8c5c0a.js +0 -1
- package/dist/webui/.next/static/chunks/app/page-e117ae372850d25f.js +0 -1
- package/dist/webui/.next/static/chunks/app/playground/page-09340fb6b3f4caa2.js +0 -1
- package/dist/webui/.next/static/chunks/main-b65ece3506a2355c.js +0 -1
- package/dist/webui/.next/static/css/21e6c142ca3cdc42.css +0 -1
- /package/dist/webui/.next/standalone/.next/static/{VoeDi3iuGmMdZu_kx-R2X → b_pyEEg2sitTwMzZWW7vE}/_ssgManifest.js +0 -0
- /package/dist/webui/.next/standalone/packages/webui/.next/static/{VoeDi3iuGmMdZu_kx-R2X → b_pyEEg2sitTwMzZWW7vE}/_ssgManifest.js +0 -0
- /package/dist/webui/.next/static/{VoeDi3iuGmMdZu_kx-R2X → b_pyEEg2sitTwMzZWW7vE}/_ssgManifest.js +0 -0
package/README.md
CHANGED
|
@@ -12,40 +12,41 @@
|
|
|
12
12
|
**An all-in-one toolkit to build agentic applications that turn natural language into real-world actions.**
|
|
13
13
|
|
|
14
14
|
<div align="center">
|
|
15
|
-
<img src="https://github.com/user-attachments/assets/
|
|
15
|
+
<img src="https://github.com/user-attachments/assets/89d30349-0cb1-4160-85db-d99a80a71d7a" alt="Dexto Demo" width="700" />
|
|
16
16
|
</div>
|
|
17
17
|
|
|
18
18
|
## What is Dexto?
|
|
19
19
|
|
|
20
|
-
Dexto is a universal
|
|
20
|
+
Dexto is a universal intelligence layer for building collaborative, context-aware AI Agents & agentic apps. It orchestrates LLMs, tools, and data into persistent, stateful systems with memory, so you can rapidly create AI assistants, digital companions & copilots that think, act and feel alive.
|
|
21
|
+
|
|
22
|
+
Dexto combines a configuration-driven framework, robust runtime, and seamless developer experience so you can build, deploy, and iterate on your agents easily.
|
|
23
|
+
|
|
24
|
+
- **Framework** – Define agent behavior in YAML. Instantly swap models and tools without touching code.
|
|
25
|
+
- **Runtime** – Execution with orchestration, session management, conversation memory, and multimodal support.
|
|
26
|
+
- **Interfaces & Tooling** – Native support for CLI, Web, APIs, and a TypeScript SDK.
|
|
21
27
|
|
|
22
28
|
#### With Dexto, you can build:
|
|
23
29
|
|
|
24
30
|
- **Autonomous Agents** - Agents that plan, execute, and adapt to user goals.
|
|
25
31
|
- **Digital Companions** - AI assistants & copilots that remember context and anticipate needs.
|
|
26
|
-
- **Multi-Agent Systems** - Architect agents that collaborate, delegate, and solve complex tasks together.
|
|
27
32
|
- **MCP Clients** - Connect multiple tools, files, APIs, and data via MCP Servers.
|
|
33
|
+
- **MCP Servers** - Dexto Web UI and MCP playground help you to easily test your own MCP servers.
|
|
34
|
+
- **Multi-Agent Systems** - Architect agents that collaborate, delegate, and solve complex tasks together.
|
|
28
35
|
- **Agent-as-a-Service** – Transform your existing SaaS products and APIs into dynamic, conversational experiences.
|
|
29
36
|
- **Agentic Applications** – Integrate Dexto as a reasoning engine to power interactive, multimodal, AI-native applications.
|
|
30
37
|
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
- **Framework** – Define agent behavior in YAML. Instantly swap models and tools without touching code.
|
|
34
|
-
- **Runtime** – Execution with session management, conversation memory, and multimodal support.
|
|
35
|
-
- **Interfaces & Tooling** – Native support for CLI, Web, APIs, and a TypeScript SDK. Develop, debug, and interact with your agent across any platforms from day one. -->
|
|
36
|
-
|
|
37
|
-
### What You Get
|
|
38
|
+
#### What You Get
|
|
38
39
|
|
|
39
|
-
- **Batteries Included** – Session management, tool orchestration, multimodal support.
|
|
40
|
-
- **
|
|
40
|
+
- **Batteries Included** – Session management, tool orchestration, multimodal support, and production-ready observability.
|
|
41
|
+
- **50+ LLMs** – Instantly switch between OpenAI, Anthropic, Google, Groq, local models or bring your own.
|
|
41
42
|
- **Run Anywhere** – Local for privacy, cloud for reach, or hybrid. *Same agent, any deployment.*
|
|
42
43
|
- **Native Multimodal** – Text, images, files, and tools in a single conversation. *Upload screenshots, ask questions, take actions.*
|
|
43
44
|
- **Persistent Sessions** – Conversations, context, and memory are saved and can be exported, imported, or shared across environments.
|
|
44
|
-
- **Flexible Interfaces** – One agent, endless ways to interact: Ready
|
|
45
|
-
- **
|
|
46
|
-
- **
|
|
47
|
-
- **
|
|
48
|
-
- **
|
|
45
|
+
- **Flexible Interfaces** – One agent, endless ways to interact: Ready-to-use CLI, WebUI, APIs, or integrate with your own UI.
|
|
46
|
+
- **30+ Tools & MCP** – Integrate tools and connect to external servers via the Model Context Protocol (MCP) or use our internal tools.
|
|
47
|
+
- **Pluggable Storage** – Use Redis, PostgreSQL, SQLite, in-memory, S3 and more for cache, database & blob backends.
|
|
48
|
+
- **Human in the loop** - Configure approval policies for tool execution, agents can also remember which tools are safe per session.
|
|
49
|
+
- **Observability** – Built-in OpenTelemetry distributed tracing, token usage monitoring, and error handling.
|
|
49
50
|
|
|
50
51
|
---
|
|
51
52
|
|
|
@@ -65,17 +66,21 @@ cd dexto && pnpm install && pnpm install-cli
|
|
|
65
66
|
## Quick Start
|
|
66
67
|
|
|
67
68
|
```bash
|
|
68
|
-
# 1. Run setup workflow - this prompts for your preferred LLM and API keys and
|
|
69
|
+
# 1. Run setup workflow - this prompts for your preferred LLM and API keys and opens the Web UI
|
|
69
70
|
dexto
|
|
70
71
|
|
|
71
|
-
# 2. Try a multi-step task
|
|
72
|
-
|
|
72
|
+
# 2. Try a multi-step task in the web UI:
|
|
73
|
+
"create a snake game in HTML/CSS/JS, then open it in the browser"
|
|
73
74
|
|
|
74
|
-
# 3.
|
|
75
|
-
dexto --mode
|
|
75
|
+
# 3. Start interactive CLI mode instead of web UI
|
|
76
|
+
dexto --mode cli
|
|
76
77
|
```
|
|
77
78
|
|
|
78
|
-
In 2 -> Dexto will use filesystem tools to write code and browser tools to open it — all from a single prompt. The Web UI allows you to navigate previous conversations and experiment with different models, tools and more.
|
|
79
|
+
In 2 -> Dexto will use filesystem tools to write code and browser tools to open it — all from a single prompt. The Web UI (default mode) allows you to navigate previous conversations and experiment with different models, tools and more.
|
|
80
|
+
|
|
81
|
+
The interactive CLI (3) allows you to interact with agents in the terminal.
|
|
82
|
+
|
|
83
|
+
See the [CLI Guide](https://docs.dexto.ai/docs/guides/cli/overview) for full details.
|
|
79
84
|
|
|
80
85
|
### Skip Tool Prompts While Prototyping
|
|
81
86
|
|
|
@@ -85,6 +90,14 @@ dexto --auto-approve "refactor my project using the filesystem and browser tools
|
|
|
85
90
|
|
|
86
91
|
Use the `--auto-approve` flag to bypass confirmation prompts when you trust the tools being invoked—perfect for fast local iteration. Remove the flag when you want explicit approval again.
|
|
87
92
|
|
|
93
|
+
### Logs
|
|
94
|
+
|
|
95
|
+
Logs are stored in `~/.dexto/logs` directory by default.
|
|
96
|
+
|
|
97
|
+
Use `DEXTO_LOG_TO_CONSOLE=true` to log to console when running dexto.
|
|
98
|
+
|
|
99
|
+
Use `DEXTO_LOG_LEVEL=debug` for debug logs.
|
|
100
|
+
|
|
88
101
|
## Agent Recipes
|
|
89
102
|
|
|
90
103
|
Dexto comes with pre-built agent recipes for common use cases. Install and use them instantly:
|
|
@@ -94,42 +107,47 @@ Dexto comes with pre-built agent recipes for common use cases. Install and use t
|
|
|
94
107
|
dexto list-agents
|
|
95
108
|
|
|
96
109
|
# Install specific agents
|
|
97
|
-
dexto install nano-banana-agent podcast-agent
|
|
110
|
+
dexto install nano-banana-agent podcast-agent coding-agent
|
|
111
|
+
|
|
112
|
+
# Use an agent with one shot prompt
|
|
113
|
+
dexto --agent nano-banana-agent --mode cli "create a futuristic cityscape with flying cars"
|
|
114
|
+
dexto --agent podcast-agent --mode cli "generate a podcast intro with two hosts discussing AI"
|
|
115
|
+
dexto --agent coding-agent --mode cli "create a landing page for a coffee brand inspired by star wars"
|
|
98
116
|
|
|
99
|
-
#
|
|
100
|
-
dexto --agent nano-banana-agent
|
|
101
|
-
dexto --agent podcast-agent "generate a podcast intro with two hosts discussing AI"
|
|
102
|
-
dexto --agent sora-video-agent "create a video of a sunset over mountains"
|
|
117
|
+
# Alternatively, start the agent in web UI and put in the prompt yourself
|
|
118
|
+
dexto --agent nano-banana-agent
|
|
103
119
|
```
|
|
104
120
|
|
|
105
121
|
**Available Agents:**
|
|
122
|
+
- **Coding Agent** – Code generation, refactoring, debugging
|
|
106
123
|
- **Nano Banana Agent** – Advanced image generation and editing using Google's Nano Banana (Gemini 2.5 Flash Image)
|
|
107
124
|
- **Podcast Agent** – Advanced podcast generation using Google Gemini TTS for multi-speaker audio content
|
|
108
125
|
- **Sora Video Agent** – AI video generation using OpenAI's Sora with custom settings, remixing, and reference support
|
|
109
126
|
- **Database Agent** – Demo agent for SQL queries and database operations
|
|
127
|
+
- **GitHub Agent** – GitHub operations, PR analysis, and repository management
|
|
110
128
|
- **Image Editor Agent** – Image editing and manipulation
|
|
111
129
|
- **Music Agent** – Music creation and audio processing
|
|
112
|
-
- **
|
|
130
|
+
- **Talk2PDF Agent** – Document analysis and conversation
|
|
113
131
|
- **Product Researcher** – Product naming and branding research
|
|
114
132
|
- **Triage Agent** – Demo multi-agent customer support routing system
|
|
115
133
|
|
|
116
134
|
Each agent is pre-configured with the right tools, prompts, and LLM settings for its domain. No setup required—just install and start building.
|
|
117
135
|
|
|
118
|
-
|
|
136
|
+
**📚 See the full [Agent Registry](https://docs.dexto.ai/docs/guides/agent-registry) for detailed information about all agents, their capabilities, use cases, and requirements.**
|
|
137
|
+
|
|
138
|
+
More ready-to-run recipes live in [`agents/`](https://github.com/truffle-ai/dexto/tree/HEAD/agents/).
|
|
119
139
|
|
|
120
140
|
## Examples & Demos
|
|
121
141
|
|
|
122
|
-
###
|
|
123
|
-
**Task:** `
|
|
142
|
+
### 🎙️ Podcast Agent: Generate AI Podcasts
|
|
143
|
+
**Task:** `Generate an intro for a podcast about the latest in AI.`
|
|
124
144
|
```bash
|
|
125
|
-
|
|
126
|
-
dexto
|
|
145
|
+
dexto --agent podcast-agent
|
|
127
146
|
```
|
|
128
|
-
<a href="https://youtu.be/C-Z0aVbl4Ik">
|
|
129
|
-
<img src="https://github.com/user-attachments/assets/3f5be5e2-7a55-4093-a071-8c52f1a83ba3" alt="Dexto: Amazon shopping agent demo" width="600"/>
|
|
130
|
-
</a>
|
|
131
147
|
|
|
132
|
-
|
|
148
|
+
<img src="https://github.com/user-attachments/assets/cfd59751-3daa-4ccd-97b2-1b2862c96af1" alt="Podcast Agent Demo" width="600"/>
|
|
149
|
+
|
|
150
|
+
### 👁️ Computer Vision Agent: Face Detection & Annotation Using OpenCV
|
|
133
151
|
**Task:** `Detect all faces in this image and draw bounding boxes around them.`
|
|
134
152
|
```bash
|
|
135
153
|
dexto --agent image-editor-agent
|
|
@@ -137,18 +155,34 @@ dexto --agent image-editor-agent
|
|
|
137
155
|
|
|
138
156
|
<img src="https://github.com/user-attachments/assets/7e4b2043-c39a-47c7-a403-a9665ee762ce" alt="Face Detection Demo" width="600">
|
|
139
157
|
|
|
140
|
-
###
|
|
141
|
-
|
|
158
|
+
### 🎮 Coding Agents: Create apps on demand
|
|
159
|
+
|
|
160
|
+
Build full-stack applications, websites, and interactive games with AI-powered coding agents. Customize them to create your own coding agents.
|
|
161
|
+
|
|
162
|
+
**Task:** `Can you create a snake game in a new folder and open it when done?`
|
|
142
163
|
```bash
|
|
143
|
-
dexto --agent
|
|
164
|
+
dexto --agent coding-agent
|
|
144
165
|
```
|
|
145
166
|
|
|
146
|
-
<img src="
|
|
167
|
+
<img src=".github/assets/coding_agent_demo.gif" alt="Snake Game Development Demo" width="600"/>
|
|
147
168
|
|
|
148
|
-
### 🖼️ Hugging Face: Image Generation
|
|
149
|
-
**Task:** `Generate a photo of a baby panda.`
|
|
150
169
|
|
|
151
|
-
|
|
170
|
+
### 📧 Portable Agents: Use your agents from Cursor
|
|
171
|
+
|
|
172
|
+
Dexto agents are designed to be modular, composable and portable, allowing you to run them from anywhere. In this example, we connect to dexto as an MCP server via Cursor to use our podcast agent from above.
|
|
173
|
+
|
|
174
|
+
<img src="https://github.com/user-attachments/assets/fd75a63f-4d29-447a-be24-6943e34c387f" alt="Email to Slack Demo" width="600">
|
|
175
|
+
|
|
176
|
+
|
|
177
|
+
|
|
178
|
+
### 🎯 Triage Agent: Multi-Agent Customer Support
|
|
179
|
+
|
|
180
|
+
Create multi-agent systems that can intelligently coordinate and delegate tasks among themselves based on the user query.
|
|
181
|
+
|
|
182
|
+
```bash
|
|
183
|
+
dexto --agent triage-agent
|
|
184
|
+
```
|
|
185
|
+
<img src=".github/assets/triage_agent_demo.gif" alt="Triage Agent Demo" width="600">
|
|
152
186
|
|
|
153
187
|
### 🛠️ Adding Custom MCP Servers
|
|
154
188
|
|
|
@@ -156,29 +190,81 @@ You can add your own Model Context Protocol (MCP) servers to extend Dexto's capa
|
|
|
156
190
|
|
|
157
191
|
<img src="https://github.com/user-attachments/assets/1a3ca1fd-31a0-4e1d-ba93-23e1772b1e79" alt="Add MCP Server Example" width="600"/>
|
|
158
192
|
|
|
159
|
-
###
|
|
160
|
-
|
|
193
|
+
### 🧠 Memory: Persistent Context & Learning
|
|
194
|
+
|
|
195
|
+
Create and save memories. Your agent automatically uses it to create personalized experiences.
|
|
196
|
+
|
|
197
|
+
<img src=".github/assets/memory_demo.gif" alt="Memory Demo" width="600">
|
|
198
|
+
|
|
199
|
+
### 🛒 MCP Store: Tool Discovery & Integration
|
|
200
|
+
|
|
201
|
+
Equip your agents from 20+ MCP Servers and start using them via chat - instantly.
|
|
202
|
+
- Bring your own keys
|
|
203
|
+
- Can't find an MCP? [Contribute here!](https://github.com/truffle-ai/dexto/blob/main/CONTRIBUTING.md)
|
|
204
|
+
|
|
205
|
+
<img src=".github/assets/mcp_store_demo.gif" alt="MCP Store Demo" width="600">
|
|
206
|
+
|
|
207
|
+
### 📝 Human In The Loop: Dynamic Form Generation
|
|
208
|
+
|
|
209
|
+
Agents can generate structured forms when they need additional data to make it easier to collect extra info & approvals from users.
|
|
210
|
+
|
|
211
|
+
<img src=".github/assets/user_form_demo.gif" alt="User Form Demo" width="600">
|
|
212
|
+
|
|
213
|
+
|
|
214
|
+
|
|
215
|
+
#### More Examples:
|
|
216
|
+
|
|
217
|
+
<details>
|
|
218
|
+
<summary><strong>🛒 Browser Agent: Amazon Shopping Assistant</strong></summary>
|
|
219
|
+
|
|
220
|
+
**Task:** `Can you go to amazon and add some snacks to my cart? I like trail mix, cheetos and maybe surprise me with something else?`
|
|
161
221
|
```bash
|
|
162
|
-
|
|
222
|
+
# Default agent has browser tools
|
|
223
|
+
dexto
|
|
163
224
|
```
|
|
225
|
+
<a href="https://youtu.be/C-Z0aVbl4Ik">
|
|
226
|
+
<img src="https://github.com/user-attachments/assets/3f5be5e2-7a55-4093-a071-8c52f1a83ba3" alt="Dexto: Amazon shopping agent demo" width="600"/>
|
|
227
|
+
</a>
|
|
164
228
|
|
|
165
|
-
|
|
229
|
+
</details>
|
|
230
|
+
|
|
231
|
+
<details>
|
|
232
|
+
<summary><strong>🎮 Playground: Interactive Development Environment</strong></summary>
|
|
233
|
+
|
|
234
|
+
A testing playground to view the tools in your MCP servers before connecting them to LLMs to see the detailed response structures.
|
|
235
|
+
|
|
236
|
+
<img src=".github/assets/playground_demo.gif" alt="Playground Demo" width="600">
|
|
237
|
+
|
|
238
|
+
</details>
|
|
239
|
+
|
|
240
|
+
<details>
|
|
241
|
+
<summary><strong>📧 Email to Slack: Automated Email Summaries</strong></summary>
|
|
166
242
|
|
|
167
|
-
### 📧 Send Email Summaries to Slack
|
|
168
243
|
**Task:** `Summarize emails and send highlights to Slack`
|
|
169
244
|
```bash
|
|
170
245
|
dexto --agent ./agents/examples/email_slack.yml
|
|
171
246
|
```
|
|
172
247
|
<img src="https://github.com/truffle-ai/dexto/blob/HEAD/assets/email_slack_demo.gif?raw=1" alt="Email to Slack Demo" width="600">
|
|
173
248
|
|
|
249
|
+
</details>
|
|
250
|
+
|
|
251
|
+
<details>
|
|
252
|
+
<summary><strong>🖼️ Hugging Face: Image Generation</strong></summary>
|
|
253
|
+
|
|
254
|
+
**Task:** `Generate a photo of a baby panda.`
|
|
255
|
+
|
|
256
|
+
<img src="https://github.com/user-attachments/assets/570cbd3a-6990-43c5-b355-2b549a4ee6b3" alt="Hugging Face Image Generation Demo" width="600"/>
|
|
257
|
+
|
|
258
|
+
</details>
|
|
259
|
+
|
|
174
260
|
---
|
|
175
261
|
|
|
176
262
|
## Run Modes
|
|
177
263
|
|
|
178
264
|
| Mode | Command | Best for |
|
|
179
265
|
|------|---------|----------|
|
|
180
|
-
| **
|
|
181
|
-
| **
|
|
266
|
+
| **Web UI** | `dexto` | Friendly chat interface w/ image support (default) |
|
|
267
|
+
| **Interactive CLI** | `dexto --mode cli` | Everyday automation & quick tasks |
|
|
182
268
|
| **Headless Server** | `dexto --mode server` | REST & WebSocket APIs for agent interaction |
|
|
183
269
|
| **MCP Server (Agent)** | `dexto --mode mcp` | Exposing your agent as a tool for others via stdio |
|
|
184
270
|
| **MCP Server (Aggregator)** | `dexto mcp --group-servers` | Re-exposing tools from multiple MCP servers via stdio |
|
|
@@ -193,11 +279,13 @@ Run `dexto --help` for **all flags, sub-commands, and environment variables**.
|
|
|
193
279
|
|
|
194
280
|
Dexto treats each configuration as a unique agent allowing you to define and save combinations of LLMs, servers, storage options, etc. based on your needs for easy portability. Define agents in version-controlled YAML. Change the file, reload, and chat—state, memory, and tools update automatically.
|
|
195
281
|
|
|
282
|
+
Example configuration:
|
|
283
|
+
|
|
196
284
|
```yaml
|
|
197
285
|
# agents/my-agent.yml
|
|
198
286
|
llm:
|
|
199
287
|
provider: openai
|
|
200
|
-
model: gpt-
|
|
288
|
+
model: gpt-5-mini
|
|
201
289
|
apiKey: $OPENAI_API_KEY
|
|
202
290
|
|
|
203
291
|
mcpServers:
|
|
@@ -221,7 +309,7 @@ Switch between providers instantly—no code changes required.
|
|
|
221
309
|
| Provider | Models | Setup |
|
|
222
310
|
|----------|--------|-------|
|
|
223
311
|
| **OpenAI** | `gpt-5`, `gpt-5-mini`, `gpt-5-nano`, `gpt-4.1`, `gpt-4.1-mini`, `gpt-4.1-nano`, `gpt-4o`, `gpt-4o-mini`, `gpt-4o-audio-preview`, `o4-mini`, `o3`, `o3-mini`, `o1` | `export OPENAI_API_KEY=...` |
|
|
224
|
-
| **Anthropic** | `claude-sonnet-4-5-20250929`, `claude-opus-4-1-20250805`, `claude-4-opus-20250514`, `claude-4-sonnet-20250514`, `claude-3-7-sonnet-20250219`, `claude-3-5-sonnet-20240620`, `claude-3-5-haiku-20241022` | `export ANTHROPIC_API_KEY=...` |
|
|
312
|
+
| **Anthropic** | `claude-haiku-4-5-20251001`, `claude-sonnet-4-5-20250929`, `claude-opus-4-1-20250805`, `claude-4-opus-20250514`, `claude-4-sonnet-20250514`, `claude-3-7-sonnet-20250219`, `claude-3-5-sonnet-20240620`, `claude-3-5-haiku-20241022` | `export ANTHROPIC_API_KEY=...` |
|
|
225
313
|
| **Google** | `gemini-2.5-pro`, `gemini-2.5-flash`, `gemini-2.5-flash-lite`, `gemini-2.0-flash`, `gemini-2.0-flash-lite` | `export GOOGLE_GENERATIVE_AI_API_KEY=...` |
|
|
226
314
|
| **Groq** | `llama-3.3-70b-versatile`, `meta-llama/llama-4-scout-17b-16e-instruct`, `meta-llama/llama-4-maverick-17b-128e-instruct`, `qwen/qwen3-32b`, `gemma-2-9b-it`, `openai/gpt-oss-20b`, `openai/gpt-oss-120b`, `moonshotai/kimi-k2-instruct`, `deepseek-r1-distill-llama-70b` | `export GROQ_API_KEY=...` |
|
|
227
315
|
| **xAI** | `grok-4`, `grok-3`, `grok-3-mini`, `grok-code-fast-1` | `export XAI_API_KEY=...` |
|
|
@@ -233,7 +321,9 @@ dexto -m claude-sonnet-4-5-20250929
|
|
|
233
321
|
dexto -m gemini-2.5-pro
|
|
234
322
|
```
|
|
235
323
|
|
|
236
|
-
|
|
324
|
+
You can configure things like LLM, system prompt, MCP servers, storage, sessions, human-in-the loop, telemetry and more!
|
|
325
|
+
|
|
326
|
+
See our [Configuration Guide](https://docs.dexto.ai/docs/category/agent-configuration-guide) for complete setup instructions.
|
|
237
327
|
|
|
238
328
|
|
|
239
329
|
## Programmatic API
|
|
@@ -251,7 +341,7 @@ import { DextoAgent } from '@dexto/core';
|
|
|
251
341
|
const agent = new DextoAgent({
|
|
252
342
|
llm: {
|
|
253
343
|
provider: 'openai',
|
|
254
|
-
model: 'gpt-
|
|
344
|
+
model: 'gpt-5-mini',
|
|
255
345
|
apiKey: process.env.OPENAI_API_KEY
|
|
256
346
|
}
|
|
257
347
|
});
|
|
@@ -268,7 +358,7 @@ await agent.run('Make it funnier');
|
|
|
268
358
|
await agent.stop();
|
|
269
359
|
```
|
|
270
360
|
|
|
271
|
-
See our [TypeScript SDK docs](https://docs.dexto.ai/api/category/
|
|
361
|
+
See our [TypeScript SDK docs](https://docs.dexto.ai/api/category/dexto-sdk/) for complete examples with MCP tools, sessions, and advanced features.
|
|
272
362
|
|
|
273
363
|
---
|
|
274
364
|
|
|
@@ -304,11 +394,11 @@ Switch between models and providers dynamically.
|
|
|
304
394
|
const currentLLM = agent.getCurrentLLMConfig();
|
|
305
395
|
|
|
306
396
|
// Switch models (provider inferred automatically)
|
|
307
|
-
await agent.switchLLM({ model: 'gpt-
|
|
397
|
+
await agent.switchLLM({ model: 'gpt-5-mini' });
|
|
308
398
|
await agent.switchLLM({ model: 'claude-sonnet-4-5-20250929' });
|
|
309
399
|
|
|
310
400
|
// Switch model for a specific session id 1234
|
|
311
|
-
await agent.switchLLM({ model: 'gpt-
|
|
401
|
+
await agent.switchLLM({ model: 'gpt-5-mini' }, '1234')
|
|
312
402
|
|
|
313
403
|
// Get supported providers and models
|
|
314
404
|
const providers = agent.getSupportedProviders();
|
|
@@ -318,7 +408,7 @@ const openaiModels = agent.getSupportedModelsForProvider('openai');
|
|
|
318
408
|
|
|
319
409
|
### MCP Manager
|
|
320
410
|
|
|
321
|
-
For advanced MCP server management, use the MCPManager directly.
|
|
411
|
+
For advanced MCP server management, use the MCPManager directly. See the [MCP Manager SDK docs](https://docs.dexto.ai/api/sdk/mcp-manager) for full details.
|
|
322
412
|
|
|
323
413
|
```typescript
|
|
324
414
|
import { MCPManager } from '@dexto/core';
|
|
@@ -345,7 +435,7 @@ await manager.disconnectAll();
|
|
|
345
435
|
|
|
346
436
|
### Storage & Persistence
|
|
347
437
|
|
|
348
|
-
Configure storage backends for production-ready persistence and caching.
|
|
438
|
+
Configure storage backends for production-ready persistence and caching. See the [Storage Configuration guide](https://docs.dexto.ai/docs/guides/configuring-dexto/storage) for full details.
|
|
349
439
|
|
|
350
440
|
```yaml
|
|
351
441
|
# agents/production-agent.yml
|
|
@@ -373,7 +463,7 @@ sessions:
|
|
|
373
463
|
- **Production**: Redis + PostgreSQL for scale
|
|
374
464
|
- **Simple**: SQLite for single-instance persistence
|
|
375
465
|
|
|
376
|
-
See the [DextoAgent API Documentation](https://docs.dexto.ai/api/dexto-agent
|
|
466
|
+
See the [DextoAgent API Documentation](https://docs.dexto.ai/api/sdk/dexto-agent) for complete method references.
|
|
377
467
|
|
|
378
468
|
---
|
|
379
469
|
|
|
@@ -385,49 +475,97 @@ See the [DextoAgent API Documentation](https://docs.dexto.ai/api/dexto-agent/) f
|
|
|
385
475
|
```
|
|
386
476
|
Usage: dexto [options] [command] [prompt...]
|
|
387
477
|
|
|
388
|
-
Dexto CLI
|
|
478
|
+
Dexto CLI - AI-powered assistant with session management
|
|
479
|
+
|
|
480
|
+
Basic Usage:
|
|
481
|
+
dexto Start web UI (default)
|
|
482
|
+
dexto "query" Run one-shot query (auto-uses CLI mode)
|
|
483
|
+
dexto -p "query" Run one-shot query, then exit
|
|
484
|
+
cat file | dexto -p "query" Process piped content
|
|
485
|
+
|
|
486
|
+
CLI Mode:
|
|
487
|
+
dexto --mode cli Start interactive CLI REPL
|
|
389
488
|
|
|
390
|
-
|
|
391
|
-
|
|
392
|
-
|
|
393
|
-
|
|
394
|
-
Run dexto as a discord bot with `dexto --mode discord`
|
|
395
|
-
Run dexto as a telegram bot with `dexto --mode telegram`
|
|
396
|
-
Run dexto agent as an MCP server with `dexto --mode mcp`
|
|
397
|
-
Run dexto as an MCP server aggregator with `dexto mcp --group-servers`
|
|
489
|
+
Session Management:
|
|
490
|
+
dexto -c Continue most recent conversation
|
|
491
|
+
dexto -c -p "query" Continue with one-shot query, then exit
|
|
492
|
+
dexto -r "<session-id>" "query" Resume with one-shot query
|
|
398
493
|
|
|
399
|
-
|
|
494
|
+
Tool Confirmation:
|
|
495
|
+
dexto --auto-approve Auto-approve all tool executions
|
|
496
|
+
|
|
497
|
+
Agent Selection:
|
|
498
|
+
dexto --agent coding-agent Use installed agent by name
|
|
499
|
+
dexto --agent ./my-agent.yml Use agent from file path
|
|
500
|
+
dexto -a agents/custom.yml Short form with relative path
|
|
501
|
+
|
|
502
|
+
Advanced Modes:
|
|
503
|
+
dexto --mode server Run as API server
|
|
504
|
+
dexto --mode discord Run as Discord bot
|
|
505
|
+
dexto --mode telegram Run as Telegram bot
|
|
506
|
+
dexto --mode mcp Run as MCP server
|
|
507
|
+
|
|
508
|
+
Session Commands: dexto session list|history|delete • search
|
|
509
|
+
Search: dexto search <query> [--session <id>] [--role <role>]
|
|
510
|
+
|
|
511
|
+
See https://docs.dexto.ai for documentation and examples
|
|
400
512
|
|
|
401
513
|
Arguments:
|
|
402
|
-
prompt Natural-language prompt to run once. If not
|
|
514
|
+
prompt Natural-language prompt to run once. If not
|
|
515
|
+
passed, dexto will start as an interactive
|
|
516
|
+
CLI
|
|
403
517
|
|
|
404
518
|
Options:
|
|
405
519
|
-v, --version output the current version
|
|
406
|
-
-a, --agent <
|
|
407
|
-
-p, --prompt <text>
|
|
520
|
+
-a, --agent <id|path> Agent ID or path to agent config file
|
|
521
|
+
-p, --prompt <text> Run prompt and exit. Alternatively provide a
|
|
522
|
+
single quoted string as positional argument.
|
|
408
523
|
-s, --strict Require all server connections to succeed
|
|
409
524
|
--no-verbose Disable verbose output
|
|
410
|
-
--no-interactive Disable interactive prompts and API key
|
|
525
|
+
--no-interactive Disable interactive prompts and API key
|
|
526
|
+
setup
|
|
527
|
+
--skip-setup Skip global setup validation (useful for MCP
|
|
528
|
+
mode, automation)
|
|
411
529
|
-m, --model <model> Specify the LLM model to use
|
|
412
|
-
|
|
413
|
-
|
|
414
|
-
--
|
|
415
|
-
|
|
416
|
-
|
|
530
|
+
--router <router> Specify the LLM router to use (vercel or
|
|
531
|
+
in-built)
|
|
532
|
+
--auto-approve Always approve tool executions without
|
|
533
|
+
confirmation prompts
|
|
534
|
+
-c, --continue Continue most recent conversation
|
|
535
|
+
-r, --resume <sessionId> Resume session by ID
|
|
536
|
+
--mode <mode> The application in which dexto should talk
|
|
537
|
+
to you - web | cli | server | discord |
|
|
538
|
+
telegram | mcp (default: "web")
|
|
539
|
+
--web-port <port> port for the web UI (default: 3000)
|
|
540
|
+
(default: "3000")
|
|
541
|
+
--api-port <port> port for the API server (default: web-port +
|
|
542
|
+
1)
|
|
543
|
+
--no-auto-install Disable automatic installation of missing
|
|
544
|
+
agents from registry
|
|
417
545
|
-h, --help display help for command
|
|
418
546
|
|
|
419
547
|
Commands:
|
|
420
548
|
create-app Scaffold a new Dexto Typescript app
|
|
421
|
-
init-app Initialize an existing Typescript app with
|
|
549
|
+
init-app Initialize an existing Typescript app with
|
|
550
|
+
Dexto
|
|
422
551
|
setup [options] Configure global Dexto preferences
|
|
423
|
-
install [options] [agents...] Install agents from
|
|
552
|
+
install [options] [agents...] Install agents from registry or custom YAML
|
|
553
|
+
files/directories
|
|
424
554
|
uninstall [options] [agents...] Uninstall agents from the local installation
|
|
425
555
|
list-agents [options] List available and installed agents
|
|
426
556
|
which <agent> Show the path to an agent
|
|
427
|
-
|
|
557
|
+
session Manage chat sessions
|
|
558
|
+
search [options] <query> Search session history
|
|
559
|
+
mcp [options] Start Dexto as an MCP server. Use
|
|
560
|
+
--group-servers to aggregate and re-expose
|
|
561
|
+
tools from configured MCP servers.
|
|
562
|
+
In the future, this command will expose the
|
|
563
|
+
agent as an MCP server by default.
|
|
428
564
|
```
|
|
429
565
|
</details>
|
|
430
566
|
|
|
567
|
+
See the [CLI Guide](https://docs.dexto.ai/docs/guides/cli/overview) for full details.
|
|
568
|
+
|
|
431
569
|
---
|
|
432
570
|
|
|
433
571
|
## Next Steps
|
|
@@ -98,6 +98,15 @@
|
|
|
98
98
|
"author": "Truffle AI",
|
|
99
99
|
"tags": ["default", "filesystem", "playwright"],
|
|
100
100
|
"source": "default-agent.yml"
|
|
101
|
+
},
|
|
102
|
+
"coding-agent": {
|
|
103
|
+
"id": "coding-agent",
|
|
104
|
+
"name": "Coding Agent",
|
|
105
|
+
"description": "Expert software development assistant with all internal coding tools for building, debugging, and maintaining codebases",
|
|
106
|
+
"author": "Truffle AI",
|
|
107
|
+
"tags": ["coding", "development", "software", "internal-tools", "programming"],
|
|
108
|
+
"source": "coding-agent/",
|
|
109
|
+
"main": "coding-agent.yml"
|
|
101
110
|
}
|
|
102
111
|
}
|
|
103
112
|
}
|