Loading...
Loading...
Search, reserve, inspect, and cancel KTX or Korail tickets in Korea with the korail2 Python package. Use when the user asks for KTX seats, Korail bookings, train changes, or reservation status.
npx skill4agent add nomadamas/k-skill ktx-bookingkorail2python3 -m pip install korail2sopsage../k-skill-setup/SKILL.md../docs/security-and-secrets.mdKSKILL_KTX_IDKSKILL_KTX_PASSWORDYYYYMMDDHHMMSSpython3 -c 'import korail2'python3 -m pip install korail2KSKILL_KTX_IDKSKILL_KTX_PASSWORD~/.config/k-skill/secrets.env~/.config/k-skill/age/keys.txt이 작업에는 KSKILL_KTX_ID, KSKILL_KTX_PASSWORD 가 필요합니다.
값을 채팅창에 붙여 넣지 말고 ~/.config/k-skill/secrets.env.plain 에 직접 채운 뒤
sops 로 ~/.config/k-skill/secrets.env 로 암호화해 주세요.
암호화가 끝나면 plaintext 파일은 지우고 bash scripts/check-setup.sh 로 다시 확인해 주세요.SOPS_AGE_KEY_FILE="$HOME/.config/k-skill/age/keys.txt" \
sops exec-env "$HOME/.config/k-skill/secrets.env" 'python3 - <<'"'"'PY'"'"'
import os
from korail2 import Korail, TrainType
korail = Korail(
os.environ["KSKILL_KTX_ID"],
os.environ["KSKILL_KTX_PASSWORD"],
)
trains = korail.search_train(
"서울",
"부산",
"20260328",
"090000",
train_type=TrainType.KTX,
)
for idx, train in enumerate(trains[:5], start=1):
print(idx, train)
PY
'SOPS_AGE_KEY_FILE="$HOME/.config/k-skill/age/keys.txt" \
sops exec-env "$HOME/.config/k-skill/secrets.env" 'python3 - <<'"'"'PY'"'"'
import os
from korail2 import AdultPassenger, Korail, ReserveOption, TrainType
korail = Korail(
os.environ["KSKILL_KTX_ID"],
os.environ["KSKILL_KTX_PASSWORD"],
)
trains = korail.search_train(
"서울",
"부산",
"20260328",
"090000",
train_type=TrainType.KTX,
)
reservation = korail.reserve(
trains[0],
passengers=[AdultPassenger()],
option=ReserveOption.GENERAL_FIRST,
)
print(reservation)
PY
'SOPS_AGE_KEY_FILE="$HOME/.config/k-skill/age/keys.txt" \
sops exec-env "$HOME/.config/k-skill/secrets.env" 'python3 - <<'"'"'PY'"'"'
import os
from korail2 import Korail
korail = Korail(
os.environ["KSKILL_KTX_ID"],
os.environ["KSKILL_KTX_PASSWORD"],
)
print(korail.reservations())
PY
'korail2