중학교 교사가 자기 업무를 줄이려고 만든 윈도우 데스크톱 도구입니다. 나이스·K-에듀파인·E알리미·알림장·컴시간을 하나의 창에서 보고, 로그인 세션이 끊기지 않게 지켜 줍니다.
2026년 6월에 만들기 시작해 7월부터 매일 쓰고 있고, 지금도 학교에서 돌아가고 있습니다. 만들어진 과정과 날짜는 개발 연혁에, 왜 만들었는지는 아래 블로그 연재글에 적어 두었습니다.
담임인데 우리 반 학생이 왜 결석인지 몰랐습니다. 체험학습 신청서는 며칠 전에 이미 올라와 있었고요. 볼 곳이 너무 많았습니다 — 에듀파인 결재, 에듀파인 공람, 나이스 미결·협조, E알리미 출결신고서. 전부 다른 사이트고, 수업 들어갔다 오면 다 튕겨 있습니다. 그래서 만들었습니다.
| 탭 | 하는 일 |
|---|---|
| 세션·관제 | 나이스·K-에듀파인 세션이 30분마다 끊기는 걸 막고(자동 연장), 결재·공람·미결 건수 변화를 감시해 알려 줍니다 |
| 오늘 | 오늘 급식·시간표·학사일정·마감 D-Day를 한 화면에 |
| 컴시간 시간표 | 컴시간 알림이의 로컬 캐시 파일(.kim)을 직접 해독해 서버 없이 시간표를 읽습니다 |
| 알림장 | 학교 알림장 전달사항을 프로그램을 띄우지 않고 읽어 부서별로 정리 (접속 정보는 직접 설정) |
| 급식·일정 | 나이스 오픈 API로 급식·학사일정 조회 |
| 교실 호출 | 교무실에서 반을 골라 그 교실 전자칠판에 호출을 띄웁니다. 📡 연결 확인으로 호출 전에 반마다 받을 수 있는 상태인지 미리 봅니다 → 받는 쪽은 별도 저장소 classroom-call |
| 나이스 업무 | 출결 등 나이스 화면 조회·입력 보조 (eXbuilder6 DOM 자동화) |
| 마감 D-Day | 공문·업무 마감일 관리 |
함께 들어 있는 것:
session_keeper.py — 콘솔 없이 세션 유지만 돌리는 가벼운 버전evpn_login.py, portal_cert.py, scripts/*.ahk — 인증서 로그인 자동화 보조 (본인 정보는 직접 입력)비번_설치.py — 비밀번호를 눈으로 보지 않고 클립보드에서 그대로 옮겨 넣는 도우미
(전각·룩얼라이크 문자 때문에 로그인이 깨지는 일을 겪고 만들었습니다)docs/나이스_세션연장팝업_샘플.html — 나이스 세션 연장 팝업의 실제 DOM 구조 (선택자 만들 때 참고용)docs/수업나눔_발표자료_2026-07-04.md, docs/수업나눔_발표_2026-07-04.pptx —
2026년 7월 4일 교내 수업나눔에서 동료 교사들에게 이 도구를 소개할 때 쓴 자료크롬을 디버그 포트(CDP) 로 띄워 두고, 이미 로그인된 그 브라우저를 그대로 조종합니다. 비밀번호를 저장해 두고 대신 입력해 주는 방식이 아니라, 선생님이 직접 로그인한 세션을 유지·조회하는 구조입니다.
/sessionExtension.do 를 그대로 호출, 에듀파인은 연장 버튼을 신뢰 클릭websocket-client 정도pip install -r requirements.txt
python school_console.py
school_console_config.example.json 을 school_console_config.json 으로 복사neis_open.atpt, scode), 경로, 교실 호출 채널 등을 본인 환경에 맞게 채우기scripts/프로필_최초설정.bat 로 크롬 디버그 프로필을 한 번 만든 뒤 scripts/디버그크롬_실행.bat 로 크롬 실행⚠️ 비밀번호·인증서 암호는 코드에 넣지 마세요. 공개본에는 모두 빈 값으로 두었습니다. 본인 PC에서만 쓰는 설정 파일에 넣거나, 매번 직접 입력하시길 권합니다.
sen.*) 기준으로 만들었습니다. 다른 시도는 주소·화면이 달라 수정이 필요합니다.GPL-3.0. 자유롭게 쓰고 고치실 수 있지만, 이 코드를 가져다 만든 것도 소스를 공개해야 합니다.
만든이: 권혁규 (중학교 교사)