# CowAgent

> A self-hosted assistant that plans tasks, runs tools and answers wherever your team already chats

- Category: Agents & Automation / Assistants & Chatbots
- Language: Python
- Licence: MIT
- Repository: https://github.com/zhayujie/CowAgent
- Website: https://cowagent.ai
- Canonical page: https://ai-tldr.dev/tools/cowagent/

## In short

CowAgent is a self-hosted AI assistant and agent harness that grew out of chatgpt-on-wechat, one of the longest-running open-source chat-assistant projects. It sits in the Assistants & Chatbots category of the Agents & Automation tools and is open-source, written in Python and licensed MIT. To get started: install on Linux or macOS.

## Overview

CowAgent is a self-hosted AI assistant and agent harness that grew out of chatgpt-on-wechat, one of the longest-running open-source chat-assistant projects. The rewrite keeps the thing that made the original useful — it meets people inside the messaging app they already use — and adds the machinery an agent needs to do work rather than only reply: task planning and decomposition, iterative tool execution, and a memory that persists between conversations.

The built-in tool set covers file I/O, a terminal, a browser, a scheduler, web search and vision, with MCP support for anything not bundled. Input is multimodal — text, images, voice and files. Skills install in one click from a marketplace, and agents can be grouped into multi-agent teams that share a conversation. Memory is organised in three tiers with automatic distillation, alongside an auto-curated knowledge base you can browse as a graph.

Deployment is deliberately undemanding: a one-line install script on Linux, macOS or Windows, or a Docker Compose file, after which a web console runs on port 9899. Model providers are swappable from that console and span the major hosted families — Claude, GPT, Gemini, DeepSeek, Qwen, GLM, Kimi, MiniMax, Doubao and ERNIE among them — and the assistant can be exposed through the web console plus Telegram, Slack, Discord, WeChat, Feishu/Lark, DingTalk, WeCom and QQ. It is MIT-licensed, with the project noting it is open-sourced for technical research and learning.

## What it does

- Task planning and decomposition with iterative tool execution
- Built-in file, terminal, browser, scheduler, web-search and vision tools, plus MCP integration
- Three-tier memory with automatic distillation, and an auto-curated knowledge base with a graph view
- Multi-agent teams that share a conversation
- One-click skill installation from a marketplace
- Multimodal input: text, images, voice and files
- Swappable model providers and a dozen messaging channels, configured from a web console

## Getting started

CowAgent installs with a single command and then runs behind a local web console. The commands below come from the project README.

1. Install on Linux or macOS

   One script fetches and starts the assistant.

```bash
bash <(curl -fsSL https://cdn.link-ai.tech/code/cow/run.sh)
```

2. Install on Windows

   The PowerShell equivalent of the same installer.

```bash
irm https://cdn.link-ai.tech/code/cow/run.ps1 | iex
```

3. Or run it with Docker

   Pull the published Compose file and bring the stack up in the background.

```bash
curl -O https://cdn.link-ai.tech/code/cow/docker-compose.yml
docker compose up -d
```

4. Open the web console

   The console is where models, channels, tools and skills are configured.

```text
http://localhost:9899
```

5. Pick a model and connect a channel

   Choose a provider from the console — Claude, GPT, Gemini, DeepSeek, Qwen, GLM, Kimi, MiniMax, Doubao and ERNIE are among those supported — then connect the messaging platforms you want the assistant to answer in.

```text
Console → Models → select provider
Console → Channels → Telegram / Slack / Discord / WeChat / Feishu / DingTalk / WeCom / QQ
```

## When to use it

- Reach for it when the assistant has to live inside the messaging apps a team already uses, not a separate web app
- Reach for it when you want a self-hosted assistant that can actually run terminal, file and browser tools
- Reach for it when conversations should build up long-term memory and a browsable knowledge base
- Reach for it when you need to swap model providers from a console instead of redeploying
