@tom2012/one-agent
v0.1.3
Published
A modular AI agent framework with multi-LLM support, tool execution, browser/desktop control, Feishu/QQ integration, and self-evolving skills
Downloads
426
Maintainers
Readme
One Agent
A modular AI agent framework with multi-LLM support, tool execution, browser/desktop control, messaging platform integration, and self-evolving skills.
Features
- Multi-LLM: OpenAI, Anthropic, Google AI, and any OpenAI-compatible API (Ollama, OpenRouter, LiteLLM)
- Tool Execution: Shell commands, file operations, browser automation (Playwright), desktop control (macOS)
- Messaging: Feishu (Lark) and QQ bot integration via WebSocket
- Memory: Three-layer system — raw conversations, LLM-condensed summaries, knowledge graph
- Skills: YAML-defined reusable workflows with auto-creation, auto-refinement, and auto-pruning
- Multi-interface: CLI, REST API (Fastify), WebSocket
- Multi-process: Each agent runs in an isolated child process
Quick Start
npm install one-agentCLI Mode
# Set your LLM API key
export OPENAI_API_KEY=sk-...
# Or use Ollama (no key needed)
npx one-agentWeb API Mode
npx one-agent --web
# Server starts on http://0.0.0.0:3000
# Create an agent
curl -X POST http://localhost:3000/api/agents \
-H "Content-Type: application/json" \
-d '{"model": "gpt-4o"}'
# Chat
curl -X POST http://localhost:3000/api/agents/{id}/chat \
-H "Content-Type: application/json" \
-d '{"message": "List files in current directory"}'Using with Ollama
Edit config/default.yaml:
llm:
defaultModel: "proxy/gemma4:latest"
providers:
proxy:
baseUrl: "http://localhost:11434/v1"
apiKey: "ollama"Configuration
See config/default.yaml for all options including LLM providers, plugin settings, auth defaults, and web server config.
Architecture
Agent Manager → Agent Process (independent child process)
├── LLM Router (OpenAI / Anthropic / Proxy)
├── Memory Manager (raw → condensed → knowledge graph)
├── Tool Registry
│ ├── Shell Plugin (exec, read, write, list)
│ ├── Browser Plugin (navigate, click, type, screenshot, extract)
│ ├── Desktop Plugin (screenshot, mouse, keyboard)
│ ├── Feishu Plugin (send, reply, cards)
│ └── QQ Plugin (private, group, reply)
└── Skill Engine + EvolverLicense
MIT
