fss-link
v1.7.7
Published
A CLI coding agent forked from QwenCode, rebuilt around local-first model support and practical tooling for a solo developer's workflow.
Readme
FSS Link
A CLI coding agent forked from QwenCode, rebuilt around local-first model support and practical tooling for a solo developer's workflow.
What it does
FSS Link is a terminal-based AI assistant that reads your codebase, runs tools, and helps you build software. It connects to local models (LM Studio, vLLM) or cloud APIs (OpenAI, Gemini) and gives the model access to file operations, web scraping, search, and shell commands.
It exists because the upstream project assumed cloud-only usage. This fork adds:
- Local model priority — LM Studio and vLLM as first-class providers, not afterthoughts
- Database-backed model config — switch models via CLI flags, settings persist across sessions
- Web scraper tool — search and extract web content from within the agent
- TTS integration — audio feedback during long-running tasks via multi-voice TTS
- Image generation tool — generate images via CLI from within the agent
- Vision support — send images to vision-capable models with automatic format conversion and resizing
- Custom agents — named agent personalities with distinct roles (research, testing, implementation, etc.)
- Private IP support — works with vLLM/LM Studio on local network without SSL errors
Installation
Requires Node.js 20+.
# From npm
npm install -g fss-link
# From source
git clone https://github.com/FSScoding/fss-link.git
cd fss-link
npm install
npm run build
npm run bundle
sudo npm install -g .Usage
# Interactive mode
fss-link
# One-shot prompt
fss-link -p "refactor the error handling in src/api.ts"
# Specify provider and model
fss-link --provider lm-studio --model qwen3-coder:latest
fss-link --provider openai-api-key --model gpt-4o -p "review this PR"
# Non-interactive with auto-approval
fss-link -p "fix the failing tests" --approval-mode yoloSlash commands
| Command | Description |
|---|---|
| /setup-search | Configure Brave Search and Tavily API keys for web search |
| /auth | Set up authentication method and model |
| /model | Switch between available models |
| /theme | Change the UI theme |
| /help | List all available slash commands |
Providers
| Provider | Flag | Notes |
|---|---|---|
| LM Studio | --provider lm-studio | Local, port 1234 |
| vLLM / OpenAI-compatible | --provider ollama | Local or network |
| OpenAI | --provider openai-api-key | Requires OPENAI_API_KEY |
| Gemini | --provider gemini-api-key | Requires GEMINI_API_KEY |
| BobAI Proxy | --provider bob-ai | Custom proxy endpoint |
| Vertex AI | --provider vertex-ai | Google Cloud |
Model and provider settings persist to a local SQLite database. Once set, you don't need to specify them again.
Configuration hierarchy
- CLI flags (
--provider,--model) — highest priority - Database — persistent settings from previous sessions
- Environment variables — traditional fallback
Project structure
packages/
cli/ # CLI entry point, config, model management
core/ # Tools, services, content generation, utilities
fss-tools/
webscraper/ # Python-based web scraper with search integration
scripts/ # Build and utility scripts
docs/ # Published documentation
fss-docs/ # Internal development referenceBuilding from source
# Bundle (esbuild, bundles directly from TS source)
npm run bundle
# Install globally
sudo npm install -g .esbuild bundles directly from TypeScript source into bundle/fss-link.js. Do not run bare tsc — see issue #64.
Current version
v1.7.7 — see CHANGELOG.md for history.
License
Acknowledgments
FSS Link is a hard fork of QwenCode, which builds on Google Gemini CLI.
