[TOC]
- 机器人代码如下
.
├── LICENSE
├── README.md
├── README_en.md
├── VERSION
├── docs # 文档集合
│ ├── CONTRIBUTING.md
│ ├── createskills.md
│ ├── deploy.md
│ ├── release.md
│ ├── resource
│ └── usage.md
├── requirements.txt
├── scripts
│ └── cron.py
└── src
├── backend # 机器人后端
└── manager # 机器人管理端代码
- Redis >= 3.2.11
- 语料库
请参看官方资料 Redis
推荐版本下载: Redis 3.2.11
注:可采用蓝鲸官方默认Redis
- Redis需要打开auth认证的功能,并为其配置密码
官方发布的 Linux Release 包下载地址见这里
解压
tar -zxf release.tar.gz 或 unzip release.zip
- 包的目录结构如下
创建用户配置文件
cd release && touch config.py
添加用户自定义配置,引入机器人默认配置,设置唤醒关键词,定义机器人名称
cd release && vim config.py
import re
from opsbot.default_config import *
RTX_NAME = '我的机器人'
COMMAND_START = ['', re.compile(r'[/!]+')]
API_ROOT = 'https://qyapi.weixin.qq.com/cgi-bin'
编辑启动文件 config.py, 设置启动Host和Port, 注:该端口要与企业微信应用回调相对应
HOST = '127.0.0.1'
PORT = 8888
进入企业微信可查看
配置IM密钥文件
配置蓝鲸API密钥和路径
cd release && vim component/config.py
"""
ALL Component Config
Include: BK(APP_ID, APP_SECRET)
"""
BK_APP_ID = "" # 你的appid
BK_APP_SECRET = "" # 你的appkey
BK_GET_TOKEN_URL = "" # 目前不需要
BK_REFRESH_TOKEN_URL = "" # 目前不需要
BK_PAAS_DOMAIN = "" # 社区版平台域名
BK_CHAT_DOMAIN = "" # 留空
BK_JOB_DOMAIN = "" # 社区版JOB平台域名
BK_SOPS_DOMAIN = "" # 社区版标准运维域名
BK_DEVOPS_DOMAIN = "" # 社区版蓝盾域名
BK_ITSM_DOMAIN = "" # 社区版流程系统域名
BK_CC_ROOT = "" # 访问蓝鲸cc的根路径 你的domain + /api/c/compapi/v2/cc/
BK_JOB_ROOT = "" # 访问蓝鲸JOB的根路径 你的domain + /api/c/compapi/v2/jobv3/
BK_SOPS_ROOT = "" # 访问蓝鲸SOPS的根路径 你的domain + /api/c/compapi/v2/sops/
BK_DEVOPS_ROOT = "" # 访问蓝盾的根路径
BACKEND_ROOT = "" # 访问bk-chatbot的根路径 你的domain + /o/bk-chatbot/
"""
REDIS 路径
"""
REDIS_DB_PASSWORD = '' # 访问密码
REDIS_DB_PORT = 6379 # 默认端口
REDIS_DB_NAME = '' # redis 启动的地址
任务执行插件配置
cd release && vim intent/plugins/task/settings.py
"""
交互配置
"""
SESSISON_FINISHED_MSG = '本次会话结束,您可以开启新的会话'
SESSISON_FINISHED_CMD = '结束'
TASK_ALLOW_CMD = '是'
TASK_REFUSE_CMD = '否'
TASK_EXEC_SUCCESS = '任务启动成功'
TASK_EXEC_FAIL = '任务启动失败'
更多机器人个性化配置, 请参照
cd release && cat opsbot/default_config.py
cd release && ./control start
cd release && ./control stop
自行服务器安装Docker环境 已经为您编排好了一般Dockerfile文件
release/src/backend/Dockerfile
请一次性将需要的配置按照环境形式写入Dockerfile
打包镜像
docker build -f release/src/backend/Dockerfile --network=host -t {namespace}:{tag} .
启动镜像
docker run -d --name {name} -p {port}:{port} {namespace}:{tag}
- mysql
- redis
- 代码读取环境变量中的值进行参数设置
APP_ID="xxx" # APP_ID(如果蓝鲸paas部署环境变量中自带)
APP_TOKEN="xxx" # APP_TOKEN(如果蓝鲸paas部署环境变量中自带)
BK_PAAS_HOST="" # 社区版蓝鲸地址
BKAPP_JOB_VERSION="V3" # 作业平台版本(默认为V3)
BKAPP_DEVOPS_HOST="" # 蓝盾访问host
BKAPP_JOB_HOST="" # 作业平台host
# redis配置
BKAPP_REDIS_DB_NAME="localhost" # redis地址(默认为localhost)
BKAPP_REDIS_DB_PASSWORD="" # redis密码(默认为空)
BKAPP_REDIS_DB_PORT="6379" # redis端口(默认为6379)
# mysql配置
BKAPP_GCS_MYSQL_NAME="" # mysql 库名
BKAPP_GCS_MYSQL_USER="" # mysql 用户
BKAPP_GCS_MYSQL_PASSWORD="" # mysql 密码
BKAPP_GCS_MYSQL_HOST="" # mysql host
BKAPP_GCS_MYSQL_PORT="" # mysql 端口
- pip下载(setuptools<=57.5.0)
pip install --upgrade setuptools==57.5.0 # 如果setuptools版本过高先降低版本
pip install -r requirements.txt # python环境依赖下载
- 启动web服务
gunicorn wsgi -w 4
- 启动celery
python manage.py celery worker -l info
python manage.py celery beat -l info
社区版HOST配置
{你社区版nginx所在服务器} {你自定义的域名}
bk-chatbot 后台服务启动地址跟企业微信回调地址一致 否则收不到消息