Farshid Local Folder Prompt — VS Code Extension
Chat with local Ollama models directly inside VS Code.
Text, images, PDFs and Word docs as attachments. Optional local web search.
100% offline (except for the optional web search).
- Package name:
farshid-local-folder-prompt
Features
- Assistants: edit/create/delete personas (name, emoji, model, system prompt). Defaults seeded on first launch.
- Chats per assistant, persisted to extension global storage.
- Streaming chat responses from Ollama.
- Attachments: text files (read inline), images (base64 → vision models), PDFs (text via
pdf-parse), Word docs (mammoth).
- Web search via a local SearXNG instance — toggle the 🌐 button.
- Scheduled tasks: schedule a prompt + attachments to run later. The scheduler runs in the extension host.
- Drag & drop files onto the message area.
Prerequisites
1. Install Ollama
Download from ollama.com/download, then verify:
ollama --version
ollama serve # usually started automatically by the desktop app
The extension talks to http://127.0.0.1:11434 by default (override via
folderChat.ollamaUrl).
2. Pull recommended models
You need at least one chat model. The two below cover the common cases on a modest
laptop:
# Multimodal — assistants that accept image / PDF / DOC / TXT inputs
ollama pull minicpm-v:latest
# Lightweight tool-calling / general chat — fast, good for agents and quick replies
ollama pull qwen3:0.6b
Suggested role mapping when creating assistants in the UI:
| Assistant kind |
Recommended model |
Why |
| Vision / multi-input (image, PDF, DOC, TXT) |
minicpm-v:latest |
Vision-capable, accepts base64 image attachments |
| Tool-calling agent / quick chat |
qwen3:0.6b |
Small, fast, supports tool calls |
You can pull any other Ollama model (llama3.2, qwen2.5:7b, granite4, …) and
pick it from the assistant's model dropdown.
3. (Optional) SearXNG for web search
If you want the 🌐 web-search button, run a local SearXNG on http://127.0.0.1:8888
(override via folderChat.searxngUrl). See the SearXNG docs.
Install / develop
npm install
npm run build
Then in VS Code: open this folder and launch the Extension Development Host.
The default VS Code shortcut is F5, but it conflicts with many other tools.
This project uses Alt + Ctrl + Shift + F11 (same combo on macOS and Windows)
instead.
Add this once to your user keybindings.json
(Command Palette → Preferences: Open Keyboard Shortcuts (JSON)):
[
{
"key": "alt+ctrl+shift+f11",
"mac": "alt+ctrl+shift+f11",
"command": "workbench.action.debug.start",
"when": "debuggersAvailable && debugState == 'inactive'"
},
{
"key": "alt+ctrl+shift+f11",
"mac": "alt+ctrl+shift+f11",
"command": "workbench.action.debug.stop",
"when": "inDebugMode"
}
]
After that, Alt + Ctrl + Shift + F11 launches (and stops) the Extension
Development Host. Open the Folder Chat view from the activity bar (the
comment-discussion icon), or run the command Folder Chat: Open Panel.
Package & install
Build a local .vsix:
npx @vscode/vsce package
# → farshid-local-folder-prompt-0.1.4.vsix
Install it into VS Code:
code --install-extension farshid-local-folder-prompt-0.1.4.vsix
Settings
| Setting |
Default |
Purpose |
folderChat.ollamaUrl |
http://127.0.0.1:11434 |
Local Ollama base URL |
folderChat.searxngUrl |
http://127.0.0.1:8888 |
Local SearXNG base URL |
folderChat.maxExtractChars |
20000 |
Truncate per-attachment text |
Storage
All extension state (assistants, chats, scheduled tasks, settings, attachments,
…) is saved under a single user-level folder:
~/.farshid/local-folder-prompt/
assistants.json # personas
chats.json # chat history per assistant
tasks.json # scheduled tasks
settings.json # user-level overrides
attachments/ # cached extracted files