feat: 添加命令行接口 (CLI) 工具
- 新增 cli.py 命令行工具
- 支持所有核心功能操作
- 新增 CLI_USAGE.md 使用文档
- 所有命令测试通过 ✅
功能列表:
- login: 登录认证
- provinces: 获取省份
- article: 文章管理
- service: 服务管理
- audit: AI 审核
This commit is contained in:
335
CLI_USAGE.md
Normal file
335
CLI_USAGE.md
Normal file
@@ -0,0 +1,335 @@
|
||||
# 城市手册 - 命令行接口使用指南
|
||||
|
||||
## 概述
|
||||
|
||||
城市手册提供完整的命令行接口 (CLI),可以通过命令行操作所有核心功能。
|
||||
|
||||
## 运行方式
|
||||
|
||||
### 在服务器上运行
|
||||
|
||||
```bash
|
||||
cd /home/ubuntu/city-manual
|
||||
docker compose exec -T backend python /app/cli.py <命令> [参数]
|
||||
```
|
||||
|
||||
### 本地运行(需要访问服务器数据库)
|
||||
|
||||
```bash
|
||||
cd /path/to/project
|
||||
python cli.py <命令> [参数]
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 命令列表
|
||||
|
||||
### 认证命令
|
||||
|
||||
#### login - 登录获取 Token
|
||||
|
||||
```bash
|
||||
docker compose exec -T backend python /app/cli.py login <用户名> <密码>
|
||||
```
|
||||
|
||||
**示例:**
|
||||
```bash
|
||||
docker compose exec -T backend python /app/cli.py login admin Admin123!
|
||||
```
|
||||
|
||||
**输出:**
|
||||
```
|
||||
✅ 登录成功
|
||||
Token: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
### 省份命令
|
||||
|
||||
#### provinces - 获取所有省份
|
||||
|
||||
```bash
|
||||
docker compose exec -T backend python /app/cli.py provinces
|
||||
```
|
||||
|
||||
**输出:**
|
||||
```
|
||||
✅ 共 34 个省份:
|
||||
1. 北京市 (ID: 1)
|
||||
2. 天津市 (ID: 2)
|
||||
3. 上海市 (ID: 3)
|
||||
...
|
||||
```
|
||||
|
||||
#### region - 获取省份详情
|
||||
|
||||
```bash
|
||||
docker compose exec -T backend python /app/cli.py region <省份 ID>
|
||||
```
|
||||
|
||||
**示例:**
|
||||
```bash
|
||||
docker compose exec -T backend python /app/cli.py region 1
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
### 文章命令
|
||||
|
||||
#### article list - 获取文章列表
|
||||
|
||||
```bash
|
||||
docker compose exec -T backend python /app/cli.py article list [数量]
|
||||
```
|
||||
|
||||
**示例:**
|
||||
```bash
|
||||
docker compose exec -T backend python /app/cli.py article list 10
|
||||
```
|
||||
|
||||
#### article create - 创建文章
|
||||
|
||||
```bash
|
||||
docker compose exec -T backend python /app/cli.py article create <标题> <内容> <省份 ID> [类型]
|
||||
```
|
||||
|
||||
**类型选项:** `basic`, `history`, `culture`, `practical`, `life`
|
||||
|
||||
**示例:**
|
||||
```bash
|
||||
docker compose exec -T backend python /app/cli.py article create "北京攻略" "北京是中国的首都..." 1 basic
|
||||
```
|
||||
|
||||
#### article submit - 提交文章审核
|
||||
|
||||
```bash
|
||||
docker compose exec -T backend python /app/cli.py article submit <文章 ID>
|
||||
```
|
||||
|
||||
**示例:**
|
||||
```bash
|
||||
docker compose exec -T backend python /app/cli.py article submit 1
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
### 服务命令
|
||||
|
||||
#### service list - 获取服务列表
|
||||
|
||||
```bash
|
||||
docker compose exec -T backend python /app/cli.py service list [数量]
|
||||
```
|
||||
|
||||
**示例:**
|
||||
```bash
|
||||
docker compose exec -T backend python /app/cli.py service list 10
|
||||
```
|
||||
|
||||
#### service create - 创建特色服务
|
||||
|
||||
```bash
|
||||
docker compose exec -T backend python /app/cli.py service create <名称> <描述> <省份 ID> [分类]
|
||||
```
|
||||
|
||||
**分类选项:** `clothing`, `food`, `accommodation`, `transport`, `entertainment`, `tourism`, `culture`
|
||||
|
||||
**示例:**
|
||||
```bash
|
||||
docker compose exec -T backend python /app/cli.py service create "老北京烤鸭" "正宗北京烤鸭" 1 food
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
### AI 审核命令 🔥
|
||||
|
||||
#### audit status - AI 审核服务状态
|
||||
|
||||
```bash
|
||||
docker compose exec -T backend python /app/cli.py audit status
|
||||
```
|
||||
|
||||
**输出:**
|
||||
```
|
||||
✅ AI 审核服务状态:active
|
||||
版本:1.0.0
|
||||
功能:敏感词检测, 广告检测, 内容质量评估
|
||||
```
|
||||
|
||||
#### audit article - AI 审核文章
|
||||
|
||||
```bash
|
||||
docker compose exec -T backend python /app/cli.py audit article <标题> <内容>
|
||||
```
|
||||
|
||||
**示例 1 (正常内容):**
|
||||
```bash
|
||||
docker compose exec -T backend python /app/cli.py audit article "北京攻略" "北京是中国的首都,有很多著名景点"
|
||||
```
|
||||
|
||||
**输出:**
|
||||
```
|
||||
AI 审核结果:✅ 通过
|
||||
原因:审核通过
|
||||
详情:{
|
||||
"quality_score": 100
|
||||
}
|
||||
```
|
||||
|
||||
**示例 2 (敏感词):**
|
||||
```bash
|
||||
docker compose exec -T backend python /app/cli.py audit article "测试" "这是一个包含暴力内容的文章"
|
||||
```
|
||||
|
||||
**输出:**
|
||||
```
|
||||
AI 审核结果:❌ 拒绝
|
||||
原因:内容包含敏感词:暴力
|
||||
详情:{
|
||||
"sensitive_words": [
|
||||
"暴力"
|
||||
]
|
||||
}
|
||||
```
|
||||
|
||||
#### audit comment - AI 审核评论
|
||||
|
||||
```bash
|
||||
docker compose exec -T backend python /app/cli.py audit comment <内容>
|
||||
```
|
||||
|
||||
**示例 1 (正常):**
|
||||
```bash
|
||||
docker compose exec -T backend python /app/cli.py audit comment "写得很好!"
|
||||
```
|
||||
|
||||
**示例 2 (广告):**
|
||||
```bash
|
||||
docker compose exec -T backend python /app/cli.py audit comment "加微信 123456 了解更多"
|
||||
```
|
||||
|
||||
**输出:**
|
||||
```
|
||||
AI 审核结果:❌ 拒绝
|
||||
原因:疑似广告:加微信
|
||||
```
|
||||
|
||||
#### audit service - AI 审核服务
|
||||
|
||||
```bash
|
||||
docker compose exec -T backend python /app/cli.py audit service <名称> <描述>
|
||||
```
|
||||
|
||||
**示例:**
|
||||
```bash
|
||||
docker compose exec -T backend python /app/cli.py audit service "老北京烤鸭" "正宗北京烤鸭,皮脆肉嫩"
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 快速测试脚本
|
||||
|
||||
### 测试所有 AI 审核功能
|
||||
|
||||
```bash
|
||||
cd /home/ubuntu/city-manual
|
||||
|
||||
echo '=== AI 审核测试套件 ==='
|
||||
|
||||
echo '1. 测试正常文章'
|
||||
docker compose exec -T backend python /app/cli.py audit article '北京攻略' '北京是中国的首都'
|
||||
|
||||
echo ''
|
||||
echo '2. 测试敏感词文章'
|
||||
docker compose exec -T backend python /app/cli.py audit article '测试' '包含暴力内容'
|
||||
|
||||
echo ''
|
||||
echo '3. 测试广告评论'
|
||||
docker compose exec -T backend python /app/cli.py audit comment '加微信 123456'
|
||||
|
||||
echo ''
|
||||
echo '4. 测试正常服务'
|
||||
docker compose exec -T backend python /app/cli.py audit service '烤鸭店' '正宗北京烤鸭'
|
||||
|
||||
echo ''
|
||||
echo '=== 测试完成 ==='
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 完整工作流程示例
|
||||
|
||||
### 1. 创建并审核文章
|
||||
|
||||
```bash
|
||||
# 查看省份列表
|
||||
docker compose exec -T backend python /app/cli.py provinces
|
||||
|
||||
# 创建文章(使用北京市 ID=1)
|
||||
docker compose exec -T backend python /app/cli.py article create "北京旅游攻略" "北京是中国的首都..." 1
|
||||
|
||||
# AI 预审
|
||||
docker compose exec -T backend python /app/cli.py audit article "北京旅游攻略" "北京是中国的首都..."
|
||||
|
||||
# 提交审核
|
||||
docker compose exec -T backend python /app/cli.py article submit 1
|
||||
```
|
||||
|
||||
### 2. 创建并审核服务
|
||||
|
||||
```bash
|
||||
# 创建服务
|
||||
docker compose exec -T backend python /app/cli.py service create "老北京烤鸭" "正宗北京烤鸭" 1 food
|
||||
|
||||
# AI 预审
|
||||
docker compose exec -T backend python /app/cli.py audit service "老北京烤鸭" "正宗北京烤鸭"
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 错误处理
|
||||
|
||||
### 常见错误
|
||||
|
||||
1. **认证失败**
|
||||
```
|
||||
❌ 错误:Authentication credentials were not provided.
|
||||
```
|
||||
解决:确保使用正确的用户名密码登录
|
||||
|
||||
2. **网络错误**
|
||||
```
|
||||
❌ 错误:network - <urlopen error...>
|
||||
```
|
||||
解决:检查 Docker 容器是否正常运行
|
||||
|
||||
3. **内容被拒绝**
|
||||
```
|
||||
AI 审核结果:❌ 拒绝
|
||||
原因:内容包含敏感词:暴力
|
||||
```
|
||||
解决:修改内容,移除敏感词
|
||||
|
||||
---
|
||||
|
||||
## 系统状态检查
|
||||
|
||||
```bash
|
||||
# 检查容器状态
|
||||
docker compose ps
|
||||
|
||||
# 检查数据库
|
||||
docker compose exec -T backend python /app/cli.py provinces
|
||||
|
||||
# 检查 AI 审核服务
|
||||
docker compose exec -T backend python /app/cli.py audit status
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 文档版本
|
||||
|
||||
- **版本**: 1.0.0
|
||||
- **更新日期**: 2026-04-14
|
||||
- **测试状态**: ✅ 所有命令测试通过
|
||||
Reference in New Issue
Block a user