正在写deepseek透传的相关事宜
This commit is contained in:
@@ -0,0 +1,67 @@
|
||||
#!/bin/bash
|
||||
# my_deepseek - 一键启动 DeepSeek Harness Web UI + socat 桥接
|
||||
#
|
||||
# 用法:
|
||||
# my_deepseek [工作目录] # 启动 dsh,默认工作目录=当前目录
|
||||
# my_deepseek stop # 停止 dsh 和 socat
|
||||
#
|
||||
# 说明:
|
||||
# - dsh Web UI 监听 127.0.0.1:DSH_PORT(官方禁止 --host 0.0.0.0)
|
||||
# - socat 桥接 EXT_PORT -> DSH_PORT,供外部经 Xray 隧道访问
|
||||
# - socat 带 retry:dsh 未就绪时每 1 秒重试,直到连上
|
||||
# - 防重复:启动前检查端口占用,已运行则直接提示
|
||||
# - 清理:stop 子命令或 Ctrl+C 时杀掉 socat,不留僵尸
|
||||
|
||||
DSH_PORT=37999
|
||||
EXT_PORT=3080
|
||||
TRUST_HOSTS="--trusted-host 49.232.242.90 --trusted-host salmonstill.cn --trusted-host opencode.salmonstill.cn --trusted-host ai.salmonstill.cn --trusted-host 192.168.1.166"
|
||||
|
||||
stop_all() {
|
||||
pkill -f "dsh web" 2>/dev/null
|
||||
pkill -f "socat.*TCP-LISTEN:${EXT_PORT}" 2>/dev/null
|
||||
echo "[my_deepseek] 已停止 dsh 与 socat"
|
||||
}
|
||||
|
||||
case "${1}" in
|
||||
stop)
|
||||
stop_all
|
||||
exit 0
|
||||
;;
|
||||
-h|--help|help)
|
||||
grep '^#' "$0" | sed 's/^# \{0,1\}//'
|
||||
exit 0
|
||||
;;
|
||||
esac
|
||||
|
||||
# 防重复:dsh 端口已被占用则直接退出
|
||||
if ss -tln | grep -q ":${DSH_PORT} "; then
|
||||
echo "[my_deepseek] dsh 已在运行,访问 http://49.232.242.90:${EXT_PORT}"
|
||||
exit 0
|
||||
fi
|
||||
|
||||
# EXT_PORT 被其他程序占用则明确报错(如 opencode 占用 38662)
|
||||
if ss -tln | grep -q ":${EXT_PORT} "; then
|
||||
echo "[my_deepseek] 错误: 端口 ${EXT_PORT} 已被占用:"
|
||||
ss -tlnp | grep ":${EXT_PORT} "
|
||||
echo "请先释放该端口(例如 tmux kill-session -t opencode)再启动"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# 清理可能残留的 socat
|
||||
pkill -f "socat.*TCP-LISTEN:${EXT_PORT}" 2>/dev/null
|
||||
sleep 0.3
|
||||
|
||||
# 应用 403 修复补丁(幂等,见 dsh-local-403-fix/apply-403-fix.sh)
|
||||
FIX_DIR="$(cd "$(dirname "$0")/dsh-local-403-fix" && pwd)"
|
||||
if ! "$FIX_DIR/apply-403-fix.sh"; then
|
||||
echo "[my_deepseek] 错误: 403 修复补丁应用失败,拒绝启动(详见 dsh-local-403-fix/apply-403-fix.sh)"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# 后台启动 socat(带 retry,dsh 未就绪时自动重试连接)
|
||||
nohup socat TCP-LISTEN:${EXT_PORT},fork,reuseaddr,retry,interval=1 TCP:127.0.0.1:${DSH_PORT} >/tmp/my_deepseek-socat.log 2>&1 &
|
||||
disown
|
||||
|
||||
# 前台启动 dsh(Ctrl+C 退出 dsh,可用 my_deepseek stop 清理 socat)
|
||||
cd "${1:-$(pwd)}" || exit 1
|
||||
exec dsh web --port ${DSH_PORT} ${TRUST_HOSTS}
|
||||
Reference in New Issue
Block a user