dexto 1.1.11 → 1.2.0

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.
Files changed (149) hide show
  1. package/README.md +220 -84
  2. package/dist/agents/agent-registry.json +9 -0
  3. package/dist/agents/agent-template.yml +1 -1
  4. package/dist/agents/coding-agent/README.md +188 -0
  5. package/dist/agents/coding-agent/coding-agent.yml +203 -0
  6. package/dist/agents/database-agent/database-agent.yml +41 -2
  7. package/dist/agents/default-agent.yml +37 -3
  8. package/dist/agents/github-agent/github-agent.yml +39 -0
  9. package/dist/agents/image-editor-agent/image-editor-agent.yml +6 -2
  10. package/dist/agents/music-agent/README.md +1 -1
  11. package/dist/agents/music-agent/music-agent.yml +33 -2
  12. package/dist/agents/nano-banana-agent/nano-banana-agent.yml +32 -1
  13. package/dist/agents/podcast-agent/README.md +1 -1
  14. package/dist/agents/podcast-agent/podcast-agent.yml +34 -3
  15. package/dist/agents/product-name-researcher/product-name-researcher.yml +34 -1
  16. package/dist/agents/sora-video-agent/README.md +122 -0
  17. package/dist/agents/sora-video-agent/sora-video-agent.yml +98 -0
  18. package/dist/agents/talk2pdf-agent/talk2pdf-agent.yml +14 -2
  19. package/dist/agents/triage-demo/README.md +6 -6
  20. package/dist/agents/triage-demo/billing-agent.yml +1 -1
  21. package/dist/agents/triage-demo/escalation-agent.yml +1 -1
  22. package/dist/agents/triage-demo/product-info-agent.yml +1 -1
  23. package/dist/agents/triage-demo/technical-support-agent.yml +1 -1
  24. package/dist/agents/triage-demo/triage-agent.yml +13 -1
  25. package/dist/analytics/wrapper.d.ts.map +1 -1
  26. package/dist/analytics/wrapper.js +5 -3
  27. package/dist/api/a2a.d.ts +2 -2
  28. package/dist/api/a2a.d.ts.map +1 -1
  29. package/dist/api/a2a.js +3 -2
  30. package/dist/api/mcp/mcp_handler.d.ts +3 -3
  31. package/dist/api/mcp/mcp_handler.d.ts.map +1 -1
  32. package/dist/api/mcp/mcp_handler.js +7 -4
  33. package/dist/api/memory/memory-handler.d.ts +4 -1
  34. package/dist/api/memory/memory-handler.d.ts.map +1 -1
  35. package/dist/api/memory/memory-handler.js +10 -2
  36. package/dist/api/middleware/errorHandler.d.ts.map +1 -1
  37. package/dist/api/middleware/errorHandler.js +2 -0
  38. package/dist/api/server.d.ts.map +1 -1
  39. package/dist/api/server.js +158 -42
  40. package/dist/api/websocket-subscriber.d.ts.map +1 -1
  41. package/dist/api/websocket-subscriber.js +6 -0
  42. package/dist/cli/commands/interactive-commands/model/model-commands.js +2 -2
  43. package/dist/cli/utils/options.js +2 -2
  44. package/dist/index.js +64 -18
  45. package/dist/webui/.next/standalone/.next/static/chunks/419-6d449dcb2b056299.js +1 -0
  46. package/dist/webui/.next/standalone/.next/static/chunks/614-3519f8a6051e0088.js +1 -0
  47. package/dist/webui/.next/standalone/.next/static/chunks/656-5a9f6405badf66a8.js +25 -0
  48. package/dist/webui/.next/standalone/.next/static/chunks/{711-76a7d2bf4d6f69e5.js → 765-755286dc586b1a51.js} +1 -1
  49. package/dist/webui/.next/standalone/.next/static/chunks/804-f40df92a3adffcc0.js +1 -0
  50. package/dist/webui/.next/standalone/.next/static/chunks/854-232126f3c77e6c0b.js +1 -0
  51. package/dist/webui/.next/standalone/.next/static/chunks/app/chat/[sessionId]/page-a695b09e6bac5274.js +1 -0
  52. package/dist/webui/.next/standalone/.next/static/chunks/app/page-d1f127a0cac96246.js +1 -0
  53. package/dist/webui/.next/standalone/.next/static/chunks/app/playground/page-6f8d2abe76e51dfc.js +1 -0
  54. package/dist/webui/.next/standalone/.next/static/chunks/main-7decd42f62688419.js +1 -0
  55. package/dist/webui/.next/standalone/.next/static/css/c3c26ec984df1deb.css +1 -0
  56. package/dist/webui/.next/standalone/.next/static/uqfH8SY_uhwdc0ZkpMwCO/_buildManifest.js +1 -0
  57. package/dist/webui/.next/standalone/package.json +1 -0
  58. package/dist/webui/.next/standalone/packages/webui/.next/BUILD_ID +1 -1
  59. package/dist/webui/.next/standalone/packages/webui/.next/app-build-manifest.json +18 -18
  60. package/dist/webui/.next/standalone/packages/webui/.next/build-manifest.json +4 -4
  61. package/dist/webui/.next/standalone/packages/webui/.next/prerender-manifest.json +3 -3
  62. package/dist/webui/.next/standalone/packages/webui/.next/required-server-files.json +1 -11
  63. package/dist/webui/.next/standalone/packages/webui/.next/routes-manifest.json +1 -7
  64. package/dist/webui/.next/standalone/packages/webui/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
  65. package/dist/webui/.next/standalone/packages/webui/.next/server/app/chat/[sessionId]/page.js +1 -1
  66. package/dist/webui/.next/standalone/packages/webui/.next/server/app/chat/[sessionId]/page.js.nft.json +1 -1
  67. package/dist/webui/.next/standalone/packages/webui/.next/server/app/chat/[sessionId]/page_client-reference-manifest.js +1 -1
  68. package/dist/webui/.next/standalone/packages/webui/.next/server/app/page.js +1 -1
  69. package/dist/webui/.next/standalone/packages/webui/.next/server/app/page.js.nft.json +1 -1
  70. package/dist/webui/.next/standalone/packages/webui/.next/server/app/page_client-reference-manifest.js +1 -1
  71. package/dist/webui/.next/standalone/packages/webui/.next/server/app/playground/page.js +4 -8
  72. package/dist/webui/.next/standalone/packages/webui/.next/server/app/playground/page.js.nft.json +1 -1
  73. package/dist/webui/.next/standalone/packages/webui/.next/server/app/playground/page_client-reference-manifest.js +1 -1
  74. package/dist/webui/.next/standalone/packages/webui/.next/server/chunks/1.js +5 -5
  75. package/dist/webui/.next/standalone/packages/webui/.next/server/chunks/102.js +25 -0
  76. package/dist/webui/.next/standalone/packages/webui/.next/server/chunks/383.js +1 -0
  77. package/dist/webui/.next/standalone/packages/webui/.next/server/chunks/43.js +1 -1
  78. package/dist/webui/.next/standalone/packages/webui/.next/server/chunks/985.js +5 -0
  79. package/dist/webui/.next/standalone/packages/webui/.next/server/middleware-build-manifest.js +1 -1
  80. package/dist/webui/.next/standalone/packages/webui/.next/server/pages/500.html +1 -1
  81. package/dist/webui/.next/standalone/packages/webui/.next/server/pages-manifest.json +1 -1
  82. package/dist/webui/.next/standalone/packages/webui/.next/server/server-reference-manifest.json +1 -1
  83. package/dist/webui/.next/standalone/packages/webui/.next/static/chunks/419-6d449dcb2b056299.js +1 -0
  84. package/dist/webui/.next/standalone/packages/webui/.next/static/chunks/614-3519f8a6051e0088.js +1 -0
  85. package/dist/webui/.next/standalone/packages/webui/.next/static/chunks/656-5a9f6405badf66a8.js +25 -0
  86. package/dist/webui/.next/standalone/packages/webui/.next/static/chunks/{711-76a7d2bf4d6f69e5.js → 765-755286dc586b1a51.js} +1 -1
  87. package/dist/webui/.next/standalone/packages/webui/.next/static/chunks/804-f40df92a3adffcc0.js +1 -0
  88. package/dist/webui/.next/standalone/packages/webui/.next/static/chunks/854-232126f3c77e6c0b.js +1 -0
  89. package/dist/webui/.next/standalone/packages/webui/.next/static/chunks/app/chat/[sessionId]/page-a695b09e6bac5274.js +1 -0
  90. package/dist/webui/.next/standalone/packages/webui/.next/static/chunks/app/page-d1f127a0cac96246.js +1 -0
  91. package/dist/webui/.next/standalone/packages/webui/.next/static/chunks/app/playground/page-6f8d2abe76e51dfc.js +1 -0
  92. package/dist/webui/.next/standalone/packages/webui/.next/static/chunks/main-7decd42f62688419.js +1 -0
  93. package/dist/webui/.next/standalone/packages/webui/.next/static/css/c3c26ec984df1deb.css +1 -0
  94. package/dist/webui/.next/standalone/packages/webui/.next/static/uqfH8SY_uhwdc0ZkpMwCO/_buildManifest.js +1 -0
  95. package/dist/webui/.next/standalone/packages/webui/package.json +5 -1
  96. package/dist/webui/.next/standalone/packages/webui/server.js +1 -1
  97. package/dist/webui/.next/static/chunks/419-6d449dcb2b056299.js +1 -0
  98. package/dist/webui/.next/static/chunks/614-3519f8a6051e0088.js +1 -0
  99. package/dist/webui/.next/static/chunks/656-5a9f6405badf66a8.js +25 -0
  100. package/dist/webui/.next/static/chunks/{711-76a7d2bf4d6f69e5.js → 765-755286dc586b1a51.js} +1 -1
  101. package/dist/webui/.next/static/chunks/804-f40df92a3adffcc0.js +1 -0
  102. package/dist/webui/.next/static/chunks/854-232126f3c77e6c0b.js +1 -0
  103. package/dist/webui/.next/static/chunks/app/chat/[sessionId]/page-a695b09e6bac5274.js +1 -0
  104. package/dist/webui/.next/static/chunks/app/page-d1f127a0cac96246.js +1 -0
  105. package/dist/webui/.next/static/chunks/app/playground/page-6f8d2abe76e51dfc.js +1 -0
  106. package/dist/webui/.next/static/chunks/main-7decd42f62688419.js +1 -0
  107. package/dist/webui/.next/static/css/c3c26ec984df1deb.css +1 -0
  108. package/dist/webui/.next/static/uqfH8SY_uhwdc0ZkpMwCO/_buildManifest.js +1 -0
  109. package/dist/webui/package.json +5 -1
  110. package/package.json +2 -2
  111. package/dist/webui/.next/standalone/.next/static/VoeDi3iuGmMdZu_kx-R2X/_buildManifest.js +0 -1
  112. package/dist/webui/.next/standalone/.next/static/chunks/419-5526a47c95a2fa60.js +0 -1
  113. package/dist/webui/.next/standalone/.next/static/chunks/429-838829c1391e496d.js +0 -25
  114. package/dist/webui/.next/standalone/.next/static/chunks/459-62011998b002cbf6.js +0 -1
  115. package/dist/webui/.next/standalone/.next/static/chunks/854-8cad9404fc78e0cc.js +0 -1
  116. package/dist/webui/.next/standalone/.next/static/chunks/935-07f9df196b13275e.js +0 -1
  117. package/dist/webui/.next/standalone/.next/static/chunks/app/chat/[sessionId]/page-b8acc47b0d8c5c0a.js +0 -1
  118. package/dist/webui/.next/standalone/.next/static/chunks/app/page-e117ae372850d25f.js +0 -1
  119. package/dist/webui/.next/standalone/.next/static/chunks/app/playground/page-09340fb6b3f4caa2.js +0 -1
  120. package/dist/webui/.next/standalone/.next/static/chunks/main-b65ece3506a2355c.js +0 -1
  121. package/dist/webui/.next/standalone/.next/static/css/21e6c142ca3cdc42.css +0 -1
  122. package/dist/webui/.next/standalone/packages/webui/.next/server/chunks/419.js +0 -25
  123. package/dist/webui/.next/standalone/packages/webui/.next/server/chunks/654.js +0 -1
  124. package/dist/webui/.next/standalone/packages/webui/.next/server/chunks/71.js +0 -5
  125. package/dist/webui/.next/standalone/packages/webui/.next/static/VoeDi3iuGmMdZu_kx-R2X/_buildManifest.js +0 -1
  126. package/dist/webui/.next/standalone/packages/webui/.next/static/chunks/419-5526a47c95a2fa60.js +0 -1
  127. package/dist/webui/.next/standalone/packages/webui/.next/static/chunks/429-838829c1391e496d.js +0 -25
  128. package/dist/webui/.next/standalone/packages/webui/.next/static/chunks/459-62011998b002cbf6.js +0 -1
  129. package/dist/webui/.next/standalone/packages/webui/.next/static/chunks/854-8cad9404fc78e0cc.js +0 -1
  130. package/dist/webui/.next/standalone/packages/webui/.next/static/chunks/935-07f9df196b13275e.js +0 -1
  131. package/dist/webui/.next/standalone/packages/webui/.next/static/chunks/app/chat/[sessionId]/page-b8acc47b0d8c5c0a.js +0 -1
  132. package/dist/webui/.next/standalone/packages/webui/.next/static/chunks/app/page-e117ae372850d25f.js +0 -1
  133. package/dist/webui/.next/standalone/packages/webui/.next/static/chunks/app/playground/page-09340fb6b3f4caa2.js +0 -1
  134. package/dist/webui/.next/standalone/packages/webui/.next/static/chunks/main-b65ece3506a2355c.js +0 -1
  135. package/dist/webui/.next/standalone/packages/webui/.next/static/css/21e6c142ca3cdc42.css +0 -1
  136. package/dist/webui/.next/static/VoeDi3iuGmMdZu_kx-R2X/_buildManifest.js +0 -1
  137. package/dist/webui/.next/static/chunks/419-5526a47c95a2fa60.js +0 -1
  138. package/dist/webui/.next/static/chunks/429-838829c1391e496d.js +0 -25
  139. package/dist/webui/.next/static/chunks/459-62011998b002cbf6.js +0 -1
  140. package/dist/webui/.next/static/chunks/854-8cad9404fc78e0cc.js +0 -1
  141. package/dist/webui/.next/static/chunks/935-07f9df196b13275e.js +0 -1
  142. package/dist/webui/.next/static/chunks/app/chat/[sessionId]/page-b8acc47b0d8c5c0a.js +0 -1
  143. package/dist/webui/.next/static/chunks/app/page-e117ae372850d25f.js +0 -1
  144. package/dist/webui/.next/static/chunks/app/playground/page-09340fb6b3f4caa2.js +0 -1
  145. package/dist/webui/.next/static/chunks/main-b65ece3506a2355c.js +0 -1
  146. package/dist/webui/.next/static/css/21e6c142ca3cdc42.css +0 -1
  147. /package/dist/webui/.next/standalone/.next/static/{VoeDi3iuGmMdZu_kx-R2X → uqfH8SY_uhwdc0ZkpMwCO}/_ssgManifest.js +0 -0
  148. /package/dist/webui/.next/standalone/packages/webui/.next/static/{VoeDi3iuGmMdZu_kx-R2X → uqfH8SY_uhwdc0ZkpMwCO}/_ssgManifest.js +0 -0
  149. /package/dist/webui/.next/static/{VoeDi3iuGmMdZu_kx-R2X → uqfH8SY_uhwdc0ZkpMwCO}/_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/97a09f5b-6f7d-4d4b-9b3f-3c87fd964cbe" alt="Dexto Demo" width="700" />
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 agent interface for building agentic apps—software that understands natural language and takes real-world actions. It orchestrates LLMs, tools, and data into persistent, stateful systems with memory, so you can rapidly create AI assistants, copilots, and context-aware apps that think, act and feel alive.
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
- <!-- Dexto unifies a configuration-driven framework, robust runtime, and seamless developer experience—so you can build, deploy, and iterate with ease.
38
+ #### What You Get
32
39
 
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
-
39
- - **Batteries Included** – Session management, tool orchestration, multimodal support.
40
- - **20+ LLMs** – Instantly switch between OpenAI, Anthropic, Google, Groq, local models or bring your own.
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 to-use CLI, WebUI, APIs, or integrate with your own UI.
45
- - **Production Ready** – Observability and error handling built-in.
46
- - **Tooling & MCP** – Integrate 100+ tools and connect to external servers via the Model Context Protocol (MCP).
47
- - **Customizable Agents** Define agent behavior, tools, and prompts in YAML or TypeScript.
48
- - **Pluggable Storage** – Use Redis, PostgreSQL, SQLite, in-memory, and more for cache and database backends.
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 starts the interactive CLI
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
- dexto "create a snake game in HTML/CSS/JS, then open it in the browser"
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. Launch the Dexto Web UI
75
- dexto --mode web
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,12 @@ 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
+ Use `DEXTO_LOG_TO_CONSOLE=true` to log to console when running dexto
97
+ Use `DEXTO_LOG_LEVEL=debug` for debug logs
98
+
88
99
  ## Agent Recipes
89
100
 
90
101
  Dexto comes with pre-built agent recipes for common use cases. Install and use them instantly:
@@ -94,42 +105,47 @@ Dexto comes with pre-built agent recipes for common use cases. Install and use t
94
105
  dexto list-agents
95
106
 
96
107
  # Install specific agents
97
- dexto install nano-banana-agent podcast-agent sora-video-agent
108
+ dexto install nano-banana-agent podcast-agent coding-agent
109
+
110
+ # Use an agent with one shot prompt
111
+ dexto --agent nano-banana-agent --mode cli "create a futuristic cityscape with flying cars"
112
+ dexto --agent podcast-agent --mode cli "generate a podcast intro with two hosts discussing AI"
113
+ dexto --agent coding-agent --mode cli "create a landing page for a coffee brand inspired by star wars"
98
114
 
99
- # Use an agent
100
- dexto --agent nano-banana-agent "create a futuristic cityscape with flying cars"
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"
115
+ # Alternatively, start the agent in web UI and put in the prompt yourself
116
+ dexto --agent nano-banana-agent
103
117
  ```
104
118
 
105
119
  **Available Agents:**
120
+ - **Coding Agent** – Code generation, refactoring, debugging
106
121
  - **Nano Banana Agent** – Advanced image generation and editing using Google's Nano Banana (Gemini 2.5 Flash Image)
107
122
  - **Podcast Agent** – Advanced podcast generation using Google Gemini TTS for multi-speaker audio content
108
123
  - **Sora Video Agent** – AI video generation using OpenAI's Sora with custom settings, remixing, and reference support
109
124
  - **Database Agent** – Demo agent for SQL queries and database operations
125
+ - **GitHub Agent** – GitHub operations, PR analysis, and repository management
110
126
  - **Image Editor Agent** – Image editing and manipulation
111
127
  - **Music Agent** – Music creation and audio processing
112
- - **PDF Agent** – Document analysis and conversation
128
+ - **Talk2PDF Agent** – Document analysis and conversation
113
129
  - **Product Researcher** – Product naming and branding research
114
130
  - **Triage Agent** – Demo multi-agent customer support routing system
115
131
 
116
132
  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
133
 
118
- More ready-to-run recipes live in [`agents/`](https://github.com/truffle-ai/dexto/tree/HEAD/agents/) and the [docs site](https://docs.dexto.ai/).
134
+ **📚 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.**
135
+
136
+ More ready-to-run recipes live in [`agents/`](https://github.com/truffle-ai/dexto/tree/HEAD/agents/).
119
137
 
120
138
  ## Examples & Demos
121
139
 
122
- ### 🛒 Browser Agent: Amazon Shopping Assistant
123
- **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?`
140
+ ### 🎙️ Podcast Agent: Generate AI Podcasts
141
+ **Task:** `Generate an intro for a podcast about the latest in AI.`
124
142
  ```bash
125
- # Default agent has browser tools
126
- dexto
143
+ dexto --agent podcast-agent
127
144
  ```
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
145
 
132
- ### 👁️ Computer Vision: Face Detection & Annotation
146
+ <img src="https://github.com/user-attachments/assets/cfd59751-3daa-4ccd-97b2-1b2862c96af1" alt="Podcast Agent Demo" width="600"/>
147
+
148
+ ### 👁️ Computer Vision Agent: Face Detection & Annotation Using OpenCV
133
149
  **Task:** `Detect all faces in this image and draw bounding boxes around them.`
134
150
  ```bash
135
151
  dexto --agent image-editor-agent
@@ -137,18 +153,34 @@ dexto --agent image-editor-agent
137
153
 
138
154
  <img src="https://github.com/user-attachments/assets/7e4b2043-c39a-47c7-a403-a9665ee762ce" alt="Face Detection Demo" width="600">
139
155
 
140
- ### 🎙️ Podcast Agent: Generate AI Podcast Intros
141
- **Task:** `Generate an intro for a podcast about the latest in AI.`
156
+ ### 🎮 Coding Agents: Create apps on demand
157
+
158
+ Build full-stack applications, websites, and interactive games with AI-powered coding agents. Customize them to create your own coding agents.
159
+
160
+ **Task:** `Can you create a snake game in a new folder and open it when done?`
142
161
  ```bash
143
- dexto --agent podcast-agent
162
+ dexto --agent coding-agent
144
163
  ```
145
164
 
146
- <img src="https://github.com/user-attachments/assets/cfd59751-3daa-4ccd-97b2-1b2862c96af1" alt="Podcast Agent Demo" width="600"/>
165
+ <img src=".github/assets/coding_agent_demo.gif" alt="Snake Game Development Demo" width="600"/>
147
166
 
148
- ### 🖼️ Hugging Face: Image Generation
149
- **Task:** `Generate a photo of a baby panda.`
150
167
 
151
- <img src="https://github.com/user-attachments/assets/570cbd3a-6990-43c5-b355-2b549a4ee6b3" alt="Hugging Face Image Generation Demo" width="600"/>
168
+ ### 📧 Portable Agents: Use your agents from Cursor
169
+
170
+ 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.
171
+
172
+ <img src="https://github.com/user-attachments/assets/fd75a63f-4d29-447a-be24-6943e34c387f" alt="Email to Slack Demo" width="600">
173
+
174
+
175
+
176
+ ### 🎯 Triage Agent: Multi-Agent Customer Support
177
+
178
+ Create multi-agent systems that can intelligently coordinate and delegate tasks among themselves based on the user query.
179
+
180
+ ```bash
181
+ dexto --agent triage-agent
182
+ ```
183
+ <img src=".github/assets/triage_agent_demo.gif" alt="Triage Agent Demo" width="600">
152
184
 
153
185
  ### 🛠️ Adding Custom MCP Servers
154
186
 
@@ -156,29 +188,81 @@ You can add your own Model Context Protocol (MCP) servers to extend Dexto's capa
156
188
 
157
189
  <img src="https://github.com/user-attachments/assets/1a3ca1fd-31a0-4e1d-ba93-23e1772b1e79" alt="Add MCP Server Example" width="600"/>
158
190
 
159
- ### 🎮 Web App Development: Snake Game
160
- **Task:** `Create a snake game in HTML/CSS/JS, then open it in the browser`
191
+ ### 🧠 Memory: Persistent Context & Learning
192
+
193
+ Create and save memories. Your agent automatically uses it to create personalized experiences.
194
+
195
+ <img src=".github/assets/memory_demo.gif" alt="Memory Demo" width="600">
196
+
197
+ ### 🛒 MCP Store: Tool Discovery & Integration
198
+
199
+ Equip your agents from 20+ MCP Servers and start using them via chat - instantly.
200
+ - Bring your own keys
201
+ - Can't find an MCP? [Contribute here!](https://github.com/truffle-ai/dexto/blob/main/CONTRIBUTING.md)
202
+
203
+ <img src=".github/assets/mcp_store_demo.gif" alt="MCP Store Demo" width="600">
204
+
205
+ ### 📝 Human In The Loop: Dynamic Form Generation
206
+
207
+ Agents can generate structured forms when they need additional data to make it easier to collect extra info & approvals from users.
208
+
209
+ <img src=".github/assets/user_form_demo.gif" alt="User Form Demo" width="600">
210
+
211
+
212
+
213
+ #### More Examples:
214
+
215
+ <details>
216
+ <summary><strong>🛒 Browser Agent: Amazon Shopping Assistant</strong></summary>
217
+
218
+ **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
219
  ```bash
162
- dexto "create a snake game in HTML/CSS/JS, then open it in the browser"
220
+ # Default agent has browser tools
221
+ dexto
163
222
  ```
223
+ <a href="https://youtu.be/C-Z0aVbl4Ik">
224
+ <img src="https://github.com/user-attachments/assets/3f5be5e2-7a55-4093-a071-8c52f1a83ba3" alt="Dexto: Amazon shopping agent demo" width="600"/>
225
+ </a>
226
+
227
+ </details>
228
+
229
+ <details>
230
+ <summary><strong>🎮 Playground: Interactive Development Environment</strong></summary>
231
+
232
+ A testing playground to view the tools in your MCP servers before connecting them to LLMs to see the detailed response structures.
233
+
234
+ <img src=".github/assets/playground_demo.gif" alt="Playground Demo" width="600">
164
235
 
165
- <img src="https://github.com/user-attachments/assets/6901ba82-3c2a-4177-baf0-7d44d04a5f27" alt="Snake Game Development Demo" width="600"/>
236
+ </details>
237
+
238
+ <details>
239
+ <summary><strong>📧 Email to Slack: Automated Email Summaries</strong></summary>
166
240
 
167
- ### 📧 Send Email Summaries to Slack
168
241
  **Task:** `Summarize emails and send highlights to Slack`
169
242
  ```bash
170
243
  dexto --agent ./agents/examples/email_slack.yml
171
244
  ```
172
245
  <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
246
 
247
+ </details>
248
+
249
+ <details>
250
+ <summary><strong>🖼️ Hugging Face: Image Generation</strong></summary>
251
+
252
+ **Task:** `Generate a photo of a baby panda.`
253
+
254
+ <img src="https://github.com/user-attachments/assets/570cbd3a-6990-43c5-b355-2b549a4ee6b3" alt="Hugging Face Image Generation Demo" width="600"/>
255
+
256
+ </details>
257
+
174
258
  ---
175
259
 
176
260
  ## Run Modes
177
261
 
178
262
  | Mode | Command | Best for |
179
263
  |------|---------|----------|
180
- | **Interactive CLI** | `dexto` | Everyday automation & quick tasks |
181
- | **Web UI** | `dexto --mode web` | Friendly chat interface w/ image support |
264
+ | **Web UI** | `dexto` | Friendly chat interface w/ image support (default) |
265
+ | **Interactive CLI** | `dexto --mode cli` | Everyday automation & quick tasks |
182
266
  | **Headless Server** | `dexto --mode server` | REST & WebSocket APIs for agent interaction |
183
267
  | **MCP Server (Agent)** | `dexto --mode mcp` | Exposing your agent as a tool for others via stdio |
184
268
  | **MCP Server (Aggregator)** | `dexto mcp --group-servers` | Re-exposing tools from multiple MCP servers via stdio |
@@ -193,11 +277,13 @@ Run `dexto --help` for **all flags, sub-commands, and environment variables**.
193
277
 
194
278
  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
279
 
280
+ Example configuration:
281
+
196
282
  ```yaml
197
283
  # agents/my-agent.yml
198
284
  llm:
199
285
  provider: openai
200
- model: gpt-4.1-mini
286
+ model: gpt-5-mini
201
287
  apiKey: $OPENAI_API_KEY
202
288
 
203
289
  mcpServers:
@@ -221,7 +307,7 @@ Switch between providers instantly—no code changes required.
221
307
  | Provider | Models | Setup |
222
308
  |----------|--------|-------|
223
309
  | **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=...` |
310
+ | **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
311
  | **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
312
  | **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
313
  | **xAI** | `grok-4`, `grok-3`, `grok-3-mini`, `grok-code-fast-1` | `export XAI_API_KEY=...` |
@@ -233,7 +319,9 @@ dexto -m claude-sonnet-4-5-20250929
233
319
  dexto -m gemini-2.5-pro
234
320
  ```
235
321
 
236
- See our [Configuration Guide](https://docs.dexto.ai/docs/category/guides/) for complete setup instructions.
322
+ You can configure things like LLM, system prompt, MCP servers, storage, sessions, human-in-the loop, telemetry and more!
323
+
324
+ See our [Configuration Guide](https://docs.dexto.ai/docs/category/agent-configuration-guide) for complete setup instructions.
237
325
 
238
326
 
239
327
  ## Programmatic API
@@ -251,7 +339,7 @@ import { DextoAgent } from '@dexto/core';
251
339
  const agent = new DextoAgent({
252
340
  llm: {
253
341
  provider: 'openai',
254
- model: 'gpt-4.1-mini',
342
+ model: 'gpt-5-mini',
255
343
  apiKey: process.env.OPENAI_API_KEY
256
344
  }
257
345
  });
@@ -268,7 +356,7 @@ await agent.run('Make it funnier');
268
356
  await agent.stop();
269
357
  ```
270
358
 
271
- See our [TypeScript SDK docs](https://docs.dexto.ai/api/category/typescript-sdk/) for complete examples with MCP tools, sessions, and advanced features.
359
+ See our [TypeScript SDK docs](https://docs.dexto.ai/api/category/dexto-sdk/) for complete examples with MCP tools, sessions, and advanced features.
272
360
 
273
361
  ---
274
362
 
@@ -304,11 +392,11 @@ Switch between models and providers dynamically.
304
392
  const currentLLM = agent.getCurrentLLMConfig();
305
393
 
306
394
  // Switch models (provider inferred automatically)
307
- await agent.switchLLM({ model: 'gpt-4.1-mini' });
395
+ await agent.switchLLM({ model: 'gpt-5-mini' });
308
396
  await agent.switchLLM({ model: 'claude-sonnet-4-5-20250929' });
309
397
 
310
398
  // Switch model for a specific session id 1234
311
- await agent.switchLLM({ model: 'gpt-4.1-mini' }, '1234')
399
+ await agent.switchLLM({ model: 'gpt-5-mini' }, '1234')
312
400
 
313
401
  // Get supported providers and models
314
402
  const providers = agent.getSupportedProviders();
@@ -318,7 +406,7 @@ const openaiModels = agent.getSupportedModelsForProvider('openai');
318
406
 
319
407
  ### MCP Manager
320
408
 
321
- For advanced MCP server management, use the MCPManager directly.
409
+ 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
410
 
323
411
  ```typescript
324
412
  import { MCPManager } from '@dexto/core';
@@ -345,7 +433,7 @@ await manager.disconnectAll();
345
433
 
346
434
  ### Storage & Persistence
347
435
 
348
- Configure storage backends for production-ready persistence and caching.
436
+ 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
437
 
350
438
  ```yaml
351
439
  # agents/production-agent.yml
@@ -373,7 +461,7 @@ sessions:
373
461
  - **Production**: Redis + PostgreSQL for scale
374
462
  - **Simple**: SQLite for single-instance persistence
375
463
 
376
- See the [DextoAgent API Documentation](https://docs.dexto.ai/api/dexto-agent/) for complete method references.
464
+ See the [DextoAgent API Documentation](https://docs.dexto.ai/api/sdk/dexto-agent) for complete method references.
377
465
 
378
466
  ---
379
467
 
@@ -385,49 +473,97 @@ See the [DextoAgent API Documentation](https://docs.dexto.ai/api/dexto-agent/) f
385
473
  ```
386
474
  Usage: dexto [options] [command] [prompt...]
387
475
 
388
- Dexto CLI allows you to talk to Dexto, build custom AI Agents, build complex AI applications like Cursor, and more.
476
+ Dexto CLI - AI-powered assistant with session management
477
+
478
+ Basic Usage:
479
+ dexto Start web UI (default)
480
+ dexto "query" Run one-shot query (auto-uses CLI mode)
481
+ dexto -p "query" Run one-shot query, then exit
482
+ cat file | dexto -p "query" Process piped content
483
+
484
+ CLI Mode:
485
+ dexto --mode cli Start interactive CLI REPL
389
486
 
390
- Run dexto interactive CLI with `dexto` or run a one-shot prompt with `dexto -p "<prompt>"` or `dexto "<prompt>"`
391
- Start with a new session using `dexto --new-session [sessionId]`
392
- Run dexto web UI with `dexto --mode web`
393
- Run dexto as a server (REST APIs + WebSockets) with `dexto --mode server`
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`
487
+ Session Management:
488
+ dexto -c Continue most recent conversation
489
+ dexto -c -p "query" Continue with one-shot query, then exit
490
+ dexto -r "<session-id>" "query" Resume with one-shot query
398
491
 
399
- Check subcommands for more features. Check https://github.com/truffle-ai/dexto for documentation on how to customize dexto and other examples
492
+ Tool Confirmation:
493
+ dexto --auto-approve Auto-approve all tool executions
494
+
495
+ Agent Selection:
496
+ dexto --agent coding-agent Use installed agent by name
497
+ dexto --agent ./my-agent.yml Use agent from file path
498
+ dexto -a agents/custom.yml Short form with relative path
499
+
500
+ Advanced Modes:
501
+ dexto --mode server Run as API server
502
+ dexto --mode discord Run as Discord bot
503
+ dexto --mode telegram Run as Telegram bot
504
+ dexto --mode mcp Run as MCP server
505
+
506
+ Session Commands: dexto session list|history|delete • search
507
+ Search: dexto search <query> [--session <id>] [--role <role>]
508
+
509
+ See https://docs.dexto.ai for documentation and examples
400
510
 
401
511
  Arguments:
402
- prompt Natural-language prompt to run once. If not passed, dexto will start as an interactive CLI
512
+ prompt Natural-language prompt to run once. If not
513
+ passed, dexto will start as an interactive
514
+ CLI
403
515
 
404
516
  Options:
405
517
  -v, --version output the current version
406
- -a, --agent <name|path> Agent name or path to agent config file
407
- -p, --prompt <text> One-shot prompt text. Alternatively provide a single quoted string as positional argument.
518
+ -a, --agent <id|path> Agent ID or path to agent config file
519
+ -p, --prompt <text> Run prompt and exit. Alternatively provide a
520
+ single quoted string as positional argument.
408
521
  -s, --strict Require all server connections to succeed
409
522
  --no-verbose Disable verbose output
410
- --no-interactive Disable interactive prompts and API key setup
523
+ --no-interactive Disable interactive prompts and API key
524
+ setup
525
+ --skip-setup Skip global setup validation (useful for MCP
526
+ mode, automation)
411
527
  -m, --model <model> Specify the LLM model to use
412
- -r, --router <router> Specify the LLM router to use (vercel or in-built)
413
- --new-session [sessionId] Start with a new session (optionally specify session ID)
414
- --mode <mode> The application in which dexto should talk to you - cli | web | server | discord | telegram | mcp (default: "cli")
415
- --web-port <port> optional port for the web UI (default: "3000")
416
- --no-auto-install Disable automatic installation of missing agents from registry
528
+ --router <router> Specify the LLM router to use (vercel or
529
+ in-built)
530
+ --auto-approve Always approve tool executions without
531
+ confirmation prompts
532
+ -c, --continue Continue most recent conversation
533
+ -r, --resume <sessionId> Resume session by ID
534
+ --mode <mode> The application in which dexto should talk
535
+ to you - web | cli | server | discord |
536
+ telegram | mcp (default: "web")
537
+ --web-port <port> port for the web UI (default: 3000)
538
+ (default: "3000")
539
+ --api-port <port> port for the API server (default: web-port +
540
+ 1)
541
+ --no-auto-install Disable automatic installation of missing
542
+ agents from registry
417
543
  -h, --help display help for command
418
544
 
419
545
  Commands:
420
546
  create-app Scaffold a new Dexto Typescript app
421
- init-app Initialize an existing Typescript app with Dexto
547
+ init-app Initialize an existing Typescript app with
548
+ Dexto
422
549
  setup [options] Configure global Dexto preferences
423
- install [options] [agents...] Install agents from the registry
550
+ install [options] [agents...] Install agents from registry or custom YAML
551
+ files/directories
424
552
  uninstall [options] [agents...] Uninstall agents from the local installation
425
553
  list-agents [options] List available and installed agents
426
554
  which <agent> Show the path to an agent
427
- mcp [options] Start Dexto as an MCP server. Use --group-servers to aggregate and re-expose tools from configured MCP servers.
555
+ session Manage chat sessions
556
+ search [options] <query> Search session history
557
+ mcp [options] Start Dexto as an MCP server. Use
558
+ --group-servers to aggregate and re-expose
559
+ tools from configured MCP servers.
560
+ In the future, this command will expose the
561
+ agent as an MCP server by default.
428
562
  ```
429
563
  </details>
430
564
 
565
+ See the [CLI Guide](https://docs.dexto.ai/docs/guides/cli/overview) for full details.
566
+
431
567
  ---
432
568
 
433
569
  ## 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
  }
@@ -35,7 +35,7 @@ systemPrompt:
35
35
  # LLM configuration - describes the language model to use
36
36
  llm:
37
37
  provider: openai
38
- model: gpt-4.1-mini
38
+ model: gpt-5-mini
39
39
  apiKey: $OPENAI_API_KEY
40
40
 
41
41
  # Alternative LLM providers (replace the above llm section with one of these):