# 问办通服务(askdo-ext)安装维护手册V1.0

北京致远互联软件股份有限公司

2026年6月

# 前言

问办通服务(askdo-ext,以下简称“askdo-ext”)主要为问办通平台提供智能问答、大模型意图识别、多智能体协作及多轮对话等支撑与代理服务,并在意图识别与路由、多轮对话承接、业务场景适配、智能体能力代理接入、第三方 API 统一接入与调用,以及前端交互协同等方面,对 CoMi 现有能力进行了补充和增强。

什么情况需要安装问办通服务: 协同集成方寸智脑服务(智文中枢、AI文枢智写版),需要askdo-ext问办通服务做桥接器!

1788231969299.png

本手册适用于Linux或信创系统,问办通通过Docker容器部署。

注意: Windows环境使用Docker需要安装Docker Desktop桌面套件,Docker Desktop 涉及商业授权要求。对于大型企业及政府机构,商业使用需要购买付费订阅。 因此,项目上采用该方案前需要自行确认授权并承担相应的合规风险。

维度 支持范围
手册适用OA版本 A8+、A8-N、G6、G6-N V11.0
手册适用问办版本 1.0
手册依赖方寸版本 依赖方寸智脑服务
手册依赖CoMi版本 需要CoMi V2.1.1版本及以上,需要提前安装部署初始化CoMi
服务器最小配置 CPU 4核;内存8GB;数据盘100GB
服务器推荐配置 CPU 8核;内存16GB;数据盘200GB

# 修订记录

修订内容 修订时间
V1.1修订稿,发布开放平台 2026-9-1
V1.0初稿 2026-06-22
V1.1新增“问办通工作流配置注意事项” 2026-07-14

# 环境准备

# 3.1 Docker环境准备

本方案需要Docker和Docker Compose容器组件,版本要求Docker 26.1.14及以上、Docker Compose 2.27.1及以上,支持x86_64和arm64架构,Linux或信创操作系统。如果当前环境未安装容器组件,请自行下载安装;如果当前环境已安装Docker和Docker Compose,但不满足版本要求,需要自行手动升级。

  • AMD64安装包: https://cdhx78.seeyon.com:5356/downloads/docker-28.3.3-installer-amd64.run

  • ARM64安装包: https://cdhx78.seeyon.com:5356/downloads/docker-28.3.3-installer-arm64.run

安装示例:

# 下载安装包
wget https://cdhx78.seeyon.com:5356/downloads/docker-28.3.3-installer-amd64.run
# 设置可执行权限
chmod 755 docker-28.3.3-installer-amd64.run
# 运行安装程序(选单机模式即可)
bash docker-28.3.3-installer-amd64.run

# 3.2 askdo-ext资源包准备

Docker安装后,需要下载问办通资源包askdo-ext:从商务公布的安装程序地址下载(文档中心-文档库-营销中心-营销体系销售管理知识库-产品下载地址-提交给区域产品下载地址xxx.xls),产品线对应CoMi:

1788224801292.png

askdo-ext资源包命名 askdo-ext-install-xxx.tar.gz ,如服务器是X86则下载amd64结尾的包,如服务器是ARM则下载arm64结尾的包:

1788225628026.png

# askdo-ext服务安装部署

# 4.1 操作系统参数初始化

麒麟V10系统需要先删除podman,否则后续安装Docker会失败:

yum remove podman -y

在进行安装部署前,先按照如下配置优化Linux相关系统参数:

预装部署所需的命令:

# Red Hat系列,使用yum命令安装,如当前系统提示yum不可用,则尝试使用apt
yum update
yum install tar curl net-tools unzip vim telnet -y
# 基于Debian的系统(如Ubuntu)使用apt预装组件
sudo apt update
sudo apt install tar net-tools unzip vim telnet -y
# 基于欧拉openEuler、龙蜥Anolis OS等系统使用dnf安装
sudo dnf update
sudo dnf install tar curl net-tools unzip vim telnet -y

修改Linux内核参数:

# 编辑配置文件,并在文件末尾添加参数配置
vim /etc/sysctl.conf
net.ipv4.tcp_fin_timeout = 30
net.ipv4.tcp_keepalive_time = 1800
net.ipv4.tcp_window_scaling = 0
net.ipv4.tcp_sack = 0
net.ipv4.tcp_timestamps = 0
# 读取 /etc/sysctl.conf 文件中的设置,使其立即生效
sysctl -p

修改Linux最大进程数最大文件打开数:

通过 vim /etc/security/limits.conf 命令编辑此文件添加以下内容

# open files  (-n)
* soft nofile 65535
* hard nofile 65535
# max user processes  (-u)
* soft nproc 65535
* hard nproc 65535

以上配置完成,重启操作系统,执行 ulimit -a 命令检查open files是否都变成65535

以下为临时生效方法:

# 设置当前会话中立刻生效
ulimit -n 65535  # 设置最大打开文件数量
ulimit -u 65535  # 设置最大进程数

部署前先关闭selinux:

# 执行如下命令永久关闭
sudo sed -i 's/^SELINUX=.*/SELINUX=disabled/' /etc/selinux/config
# 重启操作系统生效
sudo reboot
# 临时禁用(免重启),临时验证关闭效果用,如果确认关闭有效,务必永久关闭
sudo setenforce 0

# 4.2 安装包解压及配置文件准备

以下为安装包上传准备操作:

# 创建安装目录
mkdir -p /data/Seeyon/
# 将askdo-ext包迁移到/data/Seeyon目录下(本例是x86环境的amd64包,arm环境请选择arm64)
mv askdo-ext-install-amd64.tar.gz /data/Seeyon
# 解压askdo包(本例是x86环境的amd64包,arm环境请选择arm64)
cd /data/Seeyon/
tar -zxvf askdo-ext-install-amd64.tar.gz
# 进入安装目录
cd askdo-ext-install
# 创建配置文件(.env.example是隐藏文件)
cp askdo-ext/.env.example askdo-ext/.env
# 编辑.env配置文件,详细配置见下一章节
vim askdo-ext/.env

# 4.3 编辑.env配置文件

参数 说明
SEEYON_API_BASE_URL 必填;填写Nginx代理协同OA的地址,确保问办通服务器能访问到该Nginx地址,例如:http://10.1.111.24:80
COMI_API_SECRET_KEY 必填;CoMi的API Key:通过管理员-CoMibuilder-API服务-Api Key获取或创建独立ApiKey给问办通
LLM_MODEL_NAME 必填;意图识别模型:通过管理员-ComiBuilder模型管理-中取一条可用的LLM模型标识保存到此处(建议取模型的LLM模型标识),例如:deepseek-v3
IFUNC_API_BASE_URL 必填;方寸智脑服务地址,通过方寸智脑本地化部署后获取配置信息,例如:http://10.1.111.12:10602
IFUNC_API_THIRD_USER_ID 必填;方寸智脑第三方用户 ID(thirdUserId),用于标识调用方的用户身份,通过方寸智脑本地化部署后获取配置信息,例如:seeyon
IFUNC_API_APP_ID 必填;方寸智脑应用 ID(AK,Access Key),用于接口调用鉴权,通过方寸智脑本地化部署后获取配置信息,例如:api-access-key-0000001
IFUNC_API_APP_KEY 必填;方寸智脑应用 Secret Key(SK,Secret Key),与 AK 配合用于鉴权加密,通过方寸智脑本地化部署后获取配置信息,例如:api-secret-key-0000001
# OA地址、必填,例如:http://xxx.xxx.xxx.xxx,注意:不要直接填OA内网地址,需要填写经过nginx反向代理后的OA地址
SEEYON_API_BASE_URL=""
# COMI相关API调用sk,包括工作流,智能体等、必填,例如:uxHXcrwUWoZOBQaGK7TRYqhGNDa05tOnKi7JPaorpQkNZ6S6A5
COMI_API_SECRET_KEY=""
# 意图识别模型,例如:deepseek-v3
LLM_MODEL_NAME=""
# 方寸智脑服务地址、必填,例如:http://10.1.111.12:10602
IFUNC_API_BASE_URL=""
# 方寸智脑第三方用户ID、必填,例如:seeyon
IFUNC_API_THIRD_USER_ID=""
# 方寸智脑应用 ID(AK)、必填,例如:api-access-key-0000001
IFUNC_API_APP_ID=""
# 方寸智脑应用 Secret Key(SK)、必填,例如:api-secret-key-0000001
IFUNC_API_APP_KEY=""

# 4.4 执行安装

在 /data/Seeyon/askdo-ext-install 目录下执行install.sh安装:

本步前提必须是完成 Docker环境准备 ,确保Docker服务可用再运行!

cd /data/Seeyon/askdo-ext-install
# 运行安装脚本
bash askdo-ext-servctl.sh install

查看服务是否启动成功:

# 执行命令
curl http://127.0.0.1:18000/askdo/api/v1/health
# 返回
{"status":"ok","redis":"ok","details":null}

# NGINX代理askdo-ext配置

1、请确保CoMi已经部署成功并且配置Nginx可用,再进行继续问办通Nginx的配置!

2、在Nginx主配置文件中,通过 vim nginx.conf 增加 askdo-ext 相关配置,仅需增加两块内容:

  • 2-1)增加 upstream 统一管理 askdo-ext 地址(见 upstream askdo_backend{xxx} 部分)
  • 2-2)在协同OA的server块中增加 askdo-ext.conf; 配置(见server代码块 include askdo-ext.conf; 部分)
# askdo-ext start:增加askdo-ext相关的upstream配置
upstream askdo_backend {
    # 填写askdo-ext正确的IP和端口(问办通默认开放端口18000)
    server 192.168.0.171:18000 max_fails=300 fail_timeout=30s;
    keepalive 32;
}
# askdo-ext end:增加askdo-ext相关的upstream配置

# 代理协同OA
server {
    listen 80;
    server_name  localhost;
    charset utf-8;

    # askdo-ext start:关联askdo-ext配置文件
    include askdo-ext.conf;
    # askdo-ext end:关联askdo-ext配置文件

	# 此处忽略若干其它配置......
}

3、在Nginx主配置文件 nginx.conf 同级目录下新建askdo-ext.conf( vim askdo-ext.conf 命令),将如下配置完整保存到askdo-ext.conf(不用个性化调整任何参数):

location ~ /\.(git|env|svn|htaccess|bak|old|swp)$ {
    deny all;
}

# 无尾斜杠访问时 301 到带斜杠路径,避免 proxy_pass 不匹配
location = /seeyon/askdo {
    return 301 /seeyon/askdo/;
}

location /seeyon/askdo/ {
    proxy_pass http://askdo_backend/askdo/;

    # 修正后端重定向 Location 头中的路径,避免暴露内部路径
    proxy_redirect /askdo/ /seeyon/askdo/;
    proxy_redirect /askdo /seeyon/askdo;

    # 基础代理头
    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;

    # 支持 HTTP/1.1 长连接(配合 upstream keepalive)
    proxy_http_version 1.1;
    proxy_set_header Connection "";

    # 支持 WebSocket 升级(MCP/未来扩展)
    proxy_set_header Upgrade $http_upgrade;

    # 禁用缓冲和缓存(兼容 SSE 实时推送)
    proxy_buffering off;
    proxy_cache off;
    add_header X-Accel-Buffering "no";

    # 禁止压缩,确保 SSE 流式数据不被缓冲
    proxy_set_header Accept-Encoding "";

    # 超时设置(支持 SSE 长连接)
    proxy_connect_timeout 60s;
    proxy_send_timeout 3600s;
    proxy_read_timeout 3600s;

    # 跨域配置(动态回显 Origin,兼容 Credentials)
    set $cors_origin $http_origin;
    if ($cors_origin = '') {
        set $cors_origin '*';
    }
    add_header 'Access-Control-Allow-Origin' $cors_origin always;
    add_header 'Access-Control-Allow-Methods' 'GET, POST, PUT, DELETE, PATCH, OPTIONS' always;
    add_header 'Access-Control-Allow-Headers' 'Content-Type, Authorization, X-Requested-With, Accept' always;
    add_header 'Access-Control-Expose-Headers' 'Content-Length, Content-Type' always;
    add_header 'Access-Control-Allow-Credentials' 'true' always;

    # 处理 OPTIONS 预检请求
    if ($request_method = 'OPTIONS') {
        add_header 'Access-Control-Allow-Origin' $cors_origin always;
        add_header 'Access-Control-Allow-Methods' 'GET, POST, PUT, DELETE, PATCH, OPTIONS' always;
        add_header 'Access-Control-Allow-Headers' 'Content-Type, Authorization, X-Requested-With, Accept' always;
        add_header 'Access-Control-Max-Age' 86400 always;
        add_header 'Content-Length' 0;
        return 204;
    }
}

验证askdo-ext的nginx配置是否正确:

# Nginx服务器 执行命令,当前示例默认NG监听80端口,如项目上监听端口不一样请自行调整
curl http://127.0.0.1/seeyon/askdo/api/v1/health

# 返回
{"status":"ok","redis":"ok","details":null}

# askdo-ext服务日常运维

# 5.1 查看服务状态

#方法1:
# 检查服务状态
cd /data/Seeyon/askdo-ext-install
bash askdo-ext-servctl.sh status
# 方法2:
# 查看所有容器状态,所有服务处于UP状态表示服务正常
docker ps -a
# 查看服务日志
docker logs -f [容器名称]

# 5.2 启停所有服务

# 方法1:
cd /data/Seeyon/askdo-ext-install
# 启动所有服务
bash askdo-ext-servctl.sh start
# 停止所有服务
bash askdo-ext-servctl.sh stop
# 重启所有服务
bash askdo-ext-servctl.sh restart
# 方法2:
cd /data/Seeyon/askdo-ext-install
# 启动所有服务
docker compose start  或 docker-compose start
# 停止所有服务
docker compose stop   或  docker-compose stop
# 重启所有服务
docker compose restart  或 docker-compose restart

# 5.3 启停单个服务

容器名称 服务说明
askdo-redis 问办通专用 Redis 缓存服务
askdo-ext 问办通服务 (Python 应用主服务)
# 启动单个服务
docker start askdo-ext
# 停止单个服务
docker stop askdo-ext
# 重启单个服务
docker restart askdo-ext

# 5.4 修改.env配置后重载服务

如问办通服务已经部署运行,此时如业务需要,修改了 .env环境配置 ,修改后需要执行down、up才能使容器内的askdo-ext服务生效:

# 修改.env配置文件
cd /data/Seeyon/askdo-ext-install
vim askdo-ext/.env

# 修改.env配置需要执行down、up(其它场景无需此操作)
cd /data/Seeyon/askdo-ext-install
docker compose down
docker compose up -d

# 5.5 查看askdo-ext服务日志

方法1:

# 查看所有日志
bash askdo-ext-servctl.sh logs
# 查看指定服务的日志
bash askdo-ext-servctl.sh logs askdo-ext

方法2:askdo-ext服务日志存放于askdo-ext-install/ic/logs目录下,app.log是最新日志。

# 5.6 创建备份

# 创建备份(由于问办通主要通过容器外挂载保存配置文件,直接备份挂载目录下的配置即可)
cd /data/Seeyon/askdo-ext-install

tar -zcvf askdo-ext-config-bak.tar.gz askdo-ext/.env askdo-redis/conf/redis.conf

# 5.7 目录结构说明

askdo-ext-install/
├── askdo-ext/          # 问办通服务配置及日志
│   ├── .env            # 环境变量配置文件
│   └── logs/           # 应用运行日志目录
├── askdo-redis/        # Redis 缓存服务配置及数据
│   ├── conf/           # Redis 配置文件目录
│   │   └── redis.conf  # Redis 配置文件
│   └── data/           # Redis 数据持久化目录
├── images/             # 离线部署镜像存放目录
└── docker-compose.yml  # Docker Compose 容器编排文件

# 5.8 卸载askdo-ext服务

cd /data/Seeyon/askdo-ext-install/
docker compose down -v
# 查看与问办通相关的镜像
docker images|grep askdo-ext
# 删除docker中的问办通相关的images
docker rmi [askdo-ext所属的镜像ID]
# 备份并删除目录
cd /data/Seeyon/
mv askdo-ext-install askdo-ext-install.bak_$(date +%Y%m%d_%H%M%S)
rm -rf askdo-ext-install

# 常见问题

# 1. 安装完成后启动报错

报错内容:

✘ Network askdo-ext-install_askdo-network Error

failed to create network askdo-ext-install_askdo-network: Error response from daemon: Failed to Setup IP tables: Unable to enable SKIP DNAT rule: (iptables failed: iptables --wait -t nat -I DOCKER -i br-1b50a9c2855f -j RETURN: iptables: No chain/target/match by that name.

descript

解决方法:重启docker

systemctl restart docker

# 2. 问办通大模型连接超时或失败

报错内容:问办通在运行时提示连接方寸智脑超时或鉴权失败。

解决方法:请检查安装目录下 askdo-ext/.env 配置文件中的方寸智脑 API 地址(IFUNC_API_BASE_URL)以及 AK/SK(IFUNC_API_APP_ID 和 IFUNC_API_APP_KEY)是否填写正确,并确保服务器可以正常访问该 API 地址。

# 3.问办通工作流配置注意事项

https://docs.qq.com/sheet/DS3FkV3hwRFZ1R1dB?aidPos=detail&no_promotion=1&is_blank_or_template=blank&tab=BB08J2

编撰人:zhaojn、het、admin