最近花了几天时间,在自己的云服务器上用 Docker 部署了一套 CowAgent,绑定微信当私人助理用,顺便拿它管知识库、写日记、定时提醒。用下来体验不错,成本也可控。
写这篇之前先说个重要发现:CowAgent 现在有桌面版了,macOS 和 Windows 都能直接下载安装,开箱即用——不用装 Python,不用碰命令行。所以这篇我分成两条路线写:
- 想省事 → 走第一部分,桌面版,10 分钟能用上
- 想 7×24 跑在服务器 / 接微信 → 跳到第二部分,Docker 部署
两条路线装的是同一个东西,能力完全一致,只是运行位置不同。
一句话结论:CowAgent 不是”聊天机器人”,而是一个能主动规划任务、操作计算机、自己创建技能、还带长期记忆的个人 AI Agent。个人用桌面版最舒服,团队/服务器用命令行部署更灵活。
一、桌面版:下载即用(推荐先试这个)
为什么推荐先试桌面版
官方文档原话是:“内置 Agent 运行环境,不需要手动安装 Python 或依赖,下载安装即可运行你的本地超级 AI 助理。”
它和命令行部署最大的差别:
| 桌面版 | 命令行部署 | |
|---|---|---|
| 上手难度 | 下载 → 安装 → 用 | 要懂 Docker 或命令行 |
| 运行位置 | 你自己的电脑 | 服务器 / 本机 |
| 适合场景 | 个人日常使用 | 7×24 长跑、深度定制 |
| 更新 | 内置自动更新,一键升级 | cow update |
| 数据 | 配置 ~/.cow,工作区 ~/cow |
同左(Docker 挂载到宿主机) |
下载安装
下载页:https://cowagent.ai/download/
macOS:
1. 打开下载页,按芯片选版本 —— Apple Silicon(M1/M2/M3/M4)下 arm64,Intel 下 x64
2. 打开 .dmg,把 CowAgent 拖进 Applications
3. 从启动台或 Applications 启动
Windows:
1. 下载 Windows 安装包(.exe),要求 Windows 10/11 x64
2. 运行安装程序,按提示走(可以自选安装目录)
3. 从桌面或开始菜单启动
安装完第一次打开会有引导流程,界面语言跟随系统,也支持手动切换。
桌面版独有的几个好功能
- 语音输入:聊天框里有个语音按钮,说完直接转成文字发出去(v2.1.7 新增)
- 任务通知:Agent 跑完长任务会弹系统通知 + 提示音,你可以走开干别的
- 扫码接通道:在 App 里直接扫码就能接微信等通道,不用改配置文件
- 可视化配置:配置、模型、知识库、定时任务、技能、记忆,都有原生界面,和 Web 控制台一致
- 登录自启:系统设置里可开(默认关)
- 日志下载:出问题可以直接在界面里下载运行日志
一个实用小技巧:用浏览器打开
桌面客户端启动后会在本地监听 9876 端口,它的后端就是同一个 Web 控制台。所以客户端开着的时候,你也可以直接用浏览器打开:
http://localhost:9876
体验完全一样。手机上如果想用,把电脑当跳板或者直接部署到服务器更合适。
💡 如果 9876 端口被占(Windows 上常见于 Hyper-V/WSL2 预留端口段),客户端会自动换一个端口,正常启动。实际用的端口写在
run.log的Local access那行。想固定的话,在config.json里设web_port。
数据存在哪
桌面版所有数据都在你本机,两个目录:
- 配置目录:
~/.cow(家目录下),存config.json(模型 Key、通道配置)、日志、缓存 - 工作区:默认
~/cow,存对话记录、知识库、记忆、技能、定时任务
⚠️ 卸载客户端不会删这两个目录,数据会保留,重装后还在。想彻底清理或迁移到别的设备,自己手动备份/删除对应文件夹。
二、Docker 部署:7×24 跑在服务器上
桌面版够个人用了,但如果你想要:手机上随时用、接微信、或者让它一直在线干活,那就得部署到服务器。我选的是 Docker。
部署前要知道的 3 件事
1. 环境要求
| 项目 | 要求 |
|---|---|
| 操作系统 | Linux / macOS / Windows |
| Python(源码部署) | 3.7 ~ 3.13,官方推荐 3.9 |
| Docker | Docker + docker-compose |
| GPU | 不需要。模型都是调云端 API |
| 磁盘 | 可选装浏览器工具多占约 300MB(Playwright + Chromium),不需要可跳过 |
官方文档没有给出 CPU / 内存的具体推荐值,只说可以跑在个人电脑或服务器上 7×24 运行。我自己的机器是 2 核 4G 的轻量云服务器,跑起来毫无压力——因为真正的算力都在云端模型那边,本地只是个”调度中枢”。
2. 三种部署方式怎么选
| 方式 | 适合谁 | 特点 |
|---|---|---|
| 一键脚本 | 想最快跑起来 | 自动装依赖、clone、配置、启动,最省事 |
| Docker | 服务器部署(我选的) | 环境干净、数据可持久化、升级不怕丢数据 |
| 源码 | 要深度改造 | 官方原话:Agent 模式下更推荐源码部署,能获得更多系统访问能力 |
3. 成本预期
先说结论:便宜,但 Agent 模式比普通聊天费 token。官方 README 有一句免责声明原文:
Agent mode consumes substantially more tokens than regular chat — pick models that balance quality and cost.
我实测:用 DeepSeek,一整天高频对话下来,花费两块多。这个量级对个人使用基本无感。
Step 1:拉取 compose 文件
curl -O https://cdn.link-ai.tech/code/cow/docker-compose.yml
这个 compose 文件里有两个 volume 挂载,是整个部署最关键的地方,务必理解:
| 宿主机目录 | 容器内路径 | 存什么 |
|---|---|---|
./cow |
/home/agent/cow |
工作区:技能、记忆、知识库、mcp.json、会话产物 |
./cow-data |
/home/agent/.cow |
数据目录:config.json、运行日志、通道凭据 |
💡 官方把这两个目录刻意分开,是为了镜像升级时不丢数据。你的知识库、记忆、配置全在宿主机上,容器随时可以删掉重建。这两个目录默认创建在
docker-compose.yml旁边,别删。
Step 2:填配置
编辑 docker-compose.yml,核心配置项如下(逐个解释):
environment:
# ---- 渠道 ----
CHANNEL_TYPE: 'web, weixin' # 同时开 Web 控制台和微信
# ---- 模型 ----
MODEL: 'deepseek-v4-flash'
DEEPSEEK_API_KEY: 'sk-xxxxxxxx'
DEEPSEEK_API_BASE: 'https://api.deepseek.com/v1'
# ---- Web 控制台 ----
WEB_HOST: '0.0.0.0' # 关键!默认 127.0.0.1 只能本机访问
WEB_PASSWORD: '你的访问密码' # 公网必须设,否则谁都能进
# ---- Agent 能力 ----
AGENT: 'True'
AGENT_PERMISSION_MODE: 'full-access'
AGENT_MAX_CONTEXT_TOKENS: 50000
AGENT_MAX_CONTEXT_TURNS: 20
AGENT_MAX_STEPS: 20
SELF_EVOLUTION_ENABLED: 'True' # 自进化:Agent 会自己改进
# ---- 数据目录 ----
COW_DATA_DIR: '/home/agent/.cow'
两个必改项:
DEEPSEEK_API_KEY—— 去platform.deepseek.com申请,充点钱就行WEB_HOST从127.0.0.1改成0.0.0.0,并务必设WEB_PASSWORD
⚠️ 安全提醒:
WEB_HOST=0.0.0.0意味着暴露到公网。如果你不设密码,等于把一台能执行命令的机器敞开给人用。官方文档原话是”强烈建议设置 web_password 启用鉴权”。
Step 3:启动
sudo docker compose up -d
sudo docker logs -f chatgpt-on-wechat
看到启动日志正常,浏览器打开 http://你的服务器IP:9899 就能进控制台。
⚠️ 别忘了在云服务商的安全组和服务器防火墙里放行
9899端口,否则打不开。更稳妥的做法是只对你的 IP 开放。
Step 4(可选):绑定域名 + 反向代理
我的做法是用子域名 i.lovecto.cn 解析到服务器,再配一层 Nginx 反代,这样访问更顺手、也方便上 HTTPS。
注意:官方文档里没有用于 CowAgent 的 Nginx 反代配置示例(只在功能描述里提过 Agent 能”配置 Nginx”)。下面是我的配置,属于社区实践,供参考:
server {
listen 443 ssl http2;
server_name i.lovecto.cn;
ssl_certificate /etc/nginx/ssl/fullchain.pem;
ssl_certificate_key /etc/nginx/ssl/privkey.pem;
location / {
proxy_pass http://127.0.0.1:9899;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_read_timeout 600s; # Agent 任务耗时长,这个务必加大
}
}
配好之后,就能随时随地用 https://i.lovecto.cn 访问了,手机浏览器也能用,很方便。
三、绑定微信(重点:先看风险)
这一步是 CowAgent 最吸引人的功能,也是最容易出事的功能。
绑定方式
方式 A(推荐):Web 控制台 → Channels → Connect Channel → 选 WeChat → 扫码
方式 B:config.json 里设 {"channel_type": "weixin"},启动后终端会出二维码
要点:
- 微信客户端要求 ≥ 8.0.69
- 二维码约 2 分钟有效,过期自动刷新
- 凭据持久化在
~/.weixin_cow_credentials.json,重启会复用,不用反复扫码 - 会话过期(errcode
-14)时会自动清掉旧凭据、重新弹二维码,不用手动干预 - 登录后通讯录会多出一个机器人(可搜”微信ClawBot”),支持 1 对 1 收发文字/图片/文件/视频,语音只能收(内置识别),不支持群聊
- 走的是官方 API,不需要公网 IP
⚠️ 但是,微信这条路有封号风险
官方文档说”走官方 API,安全使用”,但 GitHub Issues 里能看到另一面,必须如实告诉你:
- Issue
#2460「微信登录成功后立刻被踢下线」,官方明确回复:“暂时请勿尝试接入 wx 通道,请使用公众号、飞书等其他通道” - Issue
#1788:1 天后个人微信自动断开,需要重新扫码 - Discussions 里有一条更直接的反馈:「docker 部署后,扫码直接就被腾讯识别外挂封号了」
我的建议:
- 服务器上这台,我实际用的是「Web 控制台 + 微信」,微信通道我会用小号,绝不用主力号
- 如果只是自己用,Web 控制台完全够——手机浏览器打开就是移动端体验,不折腾微信更省心
- 要给团队/客户用,走公众号或飞书通道,稳得多
四、真正让它好用的三件事:记忆、知识库、定时任务
装完只是”能用”,下面这三个机制才是”好用”的关键。
① 三层记忆 —— 它会记住你
| 层级 | 文件 | 内容 |
|---|---|---|
| 核心记忆 | ~/cow/MEMORY.md |
长期偏好、重要决策、关键事实(每次对话都注入) |
| 日级记忆 | ~/cow/memory/YYYY-MM-DD.md |
每天的对话摘要和关键事件 |
| 梦境日记 | ~/cow/memory/dreams/YYYY-MM-DD.md |
记忆蒸馏过程的副产品 |
记忆是自动写入的,不需要你手动维护,触发时机有三个:
- 对话上下文被裁剪时,被丢弃的内容由 LLM 总结写入日级记忆
- 每天 23:55 自动做一次全天总结
- 模型 API 上下文溢出时紧急保存
更妙的是 Deep Dream(记忆蒸馏):每天总结完成后自动运行,把零散的日级记忆”蒸馏”进 MEMORY.md,去重、合并、剪枝,还会生成一篇梦境日记记录它整理时发现的洞察。
刚部署完可以手动触发一次,把历史全量蒸馏:
/memory dream 30
(参数是最近 N 天,默认 3,最大 30。也可以在配置里用 deep_dream_enabled 单独开关。)
💡 检索用的是混合检索:向量语义 0.7 + 关键词 BM25 0.3。日级记忆有 30 天半衰期,会自然淡出;核心记忆不衰减。
② 知识库 —— 它帮你整理资料
记忆是”按时间线”的流水账,知识库是”按主题”的结构化档案。区别在这:
知识库 knowledge/ |
记忆 memory/ |
|
|---|---|---|
| 组织方式 | 按主题,互相链接 | 按时间线,按日期分文件 |
| 写入方式 | Agent 主动结构化 | 上下文裁剪时自动总结 |
| 内容性质 | 精炼的知识 | 原始对话摘要 |
| 典型场景 | 学习笔记、技术文档、项目知识 | 对话历史、事件记录 |
用起来很简单:你丢一篇文章链接给它说”存一下”,它会自动提取要点、分类、打标签、写进知识库并建立交叉引用。目录结构是灵活的(默认 concepts/、entities/、sources/,可自定义)。
控制台里的「知识」模块还能可视化知识图谱,看页面之间的关联,挺直观。
💡 v2.1.3 起,知识库支持在建面里直接新建/导入文档,索引会根据实际目录树自动重建(以前会出现索引漂移、文档丢失的问题);向量化也统一走了同一个 embedding provider,是真正的语义向量,不再退化成关键词搜索。
③ 定时任务 —— 每天自动给你干活
这是我用得最多的功能。创建任务直接用自然语言说就行:
"每天早上 9 点给我发一份天气报告"
"每 2 小时检查一次服务器状态"
"明天下午 3 点提醒我开会"
支持三种调度模式:一次性、固定间隔、Cron 表达式。
两个细节值得注意:
- 定时任务跑在隔离会话里,内部规划过程不会污染你的聊天,但最终结果会写回你的真实会话——所以你可以接着问”上一条第 2 点再展开讲讲”
- 每个会话默认只保留最近 3 对定时任务消息,更旧的自动清理,不会刷屏
五、Skill 机制:让它自己长本事
CowAgent 的技能(Skill)本质上是一份”说明书 + 脚本”的封装。安装方式统一:
# 聊天里用
/skill install pptx
/skill list --remote # 看市场里有什么
/skill info <name> # 看详情
/skill enable|disable|uninstall <name>
安装来源支持四种:
- Skill Hub:
/skill install pptx - GitHub:
/skill install larksuite/cli或直接给 GitHub 目录 URL - ClawHub / LinkAI:
/skill install clawhub:<name> - 任意 URL(zip 或 SKILL.md):
/skill install https://xxx/pptx.zip
内置了三个:skill-creator(对话式造技能)、knowledge-wiki(维护知识库)、image-generation(生成图片)。
💡 一个提醒:Skill 只是”说明书 + 脚本”,它不能凭空变出 API 能力。比如你想让它配图,前提是你得先配好某个图像模型的 API Key。
六、说点实话:它的问题和边界
关于多用户隔离,比一年前好多了
早期版本有个明显痛点:多人共用一个 Agent 时,记忆和知识库是全部共享的,谁都能看到谁的内容。
好消息是 v2.1.7(2026.08.20) 补上了一块关键能力——多工作区 + 会话级权限模式:
- Agent 不再绑死在一个目录,你可以建多个项目工作区,每个会话绑定自己的工作区(Web 控制台和桌面版都支持)
- 每个会话有独立的权限等级:只读 / 工作区可写 / 完全访问,默认模式也可设
- 会话按工作区分组,支持置顶、重命名、删除
但要说清楚:记忆、技能、知识库仍然共享在系统工作区(默认 ~/cow)里。所以现在的隔离是”工作区 + 权限”层面,不是”记忆/知识库”层面的完全隔离。
官方 README 里把 “workspaces / 角色权限 / 审计日志” 列为企业版付费能力,也说明开源版在权限治理上仍有边界。
我的结论:
- 个人自用 ✅ 完全够,桌面版一装就能用
- 想要工作区/权限隔离 ✅ 现在可以做到,多开几个会话就行
- 要记忆和知识库也彻底互不可见 → 还是得每人单独部署一套,或者等它出 SaaS/企业版
界面门槛比想象中低
我之前以为这东西只适合程序员,其实桌面版把门槛降得很低——GUI、开箱即用、自动更新、扫码接通道。命令行部署那套才需要技术基础。
GitHub Discussions 里确实有人问”为什么一直提示 permission denied”、”如何在目录下执行命令”,但那大多是命令行部署的同志。用桌面版基本碰不到。
官方文档有几处数据打架
比如 agent_max_context_tokens 这个默认值,模板文件写 64000,手动安装文档写 40000,记忆文档写 50000;agent_max_steps 模板写 30、文档写 15。以你项目里实际的 config.py 为准,别死磕文档。
那到底适合谁?
| 适合 | 不适合 | |
|---|---|---|
| 人群 | 所有人——桌面版零门槛;服务器部署适合有 Docker 基础的人 | —— |
| 场景 | 个人助理、知识库、日记、自动化任务 | 需要记忆/知识库级严格隔离的团队 |
| 渠道 | Web 控制台、飞书、公众号、Telegram | 拿个人主力微信做机器人 |
| 成本 | 能接受每天几块钱的 API 费用 | 想零成本白嫖(本地模型另说) |
七、常用命令速查
# 进程管理
cow start / stop / restart
cow status # 看状态
cow logs # 看日志
cow update # 升级
cow install-browser # 装浏览器工具(约 300MB)
# 没装 CLI 时的兜底
./run.sh <command>
# 对话内命令
/skill list --remote # 看技能市场
/memory dream 30 # 蒸馏最近 30 天记忆
/context # 看上下文占用
/compact # 手动压缩上下文
/clear # 清空上下文
/knowledge list # 看知识库目录
/config agent_max_steps 50 # 在线改配置
写在最后
CowAgent 给我的感觉是:它是目前开源里”个人 Agent”完成度很高的一个——记忆、知识库、技能、定时任务、多渠道,一套齐活;而且桌面版让它从”程序员玩具”变成了”普通人也能用的工具”。
但它也清楚自己的边界:单机、单人为主,记忆层级的严格隔离要上企业版。想拿它做团队协作平台,现在还不是时候。
如果你也对 AI Agent 感兴趣,最省事的路径是:先去下载桌面版玩十分钟,觉得有意思了,再考虑搬到服务器上 7×24 跑。
装的时候记得:微信用小号,密码一定要设。
有问题欢迎评论区交流。
参考与来源:
- CowAgent 官方仓库:https://github.com/zhayujie/CowAgent
- 官方文档:https://docs.cowagent.ai/
- 桌面版下载:https://cowagent.ai/download/
- 官方 docker-compose:https://cdn.link-ai.tech/code/cow/docker-compose.yml
- 微信通道及封号相关 Issue:#2460、#1788
LoveCTO

