silly_tavern / auto.sh
Persarce's picture
Upload 19 files
d6686c9 verified
#!/bin/sh
BASE=/home/node/app
USERNAME=$(printenv username)
PASSWORD=$(printenv password)
function env() {
if [[ ! -z "${fetch}" ]]; then
echo '远程获取参数...'
curl -s "$fetch" -o data.json
export reverse_proxy=$(jq -r .reverse_proxy data.json)
export proxy_password=$(jq -r .proxy_password data.json)
export api_key_makersuite=$(jq -r .api_key_makersuite data.json)
export github_secret=$(jq -r .github_secret data.json)
export github_project=$(jq -r .github_project data.json)
fi
echo
echo "fetch = ${fetch}"
echo "reverse_proxy = $reverse_proxy"
echo "proxy_password = $proxy_password"
echo "api_key_makersuite = $api_key_makersuite"
echo "github_secret = $github_secret"
echo "github_project = $github_project"
echo
echo
IFS="," RESOURCES="新版主动,ny预设1.6.0,对话破限,小说文笔,新版主动,过激行为,鱼骨破限v3" && \
\
echo "*** Edit default $RESOURCES in OpenAI Settings ***" && \
for R in $RESOURCES; do sed -i "s#\"reverse_proxy\": \"\",#\"reverse_proxy\": \"${reverse_proxy}\",#g" "config/OpenAI Settings/$R.json"; done || true && \
for R in $RESOURCES; do sed -i "s#\"proxy_password\": \"\",#\"proxy_password\": \"${proxy_password}\",#g" "config/OpenAI Settings/$R.json"; done || true
sed -i "s/\"api_key_makersuite\": \"\"/\"api_key_makersuite\": \"${api_key_makersuite}\"/g" secrets.json
sed -i "s/\[github_secret\]/${github_secret}/g" auto.sh
sed -i "s#\[github_project\]#${github_project}#g" auto.sh
}
function init() {
mkdir ${BASE}/history
cd ${BASE}/history
git config --global user.email "huggingface@hf.com"
git config --global user.name "complete-Mmx"
git config --global init.defaultBranch main
git init
git remote add origin https://[github_secret]@github.com/[github_project].git
git add .
echo "'update history$(date "+%Y-%m-%d %H:%M:%S")'"
git commit -m "'update history$(date "+%Y-%m-%d %H:%M:%S")'"
git pull origin main
cd ${BASE}
# 在移动原配置文件到历史目录 *之前* 更新 config.yaml 文件
sed -i "s/username: .*/username: ${USERNAME}/" ${BASE}/config/config.yaml
sed -i "s/password: .*/password: ${PASSWORD}/" ${BASE}/config/config.yaml
DIR="${BASE}/history"
if [ "$(ls -A $DIR | grep -v .git)" ]; then
echo "Has history..."
else
echo "Empty history..."
cp -r config/* history/
cp -r secrets.json history/secrets.json
fi
rm -rf config
ln -s history config
rm -r secrets.json
ln -s history/secrets.json secrets.json
echo "Init history."
chmod -R 777 history
echo "'init history$(date "+%Y-%m-%d %H:%M:%S")'" > history/hello.txt
nohup ./git-batch --commit 10s --name git-batch --email git-batch@github.com --push 1m -p history > access.log 2>1 &
}
function release() {
rm -rf history
}
function update() {
cd ${BASE}/history
git pull origin main
git add .
echo "'update history$(date "+%Y-%m-%d %H:%M:%S")'"
git commit -m "'update history$(date "+%Y-%m-%d %H:%M:%S")'"
git push origin main
}
case $1 in
env)
env
;;
init)
init
;;
release)
release
;;
update)
update
;;
esac