[CoPaw 教程系列] #14: Copaw Cli

CoPaw 高级:CLI 命令行工具详解

CoPaw 提供了强大的命令行工具(CLI),通过 copaw

命令可以完成各种操作,包括应用启动、定时任务管理、配置管理等。本文将详细介绍 CLI 命令的使用方法和常用场景。

CLI 概述

什么是 CLI?

CLI(Command Line Interface,命令行界面)是 CoPaw 的命令行工具,可以通过终端执行各种操作。

CLI 的优势

  1. 快速高效
  • 无需打开浏览器
  • 操作速度快
  • 适合批处理和自动化
  1. 自动化友好
  • 可以在脚本中使用
  • 支持管道和重定向
  • 易于集成到 CI/CD
  1. 灵活强大
  • 支持各种操作
  • 可与其他工具组合
  • 适合高级用户

CLI 基础

查看帮助

# 查看总体帮助

copaw --help

查看某个命令的帮助

copaw app --help

copaw cron --help

命令结构

CLI 命令的基本结构:

copaw [command] [subcommand] [options]

示例:

copaw app start # 启动应用

copaw cron create --help # 查看创建定时任务的帮助

copaw --version # 查看版本

应用管理

copaw app 命令

管理 CoPaw 应用的命令。

启动应用

# 启动 CoPaw 应用

copaw app start

指定工作目录启动

copaw app start --work-dir /path/to/copaw

指定配置文件启动

copaw app start --config /path/to/config.json

指定端口启动

copaw app start --port 9000

调试模式启动

copaw app start --debug

选项说明:

| 选项 | 简写 | 说明 |

|------|------|------|

| --work-dir | -w

| 工作目录路径 |

| --config | -c

| 配置文件路径 |

| --port | -p

| 服务端口 |

| --debug | -d

| 启用调试模式 |

| --host | -h

| 服务主机地址 |

停止应用

# 停止 CoPaw 应用

copaw app stop

强制停止

copaw app stop --force

重启应用

# 重启 CoPaw 应用

copaw app restart

重启并清除缓存

copaw app restart --clear-cache

查看状态

# 查看应用状态

copaw app status

详细状态

copaw app status --verbose

查看日志

# 查看最近 100 行日志

copaw app logs

查看所有日志

copaw app logs --all

实时查看日志

copaw app logs --follow

指定行数

copaw app logs --lines 50

定时任务管理

copaw cron 命令

管理 CoPaw 定时任务的命令。

创建定时任务

# 创建定时任务

copaw cron create

交互式创建

copaw cron create --interactive

交互式创建示例:

$ copaw cron create

? 任务名称: 每日提醒

? 触发时间: 0 9

? 提示词: 提醒我今天的工作任务

? 频道: dingtalk

✅ 任务创建成功!

参数说明:

| 参数 | 说明 | 示例 |

|------|------|------|

| --name | 任务名称 | 每日提醒

|

| --schedule | Cron 表达式 | 0 9

|

| --prompt | 提示词 | 提醒我今天的工作任务

|

| --channel | 频道类型 | dingtalk

|

| --interactive

| 交互式创建 | - |

查询定时任务

# 查询所有定时任务

copaw cron list

查询特定任务

copaw cron list --name 每日提醒

简洁格式

copaw cron list --simple

JSON 格式输出

copaw cron list --json

输出示例:

ID 名称 调度 状态

1 每日提醒 0 9

运行中

2 每周总结 0 18

5 暂停

3 备份提醒 0 2

0 运行中

暂停定时任务

# 暂停任务

copaw cron pause <task_id>

暂停多个任务

copaw cron pause 1 2 3

通过名称暂停

copaw cron pause --name 每日提醒

恢复定时任务

# 恢复任务

copaw cron resume <task_id>

恢复多个任务

copaw cron resume 1 2 3

通过名称恢复

copaw cron resume --name 每日提醒

删除定时任务

# 删除任务

copaw cron delete <task_id>

删除多个任务

copaw cron delete 1 2 3

通过名称删除

copaw cron delete --name 每日提醒

删除所有任务(谨慎使用)

copaw cron delete --all

更新定时任务

# 更新任务调度

copaw cron update <task_id> --schedule "0 10

"

更新提示词

copaw cron update <task_id> --prompt "新的提示词"

更新频道

copaw cron update <task_id> --channel console

配置管理

copaw config 命令

管理 CoPaw 配置的命令。

查看配置

# 查看所有配置

copaw config get

查看特定配置

copaw config get agent.model_provider

JSON 格式输出

copaw config get --json

输出示例:

{

"version": "1.0.0",

"server": {

"host": "0.0.0.0",

"port": 8088

},

"agent": {

"model_provider": "dashscope",

"model_name": "qwen3.5-plus"

}

}

设置配置

# 设置配置

copaw config set agent.model_provider openai

设置多个配置

copaw config set agent.model_name gpt-4 \

agent.max_iterations 15

删除配置

# 删除配置

copaw config unset agent.max_iterations

重置配置

# 重置为默认配置

copaw config reset

重置特定部分

copaw config reset agent

环境变量管理

copaw env 命令

管理 CoPaw 环境变量的命令。

查看环境变量

# 查看所有环境变量

copaw env list

查看特定变量

copaw env get OPENAI_API_KEY

输出示例:

OPENAI_API_KEY=sk-
DASHSCOPE_API_KEY=sk-

DB_HOST=localhost

DB_PORT=5432

设置环境变量

# 设置环境变量

copaw env set OPENAI_API_KEY sk-xxxxxxxx

注意:

使用控制台设置环境变量更方便。

删除环境变量

# 删除环境变量

copaw env unset OPENAI_API_KEY

从文件导入

# 从 .env 文件导入

copaw env load .env

从 JSON 文件导入

copaw env load config.json

技能管理

copaw skills 命令

管理 CoPaw Skills 的命令。

列出所有 Skills

# 列出所有 Skills

copaw skills list

显示详细信息

copaw skills list --verbose

输出示例:

名称 状态 描述

cron ✅ 启用 定时任务管理

pdf ✅ 启用 PDF 文档处理

docx ✅ 启用 Word 文档处理

news ⏸️ 暂停 新闻资讯

file_reader ✅ 启用 文件读取

启用 Skill

# 启用 Skill

copaw skills enable pdf

启用多个 Skills

copaw skills enable pdf docx news

禁用 Skill

# 禁用 Skill

copaw skills disable news

禁用多个 Skills

copaw skills disable news email

查看 Skill 信息

# 查看 Skill 信息

copaw skills info pdf

输出示例:

Skill: pdf

描述: PDF 文档处理

版本: 1.0.0

状态: 启用

作者: CoPaw Team

文档: https://copaw.agentscope.io/skills/pdf

更新 Skills

# 更新所有 Skills

copaw skills update

更新特定 Skill

copaw skills update pdf

诊断和调试

copaw doctor 命令

检查 CoPaw 系统状态的命令。

# 运行诊断

copaw doctor

详细诊断

copaw doctor --verbose

检查特定项目

copaw doctor --check api,skills,channels

输出示例:

🔍 CoPaw 系统诊断

✅ 配置文件: 正常

✅ 数据库连接: 正常

✅ Skills: 正常

✅ 频道: 正常

⚠️ API 密钥: OpenAI API Key 未设置

✅ 内存: 正常 (45%)

✅ 磁盘: 正常 (30%)

建议: 设置 OpenAI API Key 以启用 GPT 模型

copaw version 命令

查看 CoPaw 版本的命令。

# 查看版本

copaw --version

详细版本信息

copaw version --verbose

输出示例:

CoPaw v1.2.0

详细信息:

版本: 1.2.0

构建时间: 2024-03-15

Python 版本: 3.11.0

系统平台: Linux x86_64

copaw logs 命令

查看日志的命令。

# 查看日志

copaw logs

实时日志

copaw logs --follow

过滤日志

copaw logs --filter ERROR

最近 50 行

copaw logs --lines 50

实用工具

copaw export 命令

导出 CoPaw 数据的命令。

# 导出配置

copaw export config > config.json

导出定时任务

copaw export cron > cron.json

导出环境变量

copaw export env > .env

导出所有数据

copaw export all > copaw_backup.json

copaw import 命令

导入 CoPaw 数据的命令。

# 导入配置

copaw import config config.json

导入定时任务

copaw import cron cron.json

导入环境变量

copaw import env .env

copaw clear 命令

清理 CoPaw 数据的命令。

# 清理缓存

copaw clear cache

清理日志

copaw clear logs

清理所有(谨慎使用)

copaw clear all

高级用法

管道和重定向

# 将配置导出到文件

copaw config get --json > config_backup.json

从文件导入配置

cat config.json | copaw config import

过滤日志

copaw logs --filter ERROR | grep "API"

统计任务数量

copaw cron list | wc -l

脚本自动化

示例 1:启动并监控 CoPaw

#!/bin/bash

启动 CoPaw

copaw app start

等待启动

sleep 5

检查状态

if copaw app status; then

echo "CoPaw 启动成功!"

else

echo "CoPaw 启动失败!"

exit 1

fi

监控日志

copaw logs --follow

示例 2:批量创建定时任务

#!/bin/bash

创建多个定时任务

copaw cron create \

--name "每日提醒" \

--schedule "0 9

" \

--prompt "提醒我今天的工作任务"

copaw cron create \

--name "每周总结" \

--schedule "0 18

5" \

--prompt "总结本周的工作"

echo "定时任务创建完成!"

示例 3:备份 CoPaw 数据

#!/bin/bash

创建备份目录

BACKUP_DIR="/backup/copaw/$(date +%Y%m%d_%H%M%S)"

mkdir -p $BACKUP_DIR

导出配置

copaw config get --json > $BACKUP_DIR/config.json

导出定时任务

copaw cron list --json > $BACKUP_DIR/cron.json

导出环境变量

copaw env list > $BACKUP_DIR/env.txt

echo "备份完成:$BACKUP_DIR"

系统集成

与 cron 集成:

# 每天凌晨备份数据

0 0

/usr/local/bin/copaw export all > /backup/copaw_$(date +\%Y\%m\%d).json

与监控集成:

# 检查 CoPaw 状态并发送告警

copaw app status || echo "CoPaw 已停止!" | mail -s "CoPaw 告警" admin@example.com

实战案例

案例 1:快速启动和监控

# 启动 CoPaw

copaw app start

查看状态

copaw app status

查看日志

copaw logs --follow

停止 CoPaw

copaw app stop

案例 2:批量管理定时任务

# 查询所有任务

copaw cron list

暂停所有任务

copaw cron pause $(copaw cron list --simple | awk '{print $1}')

恢复特定任务

copaw cron resume 1 3 5

删除不需要的任务

copaw cron delete 2 4

案例 3:环境切换

# 开发环境

export COPAW_CONFIG=~/.copaw/development.json

copaw app start

生产环境

export COPAW_CONFIG=~/.copaw/production.json

copaw app start

案例 4:诊断和修复

# 运行诊断

copaw doctor --verbose

查看日志

copaw logs --filter ERROR

检查配置

copaw config get

清理缓存

copaw clear cache

重启应用

copaw app restart

常见问题

Q1: 命令找不到?

A: 检查:

  • CoPaw 是否正确安装
  • PATH 环境变量是否包含 CoPaw
  • 是否需要使用完整路径

# 查看 CoPaw 安装位置

which copaw

查看版本

copaw --version

Q2: 权限不足?

A: 检查:

  • 是否有足够的权限
  • 是否需要 sudo
  • 文件和目录权限是否正确

# 使用 sudo

sudo copaw app start

检查文件权限

ls -l ~/.copaw

Q3: 如何获取命令的详细帮助?

A:

# 查看总体帮助

copaw --help

查看特定命令的帮助

copaw app --help

copaw cron create --help

Q4: CLI 和控制台有什么区别?

A:

  • CLI:命令行操作,适合自动化和脚本
  • 控制台:Web 界面操作,适合日常管理

根据场景选择使用方式。

Q5: 如何在脚本中使用 CLI?

A:

#!/bin/bash

示例脚本

copaw app start

if [ $? -eq 0 ]; then

echo "启动成功"

else

echo "启动失败"

fi

获取命令输出

TASKS=$(copaw cron list --simple)

echo $TASKS

下一步

现在你已经了解了 CLI 的使用方法。接下来建议:

  1. 阅读下一篇:CoPaw 高级:故障排查与常见问题 - 学习故障排查技巧
  2. 实践 CLI:在实际使用中尝试各种命令
  3. 编写脚本:使用 CLI 自动化日常工作
  4. 深入学习:探索更多 CLI 命令和选项

总结

CLI 是 CoPaw 的重要工具:

快速高效

- 无需打开浏览器

自动化友好

- 可以在脚本中使用

功能完整

- 支持所有主要操作

灵活强大

- 可以与其他工具组合

易于学习

- 清晰的命令结构

通过 CLI,可以快速完成各种操作,实现自动化和批处理。


相关资源

  • CoPaw 官方文档:https://copaw.agentscope.io/
  • CoPaw CLI 文档:https://copaw.agentscope.io/docs/cli
  • CoPaw GitHub:https://github.com/agentscope-ai/CoPaw

发表回复

后才能评论