ForgePilot
Health Uyari
- License — License: Apache-2.0
- Description — Repository has a description
- Active repo — Last push 0 days ago
- Low visibility — Only 7 GitHub stars
Code Uyari
- process.env — Environment variable access in scripts/start-electron.mjs
Permissions Gecti
- Permissions — No dangerous permissions requested
Bu listing icin henuz AI raporu yok.
A multi-provider desktop agent IDE for tool-using local and cloud models.
ForgePilot
ForgePilot is an Electron desktop agent workspace for local and hosted LLMs. It provides a Codex/Cursor-style chat UI, a multi-provider runtime, built-in file and terminal tools, MCP support, web research tools, and document ingestion for PDFs and office files.
The core design goal is simple: even if a model does not support native tool calling, the app can still run tools through an emulated agent envelope and continue the same workflow.
Highlights
- Multi-provider runtime
- Ollama
- OpenAI
- Anthropic
- OpenAI-compatible APIs such as LM Studio, OpenRouter, Groq, Together, DeepSeek, vLLM, and LocalAI
- Native tool calling when a provider supports it
- Emulated tool calling when a model does not support tools natively
- Workspace-scoped permissions
read_onlyaskfull_access
- Built-in tools
fs_listfs_readfs_writefs_patchfs_mkdirfs_deletesearch_textrun_commandweb_searchweb_fetch
- MCP server support from Settings
- Stdio plugin support
- Conversation search palette
- Persistent threads, settings, and runtime state
- Multi-language UI with English default
- Attachment reuse across a thread
- Cross-platform packaging targets
- Windows x64 portable
- macOS x64 + arm64
- Linux x64 AppImage + deb
- Document extraction for:
pdfdocxxlsxpptxodtodsodp
Desktop UX
- Custom top chrome with app-style controls
- Codex-inspired left rail, thread center, and progress panel
- Composer with provider, permission, model, and attachment controls
- Live progress feed for tool execution
- Approval flow for risky tools in
askmode - Change summary cards after file edits
- Structure-first web fetch with title, description, heading outline, and link previews
Architecture
src/
core/
agent/ Agent loop, tool orchestration, approvals, context management
providers/ Ollama, OpenAI-compatible, Anthropic, provider registry
tools/ Filesystem, command, search, web, document extraction
mcp/ MCP stdio integration and registry
plugins/ Stdio plugin loading
main/
main.js Electron main process and IPC
preload.js Safe renderer bridge
session-service.js
Session lifecycle, persistence, provider/model management
renderer/
app.js Main UI
styles.css Main styles
test/
unit and runtime behavior tests
plugins/
echo/ Example stdio plugin
Requirements
- Node.js
>= 24 - Electron
^35 - Ollama for local Ollama sessions
- Python 3 for structured document reading from PDFs and office files
- Python packages from
requirements-docs.txtfor PDF and Office extraction - Optional API keys for hosted providers:
- OpenAI
- Anthropic
- Any OpenAI-compatible endpoint that requires authentication
Official Platform Targets
- Windows
x64 - macOS
x64andarm64 - Linux
x64
Kali Linux is covered through the Debian-style deb package target.
Getting Started
Install dependencies:
npm install
Install document-reading Python dependencies:
python -m pip install -r requirements-docs.txt
Start the app:
node --run start
Run tests:
node --test
Build Outputs
Build for the current Windows host:
npm.cmd run build:win
Build on macOS:
npm run build:mac
Build on Linux:
npm run build:linux
Expected artifacts:
ForgePilot-<version>-win-x64.exeForgePilot-<version>-mac-x64.dmgForgePilot-<version>-mac-arm64.dmgForgePilot-<version>-linux-x64.AppImageForgePilot-<version>-linux-x64.deb
Native Release Automation
The repository includes GitHub Actions workflows for native multi-platform validation and packaging:
.github/workflows/ci.yml- runs
node --teston Windows, macOS, and Ubuntu
- runs
.github/workflows/release.yml- builds native artifacts on:
windows-latestmacos-latestubuntu-latest
- builds native artifacts on:
This is the recommended path for final macOS and Linux release artifacts, since electron-builder only supports macOS packaging on macOS and Linux distributables are most reliable on a native Linux runner.
Provider Notes
Ollama
- Best for local workflows
- Supports both native and emulated tool loops
- Make sure the Ollama service is running before opening a session
OpenAI / Anthropic
- Add API credentials in
Settings > General - Model refresh now reports missing credentials in the UI instead of crashing
OpenAI-compatible providers
Use this for local or hosted endpoints that expose an OpenAI-style API surface. Examples:
- LM Studio
- OpenRouter
- Groq
- Together
- DeepSeek
- vLLM
- LocalAI
MCP Support
You can add stdio MCP servers from Settings > MCP.
For each server you can configure:
- Name
- Command
- Arguments
- Working directory
- Environment variables
Once connected, discovered MCP tools become available to the agent runtime just like built-in tools.
Attachments and Documents
Files added in a conversation are copied into a session attachment area so the agent can reuse them in later turns. This includes documents outside the current workspace.
The runtime supports:
- Re-reading previously attached files
- Resolving attachment aliases and filename-only references
- Extracting readable text from PDFs and office documents
Web Research
ForgePilot includes two built-in web tools:
web_searchweb_fetch
web_fetch follows a structure-first approach inspired by browser automation tools such as FSB: besides plain text, it returns the page title, meta description, canonical URL, heading outline, and a compact link preview list. That gives weaker local models more reliable page context than a raw text dump alone.
Acceptance Tests
To run the real Ollama acceptance flow:
$env:RUN_OLLAMA_ACCEPTANCE='1'
node --test test/ollama-acceptance.test.js
Expected local models:
qwen3-coder-next:latesthuihui_ai/qwen3-coder-abliterated:latest
Known Limits
- Hosted provider support depends on the target endpoint correctly implementing its API contract
- Some weaker local models may still overuse search or produce unstable tool envelopes
- macOS and Linux packaging should be generated on their native host OS for the most reliable release artifacts
- UI is optimized for desktop usage first
Development Notes
- State is persisted locally between restarts
- Running tool traces are cleaned up on stop and app shutdown
- Renderer notifications are used for provider and runtime errors instead of console-spam for common user-facing issues
Yorumlar (0)
Yorum birakmak icin giris yap.
Yorum birakSonuc bulunamadi