Balkan AI Bot (VS Code OpenWebUI Extension)
VS Code extension that connects to Open WebUI and adds chat-driven local tooling workflows (Blender, Unreal, GIMP, FFmpeg, etc.) with role-aware permissions.
About
OpenWebUI VS Code extension by Beli1905
Current Version
- Extension version:
1.0.96
- Extension ID:
Beli1905.vscode-openwebui-bot
- Main package entry:
./out/extension.js
What Was Fixed In 1.0.96
- Fixed
openwebui.baseUrl handling when the setting is saved without a scheme, so values like zeljezarija.3utilities:3000 are now normalized to http://zeljezarija.3utilities:3000.
- Model loading, chat requests, and webview CSP now use the same normalized base URL, which fixes the model-load timeout/error seen with external Open WebUI addresses.
OpenWebUI Setup (HR/EN)
OpenWebUI link:
http://zeljezarija.3utilities.com:3000/
Hrvatski
- Otvori gornji link i registriraj korisnika (email + lozinka).
- Nakon registracije prijavi se u OpenWebUI.
- U donjem lijevom uglu otvori Postavke (
Settings).
- Idi na
Account i izradi API ključ (Create API Key).
- U VS Code otvori Command Palette i pokreni:
OpenWebUI Bot: Set API Key (Secure).
- Zalijepi API ključ u prompt. Ključ se sprema u VS Code Secret Storage i nije vidljiv u postavkama.
Ako API ključ nije postavljen, ekstenzija neće raditi ispravno.
English
- Open the link above and register a user account (email + password).
- After registration, sign in to OpenWebUI.
- In the lower-left corner, open
Settings.
- Go to
Account and create an API key (Create API Key).
- In VS Code, open Command Palette and run:
OpenWebUI Bot: Set API Key (Secure).
- Paste the API key into the prompt. The key is stored in VS Code Secret Storage and is not visible in settings.
If the API key is not set, the extension will not work properly.
What Was Added In This Iteration
Implemented multiple ways to open Tools so it is always reachable:
- Top toolbar icon:
🧰
- Input row button:
🧰 Alati
- Spotlight quick-action button under header:
🧰 Alati
- Command Palette command:
OpenWebUI Bot: Alati Panel
- Slash command:
/tools
Related command added:
Preset catalog and execution flow added for:
- Blender
- Unreal Engine
- GIMP
- FFmpeg
- Filmora
- Notepad++
- Paint 3D
Each preset execution is protected by mandatory confirmation before run.
Added policy map by model (toolPolicyByModel) with UI toggles and slash command control.
Slash support:
/tool <tool> on|off [model]
/preset <tool> <preset> key=value ...
4. OpenWebUI Role/Permission Sync
Extension now fetches current OpenWebUI user context and applies permissions in extension UI and backend:
- Roles: owner / admin / user
- Owner/Admin: full local tool run + manage policy
- User: allowed/blocked by OpenWebUI permissions
UI shows role label and disables controls when permission is missing.
5. Blender Automation Workflow (Image + Optional Audio)
Implemented automatic local workflow for prompts like "napravi animaciju i sound u blenderu" when image is attached.
Implemented behavior
- Detects Blender animation intent in chat input
- Uses real local attachment paths
- Auto-runs Blender preset
image-to-animation
- Keeps confirmation gate before command execution
Blender image-to-animation preset now includes
- Ken Burns style motion (pan + zoom + eased keyframes)
- Optional audio import to VSE timeline
- Scene duration auto-sync to audio strip duration (when audio exists)
- Optional auto-render to MP4
- Saves output
.blend
- Runs Blender in clean mode:
--factory-startup
--disable-autoexec
- Blender 4.2 compatibility fix:
- uses
BLENDER_EEVEE_NEXT with fallback to BLENDER_WORKBENCH
6. New/Updated Presets
Blender
render-scene
render-animation-range
image-to-animation
run-python
open-project
Unreal Engine
open-project
run-python
build-map
GIMP
FFmpeg
Build, Package, Install
npm run build
npm run package
code --install-extension ".\vscode-openwebui-bot-<version>.vsix" --force
Used repeatedly in this iteration up to:
vscode-openwebui-bot-1.0.96.vsix
Quick Test
- Reload VS Code window:
- Open extension panel
- Attach image (and optional audio)
- Send prompt:
napravi animaciju i sound u blenderu
- Confirm command execution in popup
- Check output files (same folder as source image by default):
*-openwebui.blend
*-openwebui.mp4
Important Notes
- If no audio is attached, video animation still runs, but no audio sync is applied.
- Many noisy logs from other VS Code extensions are unrelated to this extension workflow.
- This extension enforces confirmation and role permissions in backend, not only UI.