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
|
@@ -0,0 +1,188 @@
|
|
|
1
|
+
# Coding Agent
|
|
2
|
+
|
|
3
|
+
An expert software development assistant optimized for building, debugging, and maintaining codebases. This agent comes equipped with all internal coding tools and is configured to handle complex software engineering tasks efficiently.
|
|
4
|
+
|
|
5
|
+
## What You Get
|
|
6
|
+
|
|
7
|
+
- **All Internal Coding Tools**: Read, write, edit files, execute commands, search codebases
|
|
8
|
+
- **Intelligent Tool Policies**: Read operations never require approval, write operations are safely guarded
|
|
9
|
+
- **Comprehensive File Support**: 30+ file extensions including JS/TS, Python, Go, Rust, Java, C/C++, configs, and more
|
|
10
|
+
- **Enhanced Codebase Access**: Index up to 500 files with depth-10 traversal, including hidden files
|
|
11
|
+
- **Expert System Prompt**: Specialized instructions for software development best practices
|
|
12
|
+
- **Persistent Tool Approvals**: Allowed tools are saved across sessions for smoother workflows
|
|
13
|
+
- **Coding-Focused Starter Prompts**: Quick access to common development tasks
|
|
14
|
+
|
|
15
|
+
## Key Capabilities
|
|
16
|
+
|
|
17
|
+
### File Operations
|
|
18
|
+
- **read_file**: Read any file with pagination support
|
|
19
|
+
- **write_file**: Create new files (requires approval)
|
|
20
|
+
- **edit_file**: Modify existing files precisely (requires approval)
|
|
21
|
+
- **glob_files**: Find files using patterns like `**/*.ts` (no approval needed)
|
|
22
|
+
- **grep_content**: Search within files using regex (no approval needed)
|
|
23
|
+
|
|
24
|
+
### Command Execution
|
|
25
|
+
- **bash_exec**: Run shell commands for testing, building, running code (requires approval)
|
|
26
|
+
- **bash_output**: Monitor output from background processes
|
|
27
|
+
- **kill_process**: Terminate running processes
|
|
28
|
+
|
|
29
|
+
### Analysis & Search
|
|
30
|
+
- Deep codebase traversal (up to 10 levels)
|
|
31
|
+
- Search across 500+ files
|
|
32
|
+
- Pattern matching with glob and regex
|
|
33
|
+
- Hidden file access (.env, .gitignore, etc.)
|
|
34
|
+
|
|
35
|
+
## Requirements
|
|
36
|
+
|
|
37
|
+
- Node.js 18+ (if using npm/pnpm commands)
|
|
38
|
+
- OpenAI API key (or another configured LLM key)
|
|
39
|
+
- File system access to your project directory
|
|
40
|
+
|
|
41
|
+
## Run the Agent
|
|
42
|
+
|
|
43
|
+
```bash
|
|
44
|
+
# From Dexto source
|
|
45
|
+
npm start -- --agent agents/coding-agent/coding-agent.yml
|
|
46
|
+
|
|
47
|
+
# Or using the Dexto CLI
|
|
48
|
+
dexto --agent coding-agent
|
|
49
|
+
```
|
|
50
|
+
|
|
51
|
+
## Usage Examples
|
|
52
|
+
|
|
53
|
+
### Analyze a Codebase
|
|
54
|
+
```
|
|
55
|
+
"Analyze this codebase. Show me the project structure, main technologies used, and provide a high-level overview."
|
|
56
|
+
```
|
|
57
|
+
|
|
58
|
+
### Debug an Error
|
|
59
|
+
```
|
|
60
|
+
"I'm getting this error: [paste error]. Help me find and fix the issue."
|
|
61
|
+
```
|
|
62
|
+
|
|
63
|
+
### Implement a Feature
|
|
64
|
+
```
|
|
65
|
+
"I need to add user authentication. Help me design and implement it following best practices."
|
|
66
|
+
```
|
|
67
|
+
|
|
68
|
+
### Refactor Code
|
|
69
|
+
```
|
|
70
|
+
"This function is too complex. Help me refactor it for better readability and maintainability."
|
|
71
|
+
```
|
|
72
|
+
|
|
73
|
+
### Write Tests
|
|
74
|
+
```
|
|
75
|
+
"Generate unit tests for the UserService class with edge case coverage."
|
|
76
|
+
```
|
|
77
|
+
|
|
78
|
+
### Code Review
|
|
79
|
+
```
|
|
80
|
+
"Review my recent changes in src/auth/ and suggest improvements."
|
|
81
|
+
```
|
|
82
|
+
|
|
83
|
+
## Configuration
|
|
84
|
+
|
|
85
|
+
### LLM Options
|
|
86
|
+
|
|
87
|
+
The coding agent defaults to `gpt-4o` for powerful coding capabilities. You can switch to other models:
|
|
88
|
+
|
|
89
|
+
**Claude Sonnet (Excellent for Coding)**
|
|
90
|
+
```yaml
|
|
91
|
+
llm:
|
|
92
|
+
provider: anthropic
|
|
93
|
+
model: claude-sonnet-4-20250514
|
|
94
|
+
apiKey: $ANTHROPIC_API_KEY
|
|
95
|
+
```
|
|
96
|
+
|
|
97
|
+
**Google Gemini**
|
|
98
|
+
```yaml
|
|
99
|
+
llm:
|
|
100
|
+
provider: google
|
|
101
|
+
model: gemini-2.5-pro
|
|
102
|
+
apiKey: $GOOGLE_GENERATIVE_AI_API_KEY
|
|
103
|
+
```
|
|
104
|
+
|
|
105
|
+
**OpenAI o1 (For Complex Reasoning)**
|
|
106
|
+
```yaml
|
|
107
|
+
llm:
|
|
108
|
+
provider: openai
|
|
109
|
+
model: o1
|
|
110
|
+
apiKey: $OPENAI_API_KEY
|
|
111
|
+
```
|
|
112
|
+
|
|
113
|
+
### Tool Policies
|
|
114
|
+
|
|
115
|
+
The agent is pre-configured with sensible defaults:
|
|
116
|
+
|
|
117
|
+
**Always Allowed (No Approval Needed)**
|
|
118
|
+
- Reading files (`internal--read_file`)
|
|
119
|
+
- Searching files (`internal--glob_files`, `internal--grep_content`)
|
|
120
|
+
- Checking process output (`internal--bash_output`)
|
|
121
|
+
- Killing processes (`internal--kill_process`)
|
|
122
|
+
- Asking questions (`internal--ask_user`)
|
|
123
|
+
|
|
124
|
+
**Requires Approval**
|
|
125
|
+
- Writing files (`internal--write_file`)
|
|
126
|
+
- Editing files (`internal--edit_file`)
|
|
127
|
+
- Executing commands (`internal--bash_exec`)
|
|
128
|
+
|
|
129
|
+
You can customize these policies in the `toolConfirmation.toolPolicies` section of `coding-agent.yml`.
|
|
130
|
+
|
|
131
|
+
### File Extensions
|
|
132
|
+
|
|
133
|
+
The agent indexes these file types by default:
|
|
134
|
+
|
|
135
|
+
**Web Development**: .js, .jsx, .ts, .tsx, .html, .css, .scss, .sass, .less, .vue, .svelte
|
|
136
|
+
|
|
137
|
+
**Backend Languages**: .py, .java, .go, .rs, .rb, .php, .c, .cpp, .h, .hpp, .cs, .swift, .kt
|
|
138
|
+
|
|
139
|
+
**Configuration**: .json, .yaml, .yml, .toml, .xml, .ini, .env
|
|
140
|
+
|
|
141
|
+
**Documentation**: .md, .mdx, .txt, .rst
|
|
142
|
+
|
|
143
|
+
**Build Files**: .gradle, .maven, Makefile, Dockerfile, .dockerignore, .gitignore
|
|
144
|
+
|
|
145
|
+
Add more extensions in the `internalResources.resources[0].includeExtensions` section.
|
|
146
|
+
|
|
147
|
+
## Starter Prompts
|
|
148
|
+
|
|
149
|
+
The agent includes 8 built-in starter prompts:
|
|
150
|
+
|
|
151
|
+
1. **🔍 Analyze Codebase** - Get a project overview
|
|
152
|
+
2. **🐛 Debug Error** - Identify and fix bugs
|
|
153
|
+
3. **♻️ Refactor Code** - Improve code quality
|
|
154
|
+
4. **🧪 Write Tests** - Generate comprehensive tests
|
|
155
|
+
5. **✨ Implement Feature** - Build new functionality
|
|
156
|
+
6. **⚡ Optimize Performance** - Find bottlenecks
|
|
157
|
+
7. **🚀 Setup Project** - Initialize new projects
|
|
158
|
+
8. **👀 Code Review** - Review for issues and improvements
|
|
159
|
+
|
|
160
|
+
## Best Practices
|
|
161
|
+
|
|
162
|
+
1. **Read Before Writing**: The agent automatically searches and reads relevant code before making changes
|
|
163
|
+
2. **Use Glob & Grep**: Leverage pattern matching to explore unfamiliar codebases efficiently
|
|
164
|
+
3. **Test Changes**: Execute tests after modifications to verify correctness
|
|
165
|
+
4. **Follow Conventions**: The agent adapts to your project's existing code style
|
|
166
|
+
5. **Ask Questions**: The agent will ask for clarification when requirements are ambiguous
|
|
167
|
+
|
|
168
|
+
## Troubleshooting
|
|
169
|
+
|
|
170
|
+
### Agent Can't Find Files
|
|
171
|
+
- Ensure you're running from your project root
|
|
172
|
+
- Check that file extensions are included in the config
|
|
173
|
+
- Verify `maxDepth` is sufficient for your project structure
|
|
174
|
+
|
|
175
|
+
### Commands Require Too Many Approvals
|
|
176
|
+
- Use `allowedToolsStorage: storage` to persist approvals
|
|
177
|
+
- Add frequently-used commands to the `alwaysAllow` list
|
|
178
|
+
|
|
179
|
+
### Performance Issues with Large Codebases
|
|
180
|
+
- Increase `maxFiles` limit (default: 500)
|
|
181
|
+
- Reduce `maxDepth` to limit traversal
|
|
182
|
+
- Exclude large directories in `.gitignore`
|
|
183
|
+
|
|
184
|
+
## Learn More
|
|
185
|
+
|
|
186
|
+
- [Dexto Documentation](https://github.com/truffle-ai/dexto)
|
|
187
|
+
- [Internal Tools Reference](../../docs/internal-tools.md)
|
|
188
|
+
- [Agent Configuration Guide](../../docs/agent-configuration.md)
|
|
@@ -0,0 +1,203 @@
|
|
|
1
|
+
# Coding Agent Configuration
|
|
2
|
+
# Optimized for software development with internal coding tools
|
|
3
|
+
|
|
4
|
+
# System prompt configuration - defines the agent's behavior as a coding assistant
|
|
5
|
+
systemPrompt:
|
|
6
|
+
contributors:
|
|
7
|
+
- id: primary
|
|
8
|
+
type: static
|
|
9
|
+
priority: 0
|
|
10
|
+
content: |
|
|
11
|
+
You are an expert software development assistant with deep knowledge of multiple programming languages,
|
|
12
|
+
frameworks, and development best practices.
|
|
13
|
+
|
|
14
|
+
Your primary goal is to help users write, debug, refactor, and understand code efficiently.
|
|
15
|
+
|
|
16
|
+
Key capabilities:
|
|
17
|
+
- Read and analyze codebases using glob and grep patterns
|
|
18
|
+
- Write and edit files with precise, well-structured code
|
|
19
|
+
- Execute shell commands for testing, building, and running code
|
|
20
|
+
- Debug issues by examining error messages and code structure
|
|
21
|
+
- Refactor code following best practices and design patterns
|
|
22
|
+
- Explain complex code concepts clearly
|
|
23
|
+
|
|
24
|
+
Guidelines:
|
|
25
|
+
- Always read relevant code before making changes to understand context
|
|
26
|
+
- Use glob_files to find files and grep_content to search within files
|
|
27
|
+
- Test changes when possible using bash_exec
|
|
28
|
+
- Follow the project's existing code style and conventions
|
|
29
|
+
- Provide clear explanations for your code decisions
|
|
30
|
+
- Ask for clarification when requirements are ambiguous
|
|
31
|
+
- id: memories
|
|
32
|
+
type: memory
|
|
33
|
+
priority: 40
|
|
34
|
+
enabled: true
|
|
35
|
+
options:
|
|
36
|
+
includeTimestamps: false
|
|
37
|
+
includeTags: true
|
|
38
|
+
limit: 10
|
|
39
|
+
pinnedOnly: false
|
|
40
|
+
|
|
41
|
+
# Greeting optimized for coding tasks
|
|
42
|
+
greeting: "👨💻 Ready to code! What are we building today?"
|
|
43
|
+
|
|
44
|
+
# LLM configuration - using a powerful model for coding tasks
|
|
45
|
+
llm:
|
|
46
|
+
provider: anthropic
|
|
47
|
+
model: claude-haiku-4-5-20251001 # More powerful model for complex coding tasks
|
|
48
|
+
apiKey: $ANTHROPIC_API_KEY
|
|
49
|
+
|
|
50
|
+
storage:
|
|
51
|
+
cache:
|
|
52
|
+
type: in-memory
|
|
53
|
+
database:
|
|
54
|
+
type: sqlite
|
|
55
|
+
blob:
|
|
56
|
+
type: local
|
|
57
|
+
maxBlobSize: 52428800 # 50MB per blob
|
|
58
|
+
maxTotalSize: 1073741824 # 1GB total storage
|
|
59
|
+
cleanupAfterDays: 30
|
|
60
|
+
|
|
61
|
+
toolConfirmation:
|
|
62
|
+
mode: event-based
|
|
63
|
+
timeout: 120000
|
|
64
|
+
allowedToolsStorage: storage # Persist allowed tools across sessions
|
|
65
|
+
|
|
66
|
+
# Tool policies optimized for coding workflows
|
|
67
|
+
toolPolicies:
|
|
68
|
+
# Tools that never require approval (safe, read-only operations)
|
|
69
|
+
alwaysAllow:
|
|
70
|
+
- internal--ask_user
|
|
71
|
+
- internal--read_file # Read files without approval
|
|
72
|
+
- internal--glob_files # Search for files without approval
|
|
73
|
+
- internal--grep_content # Search within files without approval
|
|
74
|
+
- internal--bash_output # Check background process output
|
|
75
|
+
- internal--kill_process # Kill processes without approval
|
|
76
|
+
|
|
77
|
+
# Tools that are always denied (dangerous operations)
|
|
78
|
+
# Uncomment to restrict certain operations
|
|
79
|
+
# alwaysDeny:
|
|
80
|
+
# - internal--bash_exec--rm -rf* # Prevent recursive deletion
|
|
81
|
+
|
|
82
|
+
# Internal tools - all coding tools enabled
|
|
83
|
+
internalTools:
|
|
84
|
+
- ask_user # Ask questions and collect input
|
|
85
|
+
- read_file # Read file contents with pagination support
|
|
86
|
+
- glob_files # Find files using glob patterns (e.g., "**/*.ts")
|
|
87
|
+
- grep_content # Search file contents using regex patterns
|
|
88
|
+
- write_file # Write content to files (requires approval)
|
|
89
|
+
- edit_file # Edit files by replacing text (requires approval)
|
|
90
|
+
- bash_exec # Execute shell commands (requires approval)
|
|
91
|
+
- bash_output # Retrieve output from background processes
|
|
92
|
+
- kill_process # Terminate background processes
|
|
93
|
+
|
|
94
|
+
# Internal resources configuration - expanded for coding projects
|
|
95
|
+
internalResources:
|
|
96
|
+
enabled: true
|
|
97
|
+
resources:
|
|
98
|
+
# Filesystem resource - comprehensive file access for coding
|
|
99
|
+
- type: filesystem
|
|
100
|
+
paths: ["."]
|
|
101
|
+
maxFiles: 500 # Increased for larger codebases
|
|
102
|
+
maxDepth: 10 # Deeper traversal for nested projects
|
|
103
|
+
includeHidden: true # Include hidden files (.env, .gitignore, etc.)
|
|
104
|
+
includeExtensions:
|
|
105
|
+
# Web development
|
|
106
|
+
- .js
|
|
107
|
+
- .jsx
|
|
108
|
+
- .ts
|
|
109
|
+
- .tsx
|
|
110
|
+
- .html
|
|
111
|
+
- .css
|
|
112
|
+
- .scss
|
|
113
|
+
- .sass
|
|
114
|
+
- .less
|
|
115
|
+
- .vue
|
|
116
|
+
- .svelte
|
|
117
|
+
# Backend languages
|
|
118
|
+
- .py
|
|
119
|
+
- .java
|
|
120
|
+
- .go
|
|
121
|
+
- .rs
|
|
122
|
+
- .rb
|
|
123
|
+
- .php
|
|
124
|
+
- .c
|
|
125
|
+
- .cpp
|
|
126
|
+
- .h
|
|
127
|
+
- .hpp
|
|
128
|
+
- .cs
|
|
129
|
+
- .swift
|
|
130
|
+
- .kt
|
|
131
|
+
# Shell and config
|
|
132
|
+
- .sh
|
|
133
|
+
- .bash
|
|
134
|
+
- .zsh
|
|
135
|
+
- .fish
|
|
136
|
+
# Config and data
|
|
137
|
+
- .json
|
|
138
|
+
- .yaml
|
|
139
|
+
- .yml
|
|
140
|
+
- .toml
|
|
141
|
+
- .xml
|
|
142
|
+
- .ini
|
|
143
|
+
- .env
|
|
144
|
+
# Documentation
|
|
145
|
+
- .md
|
|
146
|
+
- .mdx
|
|
147
|
+
- .txt
|
|
148
|
+
- .rst
|
|
149
|
+
# Build and package files
|
|
150
|
+
- .gradle
|
|
151
|
+
- .maven
|
|
152
|
+
- .dockerignore
|
|
153
|
+
- .gitignore
|
|
154
|
+
|
|
155
|
+
# Blob resource - for handling build artifacts, images, etc.
|
|
156
|
+
- type: blob
|
|
157
|
+
|
|
158
|
+
# Starter prompts - coding-focused examples
|
|
159
|
+
starterPrompts:
|
|
160
|
+
- id: analyze-codebase
|
|
161
|
+
title: "🔍 Analyze Codebase"
|
|
162
|
+
description: "Get an overview of the project structure"
|
|
163
|
+
prompt: "Analyze this codebase. Show me the project structure, main technologies used, and provide a high-level overview."
|
|
164
|
+
category: analysis
|
|
165
|
+
priority: 10
|
|
166
|
+
- id: implement-feature
|
|
167
|
+
title: "✨ Implement Feature"
|
|
168
|
+
description: "Build a new feature from scratch"
|
|
169
|
+
prompt: "Help me implement a new feature. I'll describe what I need, and you can design and implement it following best practices."
|
|
170
|
+
category: development
|
|
171
|
+
priority: 9
|
|
172
|
+
- id: write-tests
|
|
173
|
+
title: "🧪 Write Tests"
|
|
174
|
+
description: "Generate unit tests for code"
|
|
175
|
+
prompt: "Help me write comprehensive unit tests. Identify the testing framework and create tests that cover edge cases."
|
|
176
|
+
category: testing
|
|
177
|
+
priority: 8
|
|
178
|
+
- id: refactor-code
|
|
179
|
+
title: "♻️ Refactor Code"
|
|
180
|
+
description: "Improve code quality and structure"
|
|
181
|
+
prompt: "Help me refactor some code to improve its structure, readability, and maintainability while preserving functionality."
|
|
182
|
+
category: refactoring
|
|
183
|
+
priority: 7
|
|
184
|
+
|
|
185
|
+
## Alternative LLM configurations for coding
|
|
186
|
+
|
|
187
|
+
## Claude Sonnet (excellent for coding)
|
|
188
|
+
# llm:
|
|
189
|
+
# provider: anthropic
|
|
190
|
+
# model: claude-sonnet-4-20250514
|
|
191
|
+
# apiKey: $ANTHROPIC_API_KEY
|
|
192
|
+
|
|
193
|
+
## Google Gemini (strong coding capabilities)
|
|
194
|
+
# llm:
|
|
195
|
+
# provider: google
|
|
196
|
+
# model: gemini-2.5-pro
|
|
197
|
+
# apiKey: $GOOGLE_GENERATIVE_AI_API_KEY
|
|
198
|
+
|
|
199
|
+
## OpenAI o1 (for complex reasoning tasks)
|
|
200
|
+
# llm:
|
|
201
|
+
# provider: openai
|
|
202
|
+
# model: o1
|
|
203
|
+
# apiKey: $OPENAI_API_KEY
|
|
@@ -111,9 +111,48 @@ systemPrompt:
|
|
|
111
111
|
source: dateTime
|
|
112
112
|
enabled: true
|
|
113
113
|
|
|
114
|
+
# Storage configuration
|
|
115
|
+
storage:
|
|
116
|
+
cache:
|
|
117
|
+
type: in-memory
|
|
118
|
+
database:
|
|
119
|
+
type: sqlite
|
|
120
|
+
blob:
|
|
121
|
+
type: local
|
|
122
|
+
maxBlobSize: 52428800 # 50MB per blob
|
|
123
|
+
maxTotalSize: 1073741824 # 1GB total storage
|
|
124
|
+
cleanupAfterDays: 30
|
|
125
|
+
|
|
114
126
|
# LLM configuration for intelligent database interactions
|
|
115
127
|
llm:
|
|
116
128
|
provider: openai
|
|
117
|
-
model: gpt-
|
|
129
|
+
model: gpt-5-mini
|
|
118
130
|
apiKey: $OPENAI_API_KEY
|
|
119
|
-
temperature: 0.1 # Lower temperature for more consistent database operations
|
|
131
|
+
temperature: 0.1 # Lower temperature for more consistent database operations
|
|
132
|
+
|
|
133
|
+
# Starter prompts - database interaction examples
|
|
134
|
+
starterPrompts:
|
|
135
|
+
- id: explore-database
|
|
136
|
+
title: "🔍 Explore Database"
|
|
137
|
+
description: "See what's in the database"
|
|
138
|
+
prompt: "Show me what tables exist in the database and their structure."
|
|
139
|
+
category: exploration
|
|
140
|
+
priority: 10
|
|
141
|
+
- id: create-table
|
|
142
|
+
title: "🗂️ Create Table"
|
|
143
|
+
description: "Design and create a new database table"
|
|
144
|
+
prompt: "Create a products table with columns for name, description, price, and stock quantity."
|
|
145
|
+
category: schema
|
|
146
|
+
priority: 9
|
|
147
|
+
- id: insert-data
|
|
148
|
+
title: "➕ Insert Data"
|
|
149
|
+
description: "Add new records to a table"
|
|
150
|
+
prompt: "Insert a new product into the products table with name 'Laptop', price 999.99, and stock 15."
|
|
151
|
+
category: data-management
|
|
152
|
+
priority: 8
|
|
153
|
+
- id: query-data
|
|
154
|
+
title: "📊 Query Data"
|
|
155
|
+
description: "Search and filter database records"
|
|
156
|
+
prompt: "Show me all products from the products table sorted by price."
|
|
157
|
+
category: queries
|
|
158
|
+
priority: 7
|
|
@@ -41,7 +41,7 @@ systemPrompt:
|
|
|
41
41
|
pinnedOnly: false
|
|
42
42
|
|
|
43
43
|
# Optional greeting shown at chat start (UI can consume this)
|
|
44
|
-
greeting: "Hi! I
|
|
44
|
+
greeting: "Hi! I'm Dexto — how can I help today?"
|
|
45
45
|
|
|
46
46
|
# LLM configuration - describes the language model to use
|
|
47
47
|
llm:
|
|
@@ -49,6 +49,15 @@ llm:
|
|
|
49
49
|
model: gpt-5-mini
|
|
50
50
|
apiKey: $OPENAI_API_KEY
|
|
51
51
|
|
|
52
|
+
# Optional: Control which media types are expanded for LLM consumption
|
|
53
|
+
# If omitted, uses model capabilities from registry (recommended default)
|
|
54
|
+
# Supports MIME patterns with wildcards (e.g., "image/*", "video/mp4")
|
|
55
|
+
# allowedMediaTypes:
|
|
56
|
+
# - "image/*" # All images (png, jpg, gif, etc.)
|
|
57
|
+
# - "application/pdf" # PDF documents
|
|
58
|
+
# - "audio/*" # All audio formats
|
|
59
|
+
# Note: Unsupported types become descriptive placeholders like: [Video: demo.mp4 (5.2 MB)]
|
|
60
|
+
|
|
52
61
|
storage:
|
|
53
62
|
cache:
|
|
54
63
|
type: in-memory
|
|
@@ -67,6 +76,21 @@ toolConfirmation:
|
|
|
67
76
|
timeout: 120000 # Time to wait for approval (ms)
|
|
68
77
|
allowedToolsStorage: memory # 'memory' or 'storage' for persisting allowed tools
|
|
69
78
|
|
|
79
|
+
# Optional: Static tool policies for fine-grained allow/deny control
|
|
80
|
+
toolPolicies:
|
|
81
|
+
# Tools that never require approval (low-risk, common operations)
|
|
82
|
+
alwaysAllow:
|
|
83
|
+
- internal--ask_user
|
|
84
|
+
- mcp--read_file
|
|
85
|
+
- mcp--list_directory
|
|
86
|
+
- mcp--list_allowed_directories
|
|
87
|
+
#
|
|
88
|
+
# # Tools that are always denied (high-risk, destructive operations)
|
|
89
|
+
# # Deny list takes precedence over allow list
|
|
90
|
+
# alwaysDeny:
|
|
91
|
+
# - mcp--filesystem--delete_file
|
|
92
|
+
# - mcp--playwright--execute_script
|
|
93
|
+
|
|
70
94
|
# Internal tools - built-in Dexto capabilities
|
|
71
95
|
internalTools:
|
|
72
96
|
- ask_user # Allows the agent to ask you questions and collect structured input
|
|
@@ -118,8 +142,6 @@ internalResources:
|
|
|
118
142
|
# # enforceQuota: true
|
|
119
143
|
|
|
120
144
|
# Starter prompts - predefined prompts that appear as clickable buttons in the WebUI
|
|
121
|
-
# TODO: (355) Have to update docs for this starterPrompts and internalResources section and blob section
|
|
122
|
-
# https://github.com/truffle-ai/dexto/pull/355#discussion_r2412886278
|
|
123
145
|
starterPrompts:
|
|
124
146
|
- id: quick-start
|
|
125
147
|
title: "📚 Quick Start Guide"
|
|
@@ -146,6 +168,18 @@ starterPrompts:
|
|
|
146
168
|
category: tools
|
|
147
169
|
priority: 3
|
|
148
170
|
|
|
171
|
+
# Telemetry configuration (optional) - OpenTelemetry for distributed tracing
|
|
172
|
+
# telemetry:
|
|
173
|
+
# serviceName: dexto-default-agent
|
|
174
|
+
# enabled: true
|
|
175
|
+
# tracerName: dexto-tracer
|
|
176
|
+
# export:
|
|
177
|
+
# type: otlp # 'otlp' for production, 'console' for development
|
|
178
|
+
# protocol: http # 'http' or 'grpc'
|
|
179
|
+
# endpoint: http://127.0.0.1:4318/v1/traces # OTLP collector endpoint
|
|
180
|
+
# headers: # Optional headers for authentication
|
|
181
|
+
# Authorization: Bearer <token>
|
|
182
|
+
|
|
149
183
|
## To use Google Gemini, replace the LLM section with Google Gemini configuration below
|
|
150
184
|
## Similar for anthropic/groq/etc.
|
|
151
185
|
# llm:
|
|
@@ -53,8 +53,47 @@ systemPrompt:
|
|
|
53
53
|
source: dateTime
|
|
54
54
|
enabled: true
|
|
55
55
|
|
|
56
|
+
# Storage configuration
|
|
57
|
+
storage:
|
|
58
|
+
cache:
|
|
59
|
+
type: in-memory
|
|
60
|
+
database:
|
|
61
|
+
type: sqlite
|
|
62
|
+
blob:
|
|
63
|
+
type: local
|
|
64
|
+
maxBlobSize: 52428800 # 50MB per blob
|
|
65
|
+
maxTotalSize: 1073741824 # 1GB total storage
|
|
66
|
+
cleanupAfterDays: 30
|
|
67
|
+
|
|
56
68
|
llm:
|
|
57
69
|
provider: openai
|
|
58
70
|
model: gpt-5-mini
|
|
59
71
|
apiKey: $OPENAI_API_KEY
|
|
60
72
|
|
|
73
|
+
# Starter prompts - GitHub operations examples
|
|
74
|
+
starterPrompts:
|
|
75
|
+
- id: repo-info
|
|
76
|
+
title: "📊 Repository Info"
|
|
77
|
+
description: "Get details about the Dexto repository"
|
|
78
|
+
prompt: "Show me information about the truffle-ai/dexto repository including stars, forks, and recent activity."
|
|
79
|
+
category: info
|
|
80
|
+
priority: 10
|
|
81
|
+
- id: list-issues
|
|
82
|
+
title: "📋 List Issues"
|
|
83
|
+
description: "View open issues in Dexto"
|
|
84
|
+
prompt: "List all open issues in the truffle-ai/dexto repository."
|
|
85
|
+
category: issues
|
|
86
|
+
priority: 9
|
|
87
|
+
- id: star-dexto
|
|
88
|
+
title: "⭐ Star Dexto"
|
|
89
|
+
description: "Star the Dexto repository"
|
|
90
|
+
prompt: "Star the truffle-ai/dexto repository on GitHub."
|
|
91
|
+
category: engagement
|
|
92
|
+
priority: 8
|
|
93
|
+
- id: recent-commits
|
|
94
|
+
title: "📝 Recent Commits"
|
|
95
|
+
description: "View latest commits to Dexto"
|
|
96
|
+
prompt: "Show me the recent commits to the truffle-ai/dexto repository."
|
|
97
|
+
category: activity
|
|
98
|
+
priority: 7
|
|
99
|
+
|
|
@@ -37,7 +37,7 @@ toolConfirmation:
|
|
|
37
37
|
|
|
38
38
|
llm:
|
|
39
39
|
provider: openai
|
|
40
|
-
model: gpt-
|
|
40
|
+
model: gpt-5-mini
|
|
41
41
|
apiKey: $OPENAI_API_KEY
|
|
42
42
|
|
|
43
43
|
storage:
|
|
@@ -45,4 +45,8 @@ storage:
|
|
|
45
45
|
type: in-memory
|
|
46
46
|
database:
|
|
47
47
|
type: sqlite
|
|
48
|
-
|
|
48
|
+
blob:
|
|
49
|
+
type: local
|
|
50
|
+
maxBlobSize: 52428800 # 50MB per blob
|
|
51
|
+
maxTotalSize: 1073741824 # 1GB total storage
|
|
52
|
+
cleanupAfterDays: 30
|
|
@@ -35,7 +35,7 @@ mcpServers:
|
|
|
35
35
|
|
|
36
36
|
llm:
|
|
37
37
|
provider: openai
|
|
38
|
-
model: gpt-
|
|
38
|
+
model: gpt-5-mini
|
|
39
39
|
apiKey: $OPENAI_API_KEY
|
|
40
40
|
|
|
41
41
|
storage:
|
|
@@ -43,4 +43,35 @@ storage:
|
|
|
43
43
|
type: in-memory
|
|
44
44
|
database:
|
|
45
45
|
type: sqlite
|
|
46
|
-
|
|
46
|
+
blob:
|
|
47
|
+
type: local
|
|
48
|
+
maxBlobSize: 52428800 # 50MB per blob
|
|
49
|
+
maxTotalSize: 1073741824 # 1GB total storage
|
|
50
|
+
cleanupAfterDays: 30
|
|
51
|
+
|
|
52
|
+
# Starter prompts - music creation examples
|
|
53
|
+
starterPrompts:
|
|
54
|
+
- id: create-melody
|
|
55
|
+
title: "🎼 Create Melody"
|
|
56
|
+
description: "Generate a musical melody"
|
|
57
|
+
prompt: "Create a cheerful melody in G major at 140 BPM that lasts 15 seconds."
|
|
58
|
+
category: generation
|
|
59
|
+
priority: 10
|
|
60
|
+
- id: create-chords
|
|
61
|
+
title: "🎹 Create Chord Progression"
|
|
62
|
+
description: "Generate chord progressions"
|
|
63
|
+
prompt: "Create a I-IV-V-I chord progression in D major."
|
|
64
|
+
category: generation
|
|
65
|
+
priority: 9
|
|
66
|
+
- id: create-drums
|
|
67
|
+
title: "🥁 Create Drum Pattern"
|
|
68
|
+
description: "Generate drum patterns"
|
|
69
|
+
prompt: "Create a basic rock drum pattern at 120 BPM."
|
|
70
|
+
category: generation
|
|
71
|
+
priority: 8
|
|
72
|
+
- id: list-effects
|
|
73
|
+
title: "🎚️ List Available Effects"
|
|
74
|
+
description: "See what audio effects are available"
|
|
75
|
+
prompt: "Show me all available audio effects and how to use them."
|
|
76
|
+
category: discovery
|
|
77
|
+
priority: 7
|
|
@@ -68,4 +68,35 @@ storage:
|
|
|
68
68
|
type: in-memory
|
|
69
69
|
database:
|
|
70
70
|
type: sqlite
|
|
71
|
-
|
|
71
|
+
blob:
|
|
72
|
+
type: local
|
|
73
|
+
maxBlobSize: 52428800 # 50MB per blob
|
|
74
|
+
maxTotalSize: 1073741824 # 1GB total storage
|
|
75
|
+
cleanupAfterDays: 30
|
|
76
|
+
|
|
77
|
+
# Starter prompts - image generation and editing examples
|
|
78
|
+
starterPrompts:
|
|
79
|
+
- id: generate-landscape
|
|
80
|
+
title: "🎨 Generate Landscape"
|
|
81
|
+
description: "Create a scenic image from text"
|
|
82
|
+
prompt: "Generate a stunning image of a majestic mountain landscape at sunset with vibrant colors and dramatic clouds."
|
|
83
|
+
category: generation
|
|
84
|
+
priority: 10
|
|
85
|
+
- id: generate-portrait
|
|
86
|
+
title: "👤 Generate Portrait"
|
|
87
|
+
description: "Create portrait images"
|
|
88
|
+
prompt: "Generate a professional portrait of a person in business attire with a clean studio background."
|
|
89
|
+
category: generation
|
|
90
|
+
priority: 9
|
|
91
|
+
- id: generate-abstract
|
|
92
|
+
title: "🌀 Generate Abstract Art"
|
|
93
|
+
description: "Create abstract artistic images"
|
|
94
|
+
prompt: "Generate an abstract art piece with swirling colors and geometric patterns inspired by Kandinsky."
|
|
95
|
+
category: generation
|
|
96
|
+
priority: 8
|
|
97
|
+
- id: generate-product
|
|
98
|
+
title: "📦 Generate Product Image"
|
|
99
|
+
description: "Create product photography"
|
|
100
|
+
prompt: "Generate a professional product photo of a sleek modern smartphone on a minimalist white background."
|
|
101
|
+
category: generation
|
|
102
|
+
priority: 7
|
|
@@ -66,7 +66,7 @@ This agent uses the refactored Gemini TTS MCP server to generate high-quality sp
|
|
|
66
66
|
|
|
67
67
|
2. **Run the Agent**:
|
|
68
68
|
```bash
|
|
69
|
-
dexto
|
|
69
|
+
dexto -a agents/podcast-agent/podcast-agent.yml
|
|
70
70
|
```
|
|
71
71
|
|
|
72
72
|
The agent will automatically install the Gemini TTS MCP server from npm when needed.
|