一、安装tg-signer,参考项目主页:
https://github.com/amchii/tg-signer
推荐使用docker方式安装,当然熟悉Python的也可以通过py安装。
docker run -d \ --name tg-signer \ --restart unless-stopped \ -p 18080:8080 \ -v /root/tgsigner2:/opt/tg-signer \ -e TZ="Asia/Shanghai" \ -e TG_PROXY="socks5://192.168.10.254:1070" \ -e TG_SIGNER_GUI_AUTHCODE="change-me" \ ghcr.io/amchii/tg-signer:latest-webui
yamlversion: "3.8"
networks:
tg_host:
external: false
services:
tg-signer:
# 替换为指定的官方镜像
image: ghcr.io/amchii/tg-signer:latest-webui
container_name: tg-signer
# 生产环境建议加上 WebUI 端口映射(左边是宿主机端口,可自定义;右边是容器内固定端口)
ports:
- "18080:8080"
volumes:
- /root/tgsigner:/opt/tg-signer
environment:
- TG_PROXY=socks5://192.168.10.254:1070
- TZ=${TZ:-Asia/Shanghai}
# 提示:官方 WebUI 镜像通常需要密码,建议加上这行(如不需要可删掉)
- TG_SIGNER_GUI_AUTHCODE=change-me
networks:
- tg_host
restart: unless-stopped
二、配置AI进行识图,默认是使用gpt-4o。但是因为科技霸权的原因国内无法使用。改为使用阿里千问的相关模型。
json{
"api_key": "sk-ws-H*****",
"base_url": "https://dashscope.aliyuncs.com/compatible-mode/v1",
"model": "qwen3-vl-plus"
}
三、AI识图并签道的效果:

四、Openwrt中开机自动运行tg-signer run zdz
使用int的方式来实现
在/etc/init.d创建tg_updater
内容如下
bash#!/bin/sh /etc/rc.common
# 99 代表全系统最后启动,此时 Docker 必然已经完全就绪
START=99
STOP=10
USE_PROCD=1
# 将所有逻辑打包成一个标准的后台 Shell 脚本文件
start_service() {
procd_open_instance
# 直接使用 sh -c 执行多条命令,完美兼容 Ash
procd_set_param command /bin/sh -c '
sleep 10
wait_for_container() {
local container_name=$1
for i in $(seq 1 60); do
if [ "$(/usr/bin/docker inspect -f "{{.State.Running}}" "$container_name" 2>/dev/null)" = "true" ]; then
sleep 3
return 0
fi
sleep 2
done
return 1
}
if wait_for_container "tg-signer"; then
/usr/bin/docker exec -d tg-signer tg-signer run zdz
fi
if wait_for_container "tg-signer2"; then
/usr/bin/docker exec -d tg-signer2 tg-signer run zdz
fi
'
procd_set_param stdout 1
procd_set_param stderr 1
procd_close_instance
}
然后设置运行权限和开机启动
bash# 1. 赋予可执行权限
chmod +x /etc/init.d/tg_updater
# 2. 启用开机自启
/etc/init.d/tg_updater enable
# 3. 立即手动测试启动一次
/etc/init.d/tg_updater start