Comci AgentCLI 0.1.0
CLI 중심 · 로컬 우선 · 비공식 공개 시간표 · 서버 측 조회 지원

Python 3.11+ · v0.1.0 · schema 1.0

LOCAL-FIRST TIMETABLE AGENT

시간표 변경을
CLI로 추적하세요.

CLI가 핵심입니다. 학교 검색, 교사·학급 일간/주간 조회, 변경 감지와 반복 watch를 한 명령 체계로 실행합니다. 아래 웹 화면은 같은 스키마와 분류 규칙을 확인하는 보조 도구입니다.

INSTALL · PYTHON 3.11+comci_agent-0.1.0-py3-none-any.whl
uv tool install https://comci-agent-timetable-20260807.techkwon.chatgpt.site/downloads/comci_agent-0.1.0-py3-none-any.whl

CHANGE SIGNAL · 조회 준비

학교를 선택하세요

조회할 학교를 먼저 선택해 주세요.

아래 웹 조회에서 학교명을 검색한 뒤 변경 확인을 누릅니다.

01 · CLI 사용 안내

명령은 복사해서 터미널에 붙여넣으면 됩니다.

처음 한 번 설치한 뒤 학교 찾기 → 학급·교사 조회 → 변경 감시 순서로 실행합니다. 일반 사용자는 JSON 플래그를 빼고 읽기 쉬운 터미널 출력을 사용할 수 있습니다.

아래 학교명·학교코드·교사번호는 입력 위치를 보여 주는 익명 예시입니다. 검색 결과의 값으로 바꾼 뒤 실행하세요.

v0.1.0 wheel 받기
  1. 01
    Python 3.11 이상과 uv를 준비합니다.

    터미널에서 Python과 uv를 사용할 수 있어야 합니다. uv 공식 설치 안내 ↗

  2. 02
    공개 wheel을 설치합니다.
    uv tool install https://comci-agent-timetable-20260807.techkwon.chatgpt.site/downloads/comci_agent-0.1.0-py3-none-any.whl
  3. 03
    설치된 명령을 확인합니다.
    comci --help
01 · 설치 확인과 학교 찾기

먼저 학교코드를 확인합니다.

설치를 확인한 뒤 정확한 학교명을 검색합니다. 학교명이 중복되면 자동 선택하지 않습니다.

  • 설치 확인
    comci --help
  • 학교 검색
    comci school search --name "학교명" --json
  • 학교 상세
    comci school show --code 00000 --json
02 · 학급 시간표

학년·반의 일간 또는 주간 표를 봅니다.

학급 조회에는 학교, 학년, 반, 날짜가 필요합니다. 날짜는 항상 연도를 포함합니다.

  • 하루
    comci class day --school 00000 --grade 1 --class 1 --date 2026-09-01 --json
  • 한 주
    comci class week --school 00000 --grade 1 --class 1 --date 2026-09-01 --json
03 · 교사 시간표

교사 번호를 찾고 수업표를 조회합니다.

표시명은 기본적으로 마스킹합니다. 교사 번호를 기준으로 일간·주간 표를 조회합니다.

  • 교사 목록
    comci teacher list --school 00000 --redact --json
  • 하루
    comci teacher day --school 00000 --teacher 1 --date 2026-09-01 --json
  • 정확한 학교명으로 하루
    comci teacher day --school-name "학교명" --teacher 1 --date 2026-09-01 --json
  • 한 주
    comci teacher week --school 00000 --teacher 1 --date 2026-09-01 --json
04 · 변경 조회와 감시

바뀐 수업만 찾거나 계속 감시합니다.

teacher 또는 grade/class 중 한 대상만 지정합니다. watch는 SQLite로 이미 본 이벤트를 기억합니다.

  • 기간 변경
    comci changes --school 00000 --teacher 1 --from 2026-09-01 --to 2026-09-05 --json
  • 5분마다 감시
    comci watch --school 00000 --teacher 1 --interval 300 --jsonl
  • 한 번만 확인
    comci watch --school 00000 --teacher 1 --date 2026-09-01 --once --jsonl
05 · 진단·API·MCP

연결 상태와 스키마를 확인하고 다른 도구와 연결합니다.

serve는 기본적으로 로컬에서만 엽니다. 외부 공개는 복사 명령으로 제공하지 않으며 COMCI_API_KEY와 HTTPS 접근제어를 먼저 구성해야 합니다.

  • 연결 진단
    comci doctor --school 00000 --json
  • 응답 스키마
    comci schema --name teacher-day --json
  • 로컬 REST API
    comci serve --host 127.0.0.1 --port 8780
  • MCP stdio
    comci mcp
OUTPUT CONTRACT

출력과 선택 규칙을 이렇게 읽습니다.

기본 출력사람이 읽는 표와 메시지

JSON 플래그를 빼면 터미널에서 바로 읽기 좋은 형태로 표시합니다.

--jsonstdout에 JSON 하나

성공과 오류 모두 schema_version과 ok를 포함한 envelope를 사용합니다.

--jsonlwatch 이벤트를 한 줄씩

watch 전용이며 파이프·로그 수집·자동화에 적합합니다.

stderr경고·진단·오류

--quiet는 일반 진단을 줄이지만 오류 메시지는 남깁니다.

  • 학교는 --school 00000 또는 정확히 일치하는 --school-name "학교명" 중 하나만 지정합니다.
  • 날짜는 반드시 YYYY-MM-DD 형식이며 연도 없는 입력은 거부됩니다.
  • changeswatch --teacher 또는 --grade --class 조합 중 하나만 지정합니다.
  • 계속 실행 중인 watchCtrl+C로 종료합니다. 기본 간격은 300초이며 새 이벤트만 SQLite에 중복 없이 기록합니다.
변경 없음

현재 수업과 원래 수업이 같습니다.

변경 N건

교시별 과목·교사·학급·교실의 변경을 확인합니다.

확인 필요

종료 코드와 stderr를 보고 학교·날짜·연결 상태를 확인합니다.

EXIT STATUS

종료 코드

Comci Agent CLI 종료 코드
코드의미
0성공
2잘못된 CLI 인자
10학교 없음 또는 중복 미해결
11교사 없음
12날짜·주간 데이터 없음
20네트워크 오류
21업스트림 HTTP 오류
22파싱 실패·구조 변경
30캐시·DB 저장 오류
40인증·권한 오류
50알림 전송 오류
ENVIRONMENT

환경변수

COMCI_BASE_URL
공개 조회 기준 주소를 재정의합니다. 보통은 변경하지 않습니다.
COMCI_USER_AGENT
업스트림 요청의 User-Agent를 지정합니다.
COMCI_TIMEOUT_SECONDS
업스트림 요청 제한 시간을 초 단위로 지정합니다.
COMCI_CACHE_TTL_SECONDS
메모리 캐시 유효 시간을 초 단위로 지정합니다.
COMCI_SQLITE_PATH
watch와 이력 저장에 사용할 SQLite 파일 위치를 지정합니다.
COMCI_API_KEY
외부 REST API 바인딩을 보호하는 키입니다.
COMCI_RATE_LIMIT_PER_MINUTE
REST API의 분당 요청 한도를 지정합니다.

명령별 전체 옵션은 comci <command> --help로 확인합니다. --jsonlwatch에서만 사용합니다.

school search / showteacher / class day · weekchanges / watchdoctor / schemaserve / mcp

02 · 웹에서 바로 조회

학교와 대상을 선택하세요

SERVER-SIDE LOOKUP
조회 기준

03 · 변경 비교

조회 결과

빈 교시와 취소 수업도 버리지 않고 1~8교시의 실제 번호를 그대로 보존합니다.

전체 교시0실제 번호 보존
변경 감지0의미 기반 분류
학교코드학교 선택 전
데이터 상태READY학교 선택 후 조회
교시대상원래 수업현재 수업판정
학교를 선택하면 시간표를 표시합니다.

04 · CLI/API 응답 계약

CLI와 웹 API가 같은 변경 의미를 사용합니다.

현재 조회 응답에는 스키마 버전, 출처, 원본 수정 시각, hash, warning을 함께 보존합니다.

schedule-day · schema 1.0
schema_version1.0명시적 응답 버전
official_apifalse비공식 연동 고지
source.updated_at원본 수정 시각 보존
change_typeunchanged결정적 변경 분류

05 · 실행 구조

CLI를 중심에 두고 웹 조회를 같은 계약으로 연결했습니다.

로컬 CLI는 검색·조회·watch·저장을 담당합니다. 브라우저는 업스트림을 직접 호출하지 않고, Sites 서버의 제한·캐시·구조 검증을 거친 정규화 JSON만 사용합니다.

핵심 실행면CLI v0.1.0

설치 가능한 Python CLI

한 번 설치하면 터미널에서 검색·조회·변경 감시와 로컬 저장을 실행합니다.

  • 조회 명령학급 · 교사 · 일간 · 주간
  • 변경 감시changes · watch · SQLite
  • 연결 표면serve · MCP · JSON schema
보조 실행면CHECK

Sites 서버 측 웹 조회

설치 없이 같은 분류 결과를 확인하도록 5분 캐시와 요청 병합을 적용합니다.

  • 학교 검색EUC-KR · 정확 일치
  • 업스트림 호출브라우저 직접 호출 없음
  • 공통 필드source · hash · change_type