{"id":46747878,"url":"https://github.com/log-z/copaw-docker","last_synced_at":"2026-04-25T18:00:53.403Z","repository":{"id":339930977,"uuid":"1162440059","full_name":"log-z/copaw-docker","owner":"log-z","description":"QwenPaw（原 CoPaw 项目）的 Docker 部署方案，支持一键构建和运行，相比官方镜像更小。","archived":false,"fork":false,"pushed_at":"2026-04-23T11:34:50.000Z","size":449,"stargazers_count":45,"open_issues_count":0,"forks_count":8,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-04-23T14:37:17.252Z","etag":null,"topics":["ai-agent","copaw","docker","qwenpaw"],"latest_commit_sha":null,"homepage":"","language":"Shell","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/log-z.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2026-02-20T09:10:28.000Z","updated_at":"2026-04-23T11:27:37.000Z","dependencies_parsed_at":"2026-04-04T11:01:44.251Z","dependency_job_id":null,"html_url":"https://github.com/log-z/copaw-docker","commit_stats":null,"previous_names":["log-z/copaw-docker"],"tags_count":26,"template":false,"template_full_name":null,"purl":"pkg:github/log-z/copaw-docker","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/log-z%2Fcopaw-docker","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/log-z%2Fcopaw-docker/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/log-z%2Fcopaw-docker/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/log-z%2Fcopaw-docker/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/log-z","download_url":"https://codeload.github.com/log-z/copaw-docker/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/log-z%2Fcopaw-docker/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32271243,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-25T09:15:33.318Z","status":"ssl_error","status_checked_at":"2026-04-25T09:15:31.997Z","response_time":59,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["ai-agent","copaw","docker","qwenpaw"],"created_at":"2026-03-09T20:14:15.278Z","updated_at":"2026-04-25T18:00:53.397Z","avatar_url":"https://github.com/log-z.png","language":"Shell","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003cdiv align=\"center\"\u003e\n\n# QwenPaw Docker 部署方案\n\n[![GitHub Container Registry](https://img.shields.io/badge/GHCR-ghcr.io%2Flog--z%2Fqwenpaw-blue?logo=docker\u0026logoColor=white)](https://github.com/log-z/copaw-docker/pkgs/container/qwenpaw)\n[![Docker Hub](https://img.shields.io/badge/Docker%20Hub-logz2%2Fqwenpaw-blue?logo=docker\u0026logoColor=white)](https://hub.docker.com/r/logz2/qwenpaw)\n\n**支持一键构建和运行，相比官方镜像更小**\n\n\u003c/div\u003e\n\nQwenPaw（原 CoPaw 项目）是一款个人 AI 助手，部署在你自己的环境中，支持多种聊天平台接入，具备强大的扩展能力。\n\n更多信息请看官方仓库：[agentscope-ai/QwenPaw](https://github.com/agentscope-ai/QwenPaw)\n\n\u003e [!NOTE]\n\u003e 如果你正在使用旧版 CoPaw 镜像，请参阅 [如何从 CoPaw 迁移到 QwenPaw](docs/migrate-from-copaw.md) 。\n\n---\n\n## ⚠️ 安全警告 ⚠️\n\n\u003e **QwenPaw v0.1.0+ 支持可选的 Web 认证功能。对于 v0.1.0 之前的版本或未启用认证时，切勿将服务端口暴露到公网！**\n\n\u003cdetails\u003e\n\u003csummary\u003e\u003cstrong\u003ev0.1.0+ Web 认证\u003c/strong\u003e（推荐启用）\u003c/summary\u003e\n\n设置 `QWENPAW_AUTH_ENABLED=true` 启用 Web 认证：\n- 首次访问显示注册页面\n- 本地请求 (127.0.0.1) 自动绕过认证\n- 支持环境变量自动注册（适用于自动化部署）\n- 密码重置：`docker compose exec qwenpaw qwenpaw auth reset-password`\n\n```bash\n# 在 .env 文件中启用\nQWENPAW_AUTH_ENABLED=true\n\n# 可选：自动注册管理员账户（首次启动时生效）\nQWENPAW_AUTH_USERNAME=admin\nQWENPAW_AUTH_PASSWORD=your_secure_password\n```\n\u003c/details\u003e\n\n\u003cdetails\u003e\n\u003csummary\u003e\u003cstrong\u003ev0.0.x 或未启用认证时\u003c/strong\u003e，WebUI 管理界面\u003cstrong\u003e没有登录验证机制\u003c/strong\u003e，任何能访问该端口的人都可以完全控制你的 QwenPaw 实例。点击展开安全建议。\u003c/summary\u003e\n\n- 默认端口 `8088` 仅应在**受信任的内网环境**或通过**反向代理 + 认证**等方式访问\n- 如果必须远程访问，请使用以下安全措施之一：\n  - 通过 SSH 隧道访问：`ssh -L 8088:localhost:8088 your-server`\n  - 配置 Nginx/Caddy 等反向代理并添加 Basic Auth 或 OAuth 认证\n  - 使用防火墙限制访问来源 IP\n\u003c/details\u003e\n\n---\n\n## 快速开始\n\n### 前置要求\n\n- Docker \u003e= 20.10\n- Docker Compose \u003e= 2.0\n\n### 使用方式选择\n\n#### 方式一：快速体验\n\n最简单的方式，直接使用 docker run 命令启动，适合快速体验。\n\n```bash\ndocker run -d --name qwenpaw \\\n  -p 127.0.0.1:8088:8088 \\\n  -v copaw-data:/data/qwenpaw \\\n  --restart unless-stopped \\\n  ghcr.io/log-z/qwenpaw:latest\n```\n\n访问控制台：http://localhost:8088\n\n---\n\n#### 方式二：使用 Docker Compose（推荐✨）\n\n使用 Docker Compose 方便管理和配置。\n\n##### 1. （可选）配置环境变量\n\n如需提前配置 API Keys，可复制环境变量示例文件：\n\n```bash\ncp .env.example .env\n```\n\n编辑 `.env` 文件填入你的配置。也可以在应用启动后通过 Web UI 进行配置。\n\n##### 2. 拉取并启动服务\n\n```bash\ndocker compose pull      # 拉取或更新镜像\ndocker compose up -d     # 后台启动服务\n```\n\n##### 3. 查看日志\n\n```bash\ndocker compose logs -f qwenpaw\n```\n\n##### 4. 访问控制台\n\n浏览器打开：http://localhost:8088\n\n---\n\n#### 方式三：自行构建镜像\n\n如果需要自定义镜像或预构建镜像不可用，可以自行构建。\n\n##### 1. （可选）配置环境变量\n\n同方式二。\n\n##### 2. 修改 docker-compose.yml\n\n编辑 `docker-compose.yml`，注释掉预构建镜像配置，取消注释构建配置：\n\n```yaml\nqwenpaw:\n  # image: ghcr.io/log-z/qwenpaw:latest  # 注释预构建镜像\n  build:                                 # 取消注释构建配置\n    context: .\n    dockerfile: Dockerfile\n  image: qwenpaw:latest\n```\n\n##### 3. 构建镜像\n\n```bash\ndocker compose build\n```\n\n##### 4. 启动服务、查看日志、访问控制台\n\n同方式二。\n\n---\n\n## 项目结构\n\n```\ncopaw-docker/\n├── .github/\n│   └── workflows/\n│       ├── dev-test.yml       # 开发环境测试工作流\n│       ├── prod-test.yml      # 生产环境测试工作流\n│       ├── release-image.yml  # 发布镜像工作流\n│       └── trivy-scan.yml     # Trivy 漏洞扫描工作流\n├── docs/\n│   └── qwenpaw-info.md        # QwenPaw 官方文档信息汇总\n├── scripts/\n│   ├── entrypoint.sh          # 容器启动脚本（自动初始化检查）\n│   ├── healthcheck.sh         # 健康检查脚本（Docker HEALTHCHECK）\n│   └── test-startup.sh        # 启动流程测试脚本\n├── .dockerignore              # Docker 构建忽略文件\n├── .env.example               # 环境变量配置示例\n├── .gitattributes             # Git 属性配置\n├── .gitignore                 # Git 忽略文件配置\n├── CLAUDE.md                  # Claude Code 工作指引\n├── Dockerfile                 # 多阶段构建的 Docker 镜像定义\n├── LICENSE                    # 开源许可证\n├── README.md                  # 本文件\n├── docker-compose.override.yml # Docker Compose 覆盖配置\n└── docker-compose.yml         # Docker Compose 编排配置\n```\n\n### 数据卷结构（运行时生成）\n\n```\ncopaw-data:/\n├── qwenpaw.secret -\u003e qwenpaw/.runtime    # 软链接指向 .runtime（兼容 SECRET_DIR）\n└── qwenpaw/\n    ├── .runtime/              # 敏感配置目录\n    │   ├── auth.json          # Web 认证数据（v0.1.0+）\n    │   ├── envs.json          # 环境变量配置\n    │   └── providers.json     # LLM 提供商配置\n    ├── custom_channels/       # 用户自定义频道模块\n    ├── mcp_clients/           # MCP 客户端配置\n    ├── memory/                # Agent 记忆文件存储（含每日日志）\n    ├── workspaces/            # 多代理工作区目录（v0.1.0+）\n    │   └── default/           # 默认代理工作区\n    │       ├── active_skills/ # 当前激活的技能\n    │       ├── customized_skills/ # 用户自定义技能\n    │       ├── plugins/       # 插件扩展（v1.0.2+）\n    │       ├── AGENTS.md      # 详细工作流程与指南（必填）\n    │       ├── PROFILE.md     # 身份和用户画像\n    │       ├── SOUL.md        # Agent 核心身份与行为原则（必填）\n    │       └── agent.json     # 代理配置\n    ├── chats.json             # 会话列表\n    ├── config.json            # 根配置文件（包含代理引用，v0.1.0+）\n    ├── HEARTBEAT.md           # 心跳任务配置\n    └── jobs.json              # 定时任务列表\n```\n\n\u003e **v0.1.0 多工作区迁移**：现有配置会在首次启动时自动迁移到新的多工作区架构。\n\n---\n\n## 常用命令\n\n### 容器管理\n\n```bash\n# 启动服务\ndocker compose up -d\n\n# 停止服务\ndocker compose stop\n\n# 重启服务\ndocker compose restart\n\n# 查看日志\ndocker compose logs -f qwenpaw\n\n# 进入容器\ndocker compose exec qwenpaw bash\n\n# 停止并删除容器\ndocker compose down\n```\n\n### 数据管理\n\n```bash\n# 查看数据卷\ndocker volume inspect copaw-data\n\n# 备份数据\ndocker run --rm -v copaw-data:/data -v $(pwd):/backup \\\n    alpine tar czf /backup/qwenpaw-backup-$(date +%Y%m%d).tar.gz -C /data .\n\n# 恢复数据\ndocker run --rm -v copaw-data:/data -v $(pwd):/backup \\\n    alpine tar xzf /backup/qwenpaw-backup-YYYYMMDD.tar.gz -C /data\n```\n\n### QwenPaw 命令（在容器内执行）\n\n```bash\n# 初始化\ndocker compose exec qwenpaw qwenpaw init --defaults   # 默认配置（不交互）\ndocker compose exec qwenpaw qwenpaw init              # 交互式初始化\n\n# 模型管理（云端提供商）\ndocker compose exec qwenpaw qwenpaw models list                    # 查看所有提供商\ndocker compose exec qwenpaw qwenpaw models config                  # 交互式配置\ndocker compose exec qwenpaw qwenpaw models config-key modelscope   # 配置 ModelScope API Key\ndocker compose exec qwenpaw qwenpaw models config-key dashscope    # 配置 DashScope API Key\ndocker compose exec qwenpaw qwenpaw models config-key anthropic    # 配置 Anthropic API Key（v0.0.5+）\ndocker compose exec qwenpaw qwenpaw models config-key gemini       # 配置 Gemini API Key（v0.0.6+）\ndocker compose exec qwenpaw qwenpaw models config-key lmstudio     # 配置 LM Studio（v0.0.7+）\ndocker compose exec qwenpaw qwenpaw models config-key deepseek     # 配置 DeepSeek（v0.1.0+）\ndocker compose exec qwenpaw qwenpaw models config-key minimax      # 配置 MiniMax（v0.1.0+）\ndocker compose exec qwenpaw qwenpaw models config-key kimi         # 配置 Kimi（v0.1.0+）\ndocker compose exec qwenpaw qwenpaw models config-key zhipu        # 配置智谱（v1.0.1+）\ndocker compose exec qwenpaw qwenpaw models config-key siliconflow  # 配置 SiliconFlow（v1.0.2+）\ndocker compose exec qwenpaw qwenpaw models config-key openrouter   # 配置 OpenRouter（v1.1.1+）\ndocker compose exec qwenpaw qwenpaw models config-key opencode     # 配置 OpenCode/Zen（v1.1.1+）\ndocker compose exec qwenpaw qwenpaw models config-key custom       # 配置自定义提供商\ndocker compose exec qwenpaw qwenpaw models set-llm                 # 切换活跃模型\n\n# 模型管理（本地模型 - 需额外依赖）\ndocker compose exec qwenpaw qwenpaw models download \u003crepo_id\u003e      # 下载本地模型 (llama.cpp/MLX)\ndocker compose exec qwenpaw qwenpaw models local                   # 查看已下载模型\ndocker compose exec qwenpaw qwenpaw models remove-local \u003cmodel_id\u003e # 删除已下载模型\ndocker compose exec qwenpaw qwenpaw models ollama-pull \u003cmodel\u003e     # 拉取 Ollama 模型\ndocker compose exec qwenpaw qwenpaw models ollama-list             # 列出 Ollama 模型\n\n# 频道管理\ndocker compose exec qwenpaw qwenpaw channels list           # 查看所有频道\ndocker compose exec qwenpaw qwenpaw channels config         # 交互式配置\ndocker compose exec qwenpaw qwenpaw channels install \u003ckey\u003e  # 安装自定义频道\ndocker compose exec qwenpaw qwenpaw channels add \u003ckey\u003e      # 添加频道到配置\ndocker compose exec qwenpaw qwenpaw channels remove \u003ckey\u003e   # 删除自定义频道\n\n# 技能管理\ndocker compose exec qwenpaw qwenpaw skills list         # 查看所有技能\ndocker compose exec qwenpaw qwenpaw skills config       # 交互式启用/禁用\ndocker compose exec qwenpaw qwenpaw skills info         # 查看技能详情（v1.1.2+）\n\n# 定时任务\ndocker compose exec qwenpaw qwenpaw cron list            # 列出所有任务\ndocker compose exec qwenpaw qwenpaw cron create ...      # 创建任务\ndocker compose exec qwenpaw qwenpaw cron state \u003cjob_id\u003e  # 查看任务状态\ndocker compose exec qwenpaw qwenpaw cron pause \u003cjob_id\u003e  # 暂停任务\ndocker compose exec qwenpaw qwenpaw cron resume \u003cjob_id\u003e # 恢复任务\ndocker compose exec qwenpaw qwenpaw cron run \u003cjob_id\u003e    # 立即执行一次\n\n# 环境变量\ndocker compose exec qwenpaw qwenpaw env list            # 列出所有变量\ndocker compose exec qwenpaw qwenpaw env set KEY VALUE   # 设置变量\ndocker compose exec qwenpaw qwenpaw env delete KEY      # 删除变量\n\n# 会话管理\ndocker compose exec qwenpaw qwenpaw chats list          # 列出所有会话\ndocker compose exec qwenpaw qwenpaw chats get \u003cid\u003e      # 查看会话详情\ndocker compose exec qwenpaw qwenpaw chats create ...    # 创建新会话\ndocker compose exec qwenpaw qwenpaw chats update \u003cid\u003e --name \"新名称\"  # 重命名会话\ndocker compose exec qwenpaw qwenpaw chats delete \u003cid\u003e   # 删除会话\n\n# 维护\ndocker compose exec qwenpaw qwenpaw clean               # 清空工作目录（交互确认）\ndocker compose exec qwenpaw qwenpaw clean --yes         # 不确认直接清空\n\n# 配置重载（无需重启容器，v0.0.5+）\ndocker compose exec qwenpaw qwenpaw daemon reload-config # 重新加载配置\ndocker compose exec qwenpaw qwenpaw daemon version       # 查看 QwenPaw 版本\n\n# 更新与认证（v0.1.0+）\ndocker compose exec qwenpaw qwenpaw update              # 更新 QwenPaw 到最新版本（在容器中更新无意义）\ndocker compose exec qwenpaw qwenpaw auth reset-password # 重置 Web UI 密码\n\n# Agent 与消息（v0.2.0+）\ndocker compose exec qwenpaw qwenpaw agents list            # 列出所有代理\ndocker compose exec qwenpaw qwenpaw agents create          # 创建新代理（v1.1.2+）\ndocker compose exec qwenpaw qwenpaw agents enable \u003cagent\u003e  # 启用代理（v1.0.0+）\ndocker compose exec qwenpaw qwenpaw agents disable \u003cagent\u003e # 禁用代理（v1.0.0+）\ndocker compose exec qwenpaw qwenpaw message push           # 向频道推送消息\ndocker compose exec qwenpaw qwenpaw message send           # 向代理发送请求\n\n# 任务执行（v1.0.2+）\ndocker compose exec qwenpaw qwenpaw task \u003cprompt\u003e      # 运行一次性任务，无需 Web 服务\n\n# 诊断（v1.1.2+）\ndocker compose exec qwenpaw qwenpaw doctor             # 诊断检查\ndocker compose exec qwenpaw qwenpaw doctor fix          # 自动修复问题\n```\n\n---\n\n## 环境变量说明\n\n完整的环境变量列表及说明请参见 [.env.example](.env.example) 。\n\n\u003e **注意**：模型提供商的 API Key **不支持**通过环境变量配置，需通过以下方式设置：\n\u003e - WebUI 控制台 → Settings → Models\n\u003e - CLI 命令：`docker compose exec qwenpaw qwenpaw models config`\n\n---\n\n## 数据持久化\n\n\u003e **⚠️ 重要提示**：本项目的 `copaw-data` 存储卷与 QwenPaw 官方镜像的存储卷**不能通用**，原因是文件权限设置不一致。官方镜像可能使用不同的用户权限运行，直接挂载可能导致权限问题。\n\n本项目使用 Docker 数据卷 `copaw-data` 持久化以下内容：\n\n- `.runtime/` - 敏感配置目录\n  - `auth.json` - Web 认证数据（v0.1.0+）\n  - `envs.json` - 环境变量配置\n  - `providers.json` - LLM 提供商配置\n- `custom_channels/` - 用户自定义频道模块\n- `memory/` - Agent 记忆文件\n- `workspaces/default/` - 默认代理工作区（v0.1.0+）\n  - `active_skills/` - 当前激活的技能\n  - `customized_skills/` - 用户自定义技能\n  - `plugins/` - 插件扩展（v1.0.2+）\n  - `AGENTS.md` - 详细的工作流程、规则和指南\n  - `PROFILE.md` - 身份和用户画像\n  - `SOUL.md` - 核心身份与行为原则\n  - `agent.json` - 代理配置\n- `chats.json` - 会话列表\n- `config.json` - 根配置文件（包含代理引用，v0.1.0+）\n- `HEARTBEAT.md` - 心跳配置\n- `jobs.json` - 定时任务列表\n\n容器重启后，所有数据都会保留。\n\n\u003e **v0.1.0 多工作区迁移**：现有配置会在首次启动时自动迁移到新的多工作区架构。\n\n---\n\n## 多模态消息支持\n\n各频道对不同消息类型的支持情况：\n\n| 频道 | 接收文本 | 接收图片 | 接收视频 | 接收音频 | 接收文件 | 发送文本 | 发送图片 | 发送视频 | 发送音频 | 发送文件 |\n|------|:--------:|:--------:|:--------:|:--------:|:--------:|:--------:|:--------:|:--------:|:--------:|:--------:|\n| 钉钉 | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |\n| 飞书 | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |\n| 企业微信 | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |\n| 微信 iLink | 🚧 | 🚧 | 🚧 | 🚧 | 🚧 | 🚧 | 🚧 | 🚧 | 🚧 | 🚧 |\n| OneBot v11 / NapCat (v1.0.1+) | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | 🚧 | 🚧 |\n| Discord | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |\n| iMessage | ✓ | ✓ | ✓ | ✓ | ✗ | ✓ | ✓ | ✓ | ✓ | ✗ |\n| QQ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | 🚧 | 🚧 | ✓ (v1.0.2+) |\n| Telegram | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |\n| Twilio Voice | ✓ | ✗ | ✗ | ✓ | ✗ | ✓ | ✗ | ✗ | ✓ | ✗ |\n| MQTT | ✓ | ✗ | ✗ | ✗ | ✗ | ✓ | ✗ | ✗ | ✗ | ✗ |\n| Mattermost | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |\n| Matrix | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |\n| 小艺 | ✓ | ✓ | ✓ | ✗ | ✓ | ✓ | ✓ | ✗ | ✗ | ✓ |\n\n\u003e ✓ = 已支持；🚧 = 施工中；✗ = 不支持\n\n---\n\n## 端口说明\n\n\u003e ⚠️ **安全提醒**：v0.1.0 之前或未启用认证时，请勿将端口暴露到公网！环境变量启用 `QWENPAW_AUTH_ENABLED=true` 后可降低风险。\n\n| 容器端口 | 主机端口 | 说明 |\n|----------|----------|------|\n| `8088` | `127.0.0.1:8088` | QwenPaw Web 服务端口（v0.0.5+ 默认绑定 127.0.0.1） |\n\n如需修改主机端口，编辑 `docker-compose.yml`：\n\n```yaml\nports:\n  - \"9000:8088\"  # 使用 9000 端口访问\n  # 或 v0.1.0+ 启用认证后允许外部访问\n  # - \"0.0.0.0:8088:8088\"\n```\n\n\u003e **安全更新**：v0.0.5 起，默认端口绑定改为 `127.0.0.1` 以提高安全性。v0.1.0+ 启用认证后可降低风险。\n\n---\n\n## 网络配置\n\n默认使用 `qwenpaw-network` 桥接网络。如需连接其他容器，可以：\n\n```yaml\n# 在 docker-compose.yml 中添加外部网络\nnetworks:\n  qwenpaw-network:\n    name: your-existing-network\n    external: true\n```\n\n---\n\n## 故障排除\n\n### 1. 容器无法启动\n\n检查日志：\n\n```bash\ndocker compose logs qwenpaw\n```\n\n### 2. 健康检查失败\n\n检查服务是否正常运行：\n\n```bash\ndocker compose ps\ncurl http://localhost:8088/\n```\n\n### 3. 数据丢失\n\n数据存储在 Docker 卷中，除非手动删除卷，否则不会丢失。\n\n检查卷状态：\n\n```bash\ndocker volume ls | grep qwenpaw\n```\n\n### 4. API Key 无效\n\n确保 `.env` 文件中的 API Key 正确，并重启服务：\n\n```bash\ndocker compose restart\n```\n\n---\n\n## 镜像信息\n\n### 预构建镜像\n\n- **镜像地址**: `ghcr.io/log-z/qwenpaw:latest`\n- **拉取命令**: `docker pull ghcr.io/log-z/qwenpaw:latest`\n- **更新频率**: 随 QwenPaw 官方版本更新\n\n### 自行构建\n\n- **基础镜像**: `python:3.13-slim`\n- **Python 版本**: 3.13\n- **Node.js 版本**: 24.x LTS（用于 MCP 功能）\n- **工作目录**: `/data/qwenpaw`\n- **运行用户**: `qwenpaw`（非 root）\n\n---\n\n## 新功能支持\n\n\u003e 历史版本更新详见 [docs/qwenpaw-info.md](docs/qwenpaw-info.md)。\n\n### v1.1.2 更新（最新）\n\n#### 新功能\n- **Mission 模式** - `/mission` 命令支持自主多阶段任务执行，可迭代规划、执行和自我修正\n- **纯文本自动续推** - 模型仅返回文本而未调用工具时，自动重试最多两轮推理\n- **自定义 Agent ID** - 从控制台或 API 创建 Agent 时可指定自定义 ID\n- **ACP 外部 Agent 委托** - 通过 `delegate_external_agent` 工具委托任务给外部编码 Agent（OpenCode、Qwen、Claude Code、Codex）\n- **`qwenpaw agents create`** - 命令行创建 Agent，支持模板选择（`default`、`local`、`qa`）\n- **`qwenpaw doctor`** - 诊断命令，检查环境、配置、提供商、频道等，支持 `doctor fix` 自动修复\n- **`qwenpaw skills info`** - 命令行查看技能详情，聊天中 `/skills` 斜杠命令\n- **Memory Dream** - 定时长期记忆整理，周期性去重和重组 `MEMORY.md`\n- **递归文件监视器** - `recursive_file_watcher` 选项，记忆索引包含子目录文件\n- **技能导入中心** - 重新设计导入模态框，支持 URL 验证、市场集成和冲突覆盖确认\n- **Debug 页面** - 设置中新增 Debug 页面，实时查看后端日志\n- **微信引用消息** - 引用/回复消息解析，支持文本、图片、语音、文件和视频\n\n#### 优化\n- 提供商列表按可用性排序\n- Agent 间通信工具拆分为同步（`chat_with_agent`）和异步（`submit_to_agent`/`check_agent_task`）\n\n#### Bug 修复\n- `/clear` 正确清除控制台聊天历史\n- 图片 MIME 规范化（`image/jpg` → `image/jpeg`）\n- 多模态工具调用排序修复（OpenAI/Anthropic 兼容性）\n- Discord 线程消息路由到正确会话\n- 记忆压缩钩子不再重复运行\n\n---\n\n### 控制台功能\n\n服务启动后访问 http://localhost:8088/ 进入控制台，包含以下功能模块：\n\n| 组 | 功能 | 说明 |\n|----|------|------|\n| 聊天 | 聊天 | 和 QwenPaw 对话、管理会话、切换模型、多模态支持、SSE 流式响应、音视频支持（v0.2.0+）、多模态预览（v1.0.0+）、频道标签（v1.0.0+）、命令建议（v1.0.0+）、选择 Agent 对话（v1.0.0.post1+）、聊天搜索（v1.0.2+）、置顶会话（v1.0.2+）、输入历史（v1.0.2+）、Mission 模式（v1.1.2+） |\n| 控制 | 频道 | 启用/禁用频道、填入凭据、快速文档链接、飞书区域选择器（v0.2.0+） |\n| 控制 | 会话 | 筛选、重命名、删除会话 |\n| 控制 | 定时任务 | 创建/编辑/删除任务、立即执行 |\n| 智能体 | 工作区 | 编辑人设文件、查看记忆、上传/下载、代理选择器、标签页界面（v1.1.1+） |\n| 智能体 | 技能 | 启用/禁用/创建/**导入**/AI优化/删除技能、安全扫描、Skill Pool 双层架构（v1.0.0+）、技能命令 `/\u003cskill\u003e` （v1.0.2+）、技能池标签（v1.0.2+）、技能选择改进（v1.1.1+）、技能导入中心（v1.1.2+） |\n| 智能体 | MCP | 启用/禁用/创建/删除 MCP 客户端、控制台 MCP 配置（v1.0.0.post2+）、MCP 工具发现（v1.0.2+） |\n| 智能体 | 运行配置 | 修改最大迭代次数和最大输入长度、LLM 重试配置（v0.2.0+） |\n| 智能体 | 上下文管理 | 调整压缩比例、保留比例、工具结果压缩设置 |\n| 智能体 | 工具 | 启用/禁用内置工具、批量切换、glob_search/grep_search |\n| 设置 | 模型 | 配置提供商（含自定义提供商）、管理本地/Ollama/LM Studio 模型、选择模型、搜索过滤（v0.2.0+）、QwenPaw Local Model（v1.0.0+）、视频分析（v1.0.0.post1+）、`/model` 聊天命令（v1.0.2+）、模型 ID 自动补全（v1.1.1+） |\n| 设置 | 环境变量 | 添加/编辑/删除环境变量（敏感值遮罩） |\n| 设置 | 安全 | Tool Guard 安全规则管理、文件访问保护（v0.2.0+）、系统重启/服务保护（v1.0.0+）、中文提示注入检测（v1.0.0+）、扩展 Shell 命令防护（v1.1.1+） |\n| 设置 | Token 使用 | 追踪各提供商 token 使用量 |\n| 设置 | 语音转录 | 语音转录设置 |\n| 设置 | 主题 | 暗黑模式切换 |\n| 设置 | Debug | 实时查看后端日志（v1.1.2+） |\n| 设置 | 账户 | 更改用户名密码（v0.2.0+，认证启用时） |\n\n**Skills Hub 导入**：支持从社区平台导入技能\n- `https://skills.sh/...`\n- `https://clawhub.ai/...`\n- `https://skillsmp.com/...`\n- `https://github.com/...`\n- LobeHub\n- ModelScope Skill Hub\n\n### 相关链接\n\n- [QwenPaw 官方仓库](https://github.com/agentscope-ai/QwenPaw) - 官方 GitHub 仓库\n- [QwenPaw 官方文档](http://qwenpaw.agentscope.io/docs/)\n- [docs/qwenpaw-info.md](docs/qwenpaw-info.md) - QwenPaw 官方文档信息汇总\n- [AgentScope](https://github.com/agentscope-ai/agentscope) - QwenPaw 基础框架\n\n---\n\n## License\n\n本项目基于 QwenPaw 的官方部署方案构建。QwenPaw 由 [AgentScope 团队](https://github.com/agentscope-ai) 开发，采用 [Apache License 2.0](https://github.com/agentscope-ai/QwenPaw/blob/main/LICENSE) 开源许可。\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flog-z%2Fcopaw-docker","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Flog-z%2Fcopaw-docker","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flog-z%2Fcopaw-docker/lists"}