| src | ||
| CONTRIBUTING.md | ||
| package.json | ||
| README.md | ||
Alfred Agent
Autonomous AI agent runtime — 1,870 lines, 8 source files, 14 tools, multi-provider.
The standalone agent that powers AI capabilities across Alfred Linux and Alfred IDE. Handles tool-calling loops, multi-provider LLM routing, session persistence, and a 7-section system prompt. Runs as a PM2 service or interactive CLI.
Architecture
- Multi-provider: Anthropic Claude, OpenAI GPT, Groq (via OpenAI-compatible adapter)
- 14 built-in tools: File I/O, web search, shell execution, code analysis, workflow hooks
- Session persistence: Full conversation history stored to disk as JSON
- 7-section system prompt: Identity, capabilities, tool descriptions, safety guardrails, context, reasoning, output formatting
- Core loop: Autonomous tool-calling with reasoning → action → observation cycle
Source Files (1,870 lines total)
| File | Lines | Purpose |
|---|---|---|
src/tools.js |
542 | 14 tool definitions — file read/write, search, shell exec, code analysis |
src/hooks.js |
334 | Lifecycle hooks — pre/post tool execution, response filtering |
src/cli.js |
205 | Interactive CLI with streaming output |
src/agent.js |
196 | Core agent loop — tool calling, reasoning, response synthesis |
src/prompt.js |
174 | 7-section system prompt builder |
src/index.js |
156 | HTTP server (port 3102), health check, message endpoints |
src/session.js |
141 | Session manager with disk persistence |
src/providers.js |
122 | LLM provider abstraction (Anthropic, OpenAI, Groq adapters) |
Running
# CLI mode
OPENAI_API_KEY=... node src/cli.js --provider openai --model gpt-4o-mini -m "hello"
# Server mode (PM2)
pm2 start src/index.js --name alfred-agent
# Health: curl http://127.0.0.1:3102/health
Design Decisions
- No framework: Pure Node.js, no Express, no LangChain, no abstractions-for-abstractions
- Provider-agnostic: Same agent loop works with any OpenAI-compatible API
- Stateful sessions: Every conversation persists to
data/sessions/— no lost context - Tool-first: Agent reasons about WHAT to do, tools handle HOW
License
AGPL-3.0 — GoSiteMe Inc.