op-packages/kai/files/kai.init
github-actions[bot] 32600acc60 🌴 Sync 2026-03-05 23:51:42
2026-03-05 23:51:42 +08:00

48 lines
1.0 KiB
Bash
Executable File

#!/bin/sh /etc/rc.common
START=93
USE_PROCD=1
get_config() {
config_get_bool enabled $1 enabled 1
config_get cwd $1 cwd "/tmp/kai"
}
start_kai_bin(){
procd_open_instance kai_bin
procd_set_param command /usr/sbin/kai_bin
procd_set_param stderr 1
procd_set_param respawn
procd_close_instance
}
mkdir_cwd(){
if [ ! -d $1 ]; then
mkdir -p $1
fi
}
start_kai_session(){
procd_open_instance kai_session
procd_set_param env OPENCODE_CWD=$1 OPENCODE_CONFIG=http://127.0.0.1:8197/config/opencode/opencode.json
procd_set_param command /usr/sbin/kai_session
procd_append_param command serve --port "8196" --hostname "127.0.0.1"
procd_set_param stderr 1
procd_set_param respawn
procd_close_instance
}
start_service() {
config_load kai
config_foreach get_config kai
if [ $enabled != 1 ]; then
return 1
fi
logger -t kai "Starting KAI Service"
start_kai_bin
sleep 1
mkdir_cwd $cwd
start_kai_session $cwd
logger -t kai "Starting KAI Service Completed"
}
service_triggers() {
procd_add_reload_trigger "kai"
}