CowAgent: open-source AI agent harness
CowAgent earns its keep as a self-hostable hub that ties together multiple LLMs, channels, and tools under one roof. The one-line install is genuinely fast, and having a web console instead of config-file archaeology makes it accessible to non-DevOps users. But that breadth comes with tradeoffs: there's real setup work to secure and tune a system with memory, skills, and OS-level tool access. Reach for it when you want one assistant across web and WeChat or Slack; skip it if you need a lean, single-purpose bot with a minimal audit surface.
The problem it solves
Most chatbots are single-model, single-channel, and stateless — they forget everything between sessions and can't act beyond generating text. Wiring up planning, memory, tools, and multiple messaging platforms from scratch means writing significant glue code and integrating multiple SDKs that were never designed to work together.
What is it?
CowAgent is a Python-based agent harness that orchestrates planning, memory, tools, and skills around a pluggable LLM, delivering responses through any of 12+ channels from a single running instance.
Why it's getting attention
Its appeal is bundling planning, long-term memory, a knowledge base, and a skill marketplace into one self-hostable assistant that installs in a single shell command and lets you switch model providers from a web UI.
Key features
- ✓Task planning that decomposes goals into steps and loops over tools until the objective is reached
- ✓Three-tier memory architecture (context → daily → core) with keyword and vector retrieval, plus a nightly Deep Dream distillation pass
- ✓Knowledge base that auto-curates Markdown documents and maintains cross-references, viewable as a knowledge graph in the web console
- ✓Skills system with a Skill Hub marketplace, GitHub/URL install, and conversational authoring via skill-creator
- ✓Built-in tools for file I/O, terminal, browser automation, scheduling, web search, and memory retrieval — plus native MCP protocol support
- ✓Multi-channel delivery: Web console, WeChat, Feishu, DingTalk, WeCom, QQ, Telegram, Slack, Discord, and WeChat Official Account
- ✓Multi-model support: Claude, GPT, Gemini, DeepSeek, Qwen, GLM, Kimi, MiniMax, Doubao, and more, switchable from the web console without file editing
Best use cases
- •Running one persistent assistant across web and messaging platforms from a single deployment
- •Automating multi-step tasks using built-in tools, scheduling, and MCP integrations
- •Building a personal knowledge base and long-term memory from ongoing conversations
- •Prototyping an agent without committing to a single LLM vendor from day one
How to install / try
Linux/macOS: `bash <(curl -fsSL https://cdn.link-ai.tech/code/cow/run.sh)`. Windows (PowerShell): `irm https://cdn.link-ai.tech/code/cow/run.ps1 | iex`. Docker: `curl -O https://cdn.link-ai.tech/code/cow/docker-compose.yml && docker compose up -d`. Desktop clients for macOS and Windows are also available for download.
How to use
After startup, open `http://localhost:9899` to access the web console — configure models, connect channels, install skills, and chat. Server deployments need `web_host` set to `0.0.0.0` and `web_password` set in `config.json`, with port 9899 open. The `cow` CLI handles service control (`cow start|stop|restart`), logs, and skill management (`cow skill install <name>`).
Strengths
- ✓One-line install handles dependencies, config, and startup automatically
- ✓Model-agnostic: swap between providers from the web console without touching config files
- ✓Broad channel coverage: 12+ messaging platforms plus a unified web console
- ✓MIT-licensed with a public Skill Hub and MCP integration for extensibility
- ✓Memory system includes a nightly Deep Dream pass to distill long-term knowledge
Limitations & risks
- △The one-line installer pipes a remote script directly into bash/PowerShell — you must review it before running
- △Memory and knowledge features introduce retrieval latency and require storage management over time
- △The agent has file system and terminal access; misconfiguration or prompt injection could be destructive
- △Skill Hub and some infrastructure depend on a third-party service (link-ai.tech) that you do not control
- △Active development with frequent releases (v2.1.x series) means occasional breaking changes
Alternatives
Who should try it — and who should skip
Choose CowAgent if you want a self-hosted assistant spanning multiple messaging platforms with pluggable LLMs and are comfortable with some initial configuration. Skip it if you need a lean, single-purpose bot with minimal attack surface, or prefer a managed SaaS product over self-hosting.
Frequently asked questions
Yes — the README explicitly states that chatgpt-on-wechat is the former name of this project. The GitHub URL redirects automatically, and existing users can update their local remote.
The README documents support for Claude, GPT (OpenAI), Gemini, DeepSeek, Qwen, GLM, Kimi, MiniMax, Doubao, ERNIE, MiMo, and LinkAI (covering 100+ models). ASR, TTS, vision, and embedding routing can each use a different provider.
Linux/macOS: `bash <(curl -fsSL https://cdn.link-ai.tech/code/cow/run.sh)`. Windows (PowerShell): `irm https://cdn.link-ai.tech/code/cow/run.ps1 | iex`. Docker: download the compose file and run `docker compose up -d`. After startup the web console is at http://localhost:9899.
CowAgent is MIT-licensed. You can self-host, modify, and redistribute it. The caveat is that agent mode is token-heavy and has OS-level access — deploy only in trusted environments.
MCP integration is native. You configure a single `mcp.json` file with stdio or SSE transport, hot reload is supported, and zero custom code is needed to connect any MCP-compatible server.
Related repositories
Curious whether CowAgent is right for you?
Let ChatGPT, Claude, or Perplexity look into it — click below and see what AI actually says about CowAgent.
