You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
- 📈 **Streamlit Developer** - Data apps and dashboards
63
+
- 🎯 **Gradio Developer** - ML model interfaces
33
64
34
-
This is an open-source version of apps like [Anthropic's Claude Artifacts](https://www.anthropic.com/news/claude-3-5-sonnet), Vercel [v0](https://v0.dev), or [GPT Engineer](https://gptengineer.app).
65
+
### Built With
66
+
-**Next.js 14** (App Router, Server Actions)
67
+
-**shadcn/ui** + **TailwindCSS** for beautiful UI
68
+
-**Vercel AI SDK** for LLM streaming
69
+
-**E2B** for secure code execution
70
+
-**Supabase** for database and auth
71
+
-**TypeScript** for type safety
72
+
73
+
**⭐ Give us a star if you like this project!**
35
74
36
75
## Get started
37
76
@@ -47,23 +86,25 @@ This is an open-source version of apps like [Anthropic's Claude Artifacts](https
start_cmd = "cd /home/user && streamlit run app.py"
166
-
```
167
-
168
-
6. Deploy the template with the E2B CLI
169
-
170
-
```
171
-
e2b template build --name <template-name>
172
-
```
173
-
174
-
After the build has finished, you should get the following message:
175
-
176
-
```
177
-
✅ Building sandbox template <template-id> <template-name> finished.
178
-
```
179
-
180
-
7. Open [lib/templates.json](lib/templates.json) in your code editor.
181
-
182
-
Add your new template to the list. Here's an example for Streamlit:
183
-
184
-
```json
185
-
"streamlit-developer": {
186
-
"name": "Streamlit developer",
187
-
"lib": [
188
-
"streamlit",
189
-
"pandas",
190
-
"numpy",
191
-
"matplotlib",
192
-
"request",
193
-
"seaborn",
194
-
"plotly"
195
-
],
196
-
"file": "app.py",
197
-
"instructions": "A streamlit app that reloads automatically.",
198
-
"port": 8501 // can be null
199
-
},
200
-
```
201
-
202
-
Provide a template id (as key), name, list of dependencies, entrypoint and a port (optional). You can also add additional instructions that will be given to the LLM.
203
-
204
-
4. Optionally, add a new logo under [public/thirdparty/templates](public/thirdparty/templates)
205
-
206
-
### Adding custom LLM models
207
-
208
-
1. Open [lib/models.json](lib/models.ts) in your code editor.
209
-
210
-
2. Add a new entry to the models list:
211
-
212
-
```json
213
-
{
214
-
"id": "mistral-large",
215
-
"name": "Mistral Large",
216
-
"provider": "Ollama",
217
-
"providerId": "ollama"
218
-
}
219
-
```
220
-
221
-
Where id is the model id, name is the model name (visible in the UI), provider is the provider name and providerId is the provider tag (see [adding providers](#adding-custom-llm-providers) below).
222
-
223
-
### Adding custom LLM providers
224
-
225
-
1. Open [lib/models.ts](lib/models.ts) in your code editor.
3. Optionally, adjust the default structured output mode in the `getDefaultMode` function:
178
+
### 5. Build the applications
236
179
237
-
```ts
238
-
if (providerId === 'fireworks') {
239
-
return 'json'
240
-
}
241
-
```
180
+
**Web App:**
181
+
```
182
+
pnpm build
183
+
```
242
184
243
-
4. Optionally, add a new logo under [public/thirdparty/logos](public/thirdparty/logos)
185
+
**Desktop App:**
186
+
```
187
+
pnpm desktop:build # Build all platforms
188
+
pnpm desktop:build:mac # macOS only
189
+
pnpm desktop:build:win # Windows only
190
+
pnpm desktop:build:linux # Linux only
191
+
```
244
192
245
193
## Contributing
246
194
247
195
As an open-source project, we welcome contributions from the community. If you are experiencing any bugs or want to add some improvements, please feel free to open an issue or pull request.
0 commit comments