{
    "_schema_ver": 4,
    "_tmux_sessions": {
        "yy": {
            "label": "tmux",
            "tooltip": "기본 터묵스",
            "state": "active",
            "link": "",
            "link_tooltip": ""
        }
    },
    "_layout_meta": {
        "mode": "auto",
        "preset": "222",
        "zone_tooltips": {
            "zone1": "매우중요 즉시 ",
            "zone2": "매우중요 장기",
            "zone3": "그다음 즉시",
            "zone4": "그다음 장기",
            "zone5": "AI처리",
            "zone6": "AI완료보관"
        }
    },
    "_group_meta": {
        "미분류": {
            "class": "grp-gray",
            "grp_odr": 21,
            "zone": "zone4",
            "state": "trash"
        },
        "백업분": {
            "class": "grp-yellow",
            "grp_odr": 38,
            "zone": "zone4",
            "state": "trash"
        },
        "통합": {
            "class": "grp-orange",
            "grp_odr": 33,
            "zone": "zone4",
            "state": "trash"
        },
        "yyy": {
            "class": "grp-purple",
            "grp_odr": 11,
            "zone": "zone2",
            "state": "active",
            "link": "yyy_view.php?view=yyy_session.hlp",
            "link_tooltip": "yyy_session"
        },
        "log": {
            "class": "grp-pink",
            "grp_odr": 15,
            "zone": "zone3",
            "state": "active"
        },
        "yy": {
            "class": "grp-default",
            "grp_odr": 40,
            "zone": "zone4",
            "state": "trash"
        },
        "find": {
            "class": "grp-default",
            "grp_odr": 23,
            "zone": "zone4",
            "state": "active"
        },
        "api": {
            "class": "grp-default",
            "grp_odr": 7,
            "zone": "zone1",
            "state": "active"
        },
        "grep": {
            "class": "grp-yellow",
            "grp_odr": 46,
            "zone": "zone4",
            "state": "active"
        },
        "js공부": {
            "class": "grp-default",
            "grp_odr": 31,
            "zone": "zone4",
            "state": "trash"
        },
        "mcp": {
            "class": "grp-pink",
            "grp_odr": 27,
            "zone": "zone4",
            "state": "trash"
        },
        "system": {
            "class": "grp-pink",
            "grp_odr": 19,
            "zone": "zone4",
            "state": "active"
        },
        "find작업": {
            "class": "grp-default",
            "grp_odr": 44,
            "zone": "zone4",
            "state": "trash"
        },
        "웹log": {
            "class": "grp-default",
            "grp_odr": 29,
            "zone": "zone4",
            "state": "active"
        },
        "ns50dash": {
            "class": "grp-default",
            "grp_odr": 30,
            "zone": "zone4",
            "state": "trash"
        },
        "데커": {
            "class": "grp-pink",
            "grp_odr": 47,
            "zone": "zone4",
            "state": "active"
        },
        "data_go_kr": {
            "class": "grp-pink",
            "grp_odr": 9,
            "zone": "zone2",
            "state": "active"
        },
        "Fail2Ban": {
            "class": "grp-red",
            "grp_odr": 36,
            "zone": "zone4",
            "state": "trash"
        },
        "찾아바꾸기": {
            "class": "grp-default",
            "grp_odr": 22,
            "zone": "zone4",
            "state": "active"
        },
        "git": {
            "class": "grp-default",
            "grp_odr": 32,
            "zone": "zone4",
            "state": "trash"
        },
        "php검사": {
            "class": "grp-purple",
            "grp_odr": 26,
            "zone": "zone4",
            "state": "trash"
        },
        "DEPLOY": {
            "class": "grp-pink",
            "grp_odr": 20,
            "zone": "zone4",
            "state": "active"
        },
        "php56-web": {
            "class": "grp-pink",
            "grp_odr": 28,
            "zone": "zone4",
            "state": "active"
        },
        "php8": {
            "class": "grp-red",
            "grp_odr": 34,
            "zone": "zone4",
            "state": "trash"
        },
        "yyjs": {
            "class": "grp-yellow",
            "grp_odr": 37,
            "zone": "zone4",
            "state": "trash"
        },
        "nssb_prj": {
            "class": "grp-pink",
            "grp_odr": 18,
            "zone": "zone3",
            "state": "active"
        },
        "nssb_prj실세": {
            "class": "grp-pink",
            "grp_odr": 42,
            "zone": "zone4",
            "state": "trash"
        },
        "nssb_prj_dev": {
            "class": "grp-red",
            "grp_odr": 41,
            "zone": "zone4",
            "state": "trash",
            "link": "https://n.yjm.kr/?test=1",
            "link_tooltip": "https://n.yjm.kr/?test=1"
        },
        "rsync": {
            "class": "grp-cyan",
            "grp_odr": 39,
            "zone": "zone4",
            "state": "trash"
        },
        "api_ai": {
            "class": "grp-default",
            "grp_odr": 5,
            "zone": "zone1",
            "state": "active"
        },
        "SYS": {
            "class": "grp-purple",
            "grp_odr": 35,
            "zone": "zone4",
            "state": "trash"
        },
        "이모지🌈": {
            "class": "grp-default",
            "grp_odr": 43,
            "zone": "zone4",
            "state": "trash"
        },
        "data_go_kr서비스": {
            "class": "grp-pink",
            "grp_odr": 8,
            "zone": "zone2",
            "state": "active",
            "link": "https://nssb.green-net.or.kr/y/yyy_ye.php?src=/data/_py/data_go_kr/get_ultra_srt_ncst.hlp",
            "link_tooltip": "외부기상!가져오는것설명"
        },
        "tmux": {
            "class": "grp-default",
            "grp_odr": 24,
            "zone": "zone4"
        },
        "ye테": {
            "class": "grp-default",
            "grp_odr": 45,
            "zone": "zone4",
            "link": "https://nssb.green-net.or.kr/y/yyy_view.php?view=yE%ED%85%8C.html&line=484",
            "link_tooltip": "https://nssb.green-net.or.kr/y/yyy_view.php?view=yE%ED%85%8C.html&line=484"
        },
        "CHAT8787": {
            "class": "grp-default",
            "grp_odr": 25,
            "zone": "zone4"
        },
        "yyy에": {
            "class": "grp-default",
            "grp_odr": 12,
            "zone": "zone2"
        },
        "data_py": {
            "class": "grp-pink",
            "grp_odr": 13,
            "zone": "zone2"
        },
        "apihub.kma.go.kr": {
            "class": "grp-pink",
            "grp_odr": 10,
            "zone": "zone2"
        },
        "포트": {
            "class": "grp-yellow",
            "grp_odr": 14,
            "zone": "zone2"
        },
        "SQL농가": {
            "class": "grp-orange",
            "grp_odr": 17,
            "zone": "zone3"
        },
        "yyy설치": {
            "class": "grp-blue",
            "grp_odr": 16,
            "zone": "zone3",
            "link": "yyy.hlp",
            "link_tooltip": "yyy.hlp"
        },
        "AI작업완성": {
            "class": "grp-default",
            "grp_odr": 51,
            "zone": "zone6",
            "state": "trash",
            "link": "https://nssb.green-net.or.kr/y/yyy_ye.php?view=/data/yE/./yE_yyy_cmd.php_AI%EC%9E%91%EC%97%851.html&base=/data/yE/./yE_yyy_cmd.php&src=yyy_cmd.php",
            "link_tooltip": "_AI작업1"
        },
        "파일:mcp_action.php": {
            "class": "grp-default",
            "grp_odr": 48,
            "zone": "zone5",
            "state": "active"
        },
        "파일:yyy_cmd.js": {
            "class": "grp-default",
            "grp_odr": 49,
            "zone": "zone5",
            "state": "active"
        },
        "완료:파일:mcp_action.php": {
            "class": "grp-default",
            "grp_odr": 52,
            "zone": "zone6",
            "state": "active"
        },
        "AI메타:mcp_action.php": {
            "class": "grp-default",
            "grp_odr": 50,
            "zone": "zone5",
            "state": "trash"
        },
        "yyy_aiwk": {
            "class": "grp-pink",
            "grp_odr": 53,
            "zone": "zone6",
            "link": "https://home.yjm.kr/y/yyy_ye.php?src=/mnt/d/D/yyy_aiwk/test_playwright.py",
            "link_tooltip": "https://home.yjm.kr/y/yyy_ye.php?src=/mnt/d/D/yyy_aiwk/test_playwright.py"
        },
        "틱톡10개": {
            "class": "grp-default",
            "grp_odr": 1,
            "zone": "zone1",
            "link": "",
            "link_tooltip": "할것"
        },
        "__yc전체": {
            "class": "grp-purple",
            "grp_odr": 54,
            "zone": "zone6"
        },
        "winget": {
            "class": "grp-yellow",
            "grp_odr": 4,
            "zone": "zone1"
        },
        "__yc차트": {
            "class": "grp-pink",
            "grp_odr": 3,
            "zone": "zone1"
        },
        "api알람": {
            "class": "grp-default",
            "grp_odr": 55,
            "zone": "zone6"
        },
        "nssb알람": {
            "class": "grp-default",
            "grp_odr": 2,
            "zone": "zone1"
        },
        "_xterm_sessions": {
            "class": "grp-default",
            "grp_odr": 56,
            "zone": "zone6"
        },
        "스트레스ap_api": {
            "class": "grp-default",
            "grp_odr": 6,
            "zone": "zone1"
        }
    },
    "틱톡10개": [
        {
            "label": "틱톡10개",
            "cmd": "pwd",
            "auto": 1,
            "sub_odr": 1,
            "state": "active",
            "link": "",
            "target": "",
            "link_tooltip": "",
            "ai_start_prompt": "",
            "ai_mcp_api": "",
            "ai_file": "",
            "ai_function": "",
            "ai_success": ""
        }
    ],
    "nssb알람": [
        {
            "label": "n_moni01알람",
            "cmd": "ls -al /var/www/html/api/ns",
            "auto": 1,
            "sub_odr": 1,
            "state": "active",
            "link": "",
            "target": "",
            "link_tooltip": "",
            "ai_start_prompt": "",
            "ai_mcp_api": "",
            "ai_file": "",
            "ai_function": "",
            "ai_success": ""
        },
        {
            "label": "*kma*",
            "cmd": "ls -alt    /data/_py/data_go_kr/*kma*",
            "auto": 1,
            "sub_odr": 2,
            "state": "active",
            "link": "",
            "target": "",
            "link_tooltip": "",
            "ai_start_prompt": "",
            "ai_mcp_api": "",
            "ai_file": "",
            "ai_function": "",
            "ai_success": ""
        },
        {
            "label": "n*",
            "cmd": "ls -al /var/www/html/api/ns/n*",
            "auto": 1,
            "sub_odr": 3,
            "state": "active",
            "link": "",
            "target": "",
            "link_tooltip": "",
            "ai_start_prompt": "",
            "ai_mcp_api": "",
            "ai_file": "",
            "ai_function": "",
            "ai_success": ""
        },
        {
            "label": "json키검사",
            "cmd": "sudo /opt/venv/nssb_push/bin/python -m json.tool /var/www/_secret/firebase/firebase-service-account.json > /tmp/firebase_json_check.txt && echo JSON_OK\nJSON_OK",
            "auto": 0,
            "sub_odr": 4,
            "state": "active",
            "link": "",
            "target": "",
            "link_tooltip": "",
            "ai_start_prompt": "",
            "ai_mcp_api": "",
            "ai_file": "",
            "ai_function": "",
            "ai_success": ""
        },
        {
            "label": "패키지확인",
            "cmd": "/opt/venv/nssb_push/bin/python -c \"import pymysql, firebase_admin; print('PKG_OK')\"",
            "auto": 0,
            "sub_odr": 5,
            "state": "active",
            "link": "",
            "target": "",
            "link_tooltip": "",
            "ai_start_prompt": "",
            "ai_mcp_api": "",
            "ai_file": "",
            "ai_function": "",
            "ai_success": ""
        },
        {
            "label": "PUSH 테스트 발송",
            "cmd": "# /data/_py/nssb_prj/nssb_push/push_once.py 00\n/data/_py/nssb_prj/nssb_push/push_once.py",
            "auto": 0,
            "sub_odr": 6,
            "state": "active",
            "link": "",
            "target": "",
            "link_tooltip": "",
            "ai_start_prompt": "",
            "ai_mcp_api": "",
            "ai_file": "",
            "ai_function": "",
            "ai_success": ""
        },
        {
            "label": "n/ind*",
            "cmd": "ls -alt    /var/www/html/n/ind*",
            "auto": 1,
            "sub_odr": 7,
            "state": "active",
            "link": "",
            "target": "",
            "link_tooltip": "",
            "ai_start_prompt": "",
            "ai_mcp_api": "",
            "ai_file": "",
            "ai_function": "",
            "ai_success": ""
        },
        {
            "label": "찾을말push",
            "cmd": "grep -r -n --include=\"*.*\" --exclude-dir=\"__pycache__\"  --exclude=\"*.txt\"  --exclude-dir=\"node_modules\"  --exclude-dir=\"venv\"   \"등록기기\"  /data/_py/nssb_prj/nssb_push",
            "auto": 0,
            "sub_odr": 8,
            "state": "active",
            "link": "",
            "target": "",
            "link_tooltip": "",
            "ai_start_prompt": "",
            "ai_mcp_api": "",
            "ai_file": "",
            "ai_function": "",
            "ai_success": ""
        }
    ],
    "__yc차트": [
        {
            "label": "__yc",
            "cmd": "ls -al /data/php56-web/htdocs/__yc",
            "auto": 1,
            "sub_odr": 1,
            "state": "active",
            "link": "",
            "target": "",
            "link_tooltip": "",
            "ai_start_prompt": "",
            "ai_mcp_api": "",
            "ai_file": "",
            "ai_function": "",
            "ai_success": ""
        },
        {
            "label": "t",
            "cmd": "ls -alt /var/www/html/y",
            "auto": 1,
            "sub_odr": 2,
            "state": "active",
            "link": "",
            "target": "",
            "link_tooltip": "",
            "ai_start_prompt": "",
            "ai_mcp_api": "",
            "ai_file": "",
            "ai_function": "",
            "ai_success": ""
        },
        {
            "label": "01",
            "cmd": "/usr/bin/python3 /data/_py/deploy_cfg_rec_fds.py  --src 01 --src_y __ --dst_y __ --force",
            "auto": 0,
            "sub_odr": 3,
            "state": "active",
            "link": "",
            "target": "",
            "link_tooltip": "",
            "ai_start_prompt": "",
            "ai_mcp_api": "",
            "ai_file": "",
            "ai_function": "",
            "ai_success": ""
        },
        {
            "label": "01복사",
            "cmd": "/usr/bin/python3 /data/_py/deploy_cfg_rec_fds.py  --src 01 --src_y __yc --dst_y __yc --force",
            "auto": 0,
            "sub_odr": 4,
            "state": "active",
            "link": "",
            "target": "",
            "link_tooltip": "",
            "ai_start_prompt": "",
            "ai_mcp_api": "",
            "ai_file": "",
            "ai_function": "",
            "ai_success": ""
        }
    ],
    "winget": [
        {
            "label": "PlatformTools",
            "cmd": "winget install -e --id Google.PlatformTools",
            "auto": 0,
            "sub_odr": 1,
            "state": "active",
            "link": "",
            "target": "",
            "link_tooltip": "",
            "ai_start_prompt": "",
            "ai_mcp_api": "",
            "ai_file": "",
            "ai_function": "",
            "ai_success": ""
        },
        {
            "label": "adb devices실행",
            "cmd": "adb devices",
            "auto": 0,
            "sub_odr": 2,
            "state": "active",
            "link": "",
            "target": "",
            "link_tooltip": "",
            "ai_start_prompt": "",
            "ai_mcp_api": "",
            "ai_file": "",
            "ai_function": "",
            "ai_success": ""
        },
        {
            "label": "그래도adb",
            "cmd": "adb kill-server\nadb start-server\nadb devices",
            "auto": 0,
            "sub_odr": 3,
            "state": "active",
            "link": "",
            "target": "",
            "link_tooltip": "",
            "ai_start_prompt": "",
            "ai_mcp_api": "",
            "ai_file": "",
            "ai_function": "",
            "ai_success": ""
        }
    ],
    "api_ai": [
        {
            "label": "api/ai",
            "cmd": "ls -al /var/www/html/api/ai",
            "auto": 1,
            "sub_odr": 1,
            "state": "active",
            "link": "",
            "target": "",
            "link_tooltip": "",
            "ai_start_prompt": "",
            "ai_mcp_api": "",
            "ai_file": "",
            "ai_function": "",
            "ai_success": ""
        },
        {
            "label": "stress재생4월",
            "cmd": "nohup php /var/www/html/api/ai/stress_temp_rebuild_cli.php \"from=2026-04-01\" \"to=2026-04-21\" \"delete_first=1\" \"sleep_ms=500\"   > /tmp/stress_202604_21.log 2>&1 &",
            "auto": 0,
            "sub_odr": 2,
            "state": "active",
            "link": "",
            "target": "",
            "link_tooltip": "",
            "ai_start_prompt": "",
            "ai_mcp_api": "",
            "ai_file": "",
            "ai_function": "",
            "ai_success": ""
        },
        {
            "label": "nssb_prj모두",
            "cmd": "find /data/_py/nssb_prj \\( -name 'node_modules' -o -name 'node_module' -o -name '.git' -o -name '__py' -o -name 'venv' -o -name '__pycache__' \\) -prune -o   -type f   \\( -name '*.py' -o -name '*.js' -o -name '*.ejs' -o -name '.env*'  -o -name '*.css' \\) ! -name '*_s.*'   ! -name '*[가-힣]*'   ! -name '*[ㄱ-ㅎ]*' -print",
            "auto": 0,
            "sub_odr": 3,
            "state": "active",
            "link": "",
            "target": "",
            "link_tooltip": "",
            "ai_start_prompt": "",
            "ai_mcp_api": "",
            "ai_file": "",
            "ai_function": "",
            "ai_success": ""
        },
        {
            "label": "chat_ui",
            "cmd": "ls -al /data/_py/nssb_prj/nssb_chat_ui",
            "auto": 1,
            "sub_odr": 4,
            "state": "active",
            "link": "",
            "target": "",
            "link_tooltip": "",
            "ai_start_prompt": "",
            "ai_mcp_api": "",
            "ai_file": "",
            "ai_function": "",
            "ai_success": ""
        },
        {
            "label": "레포트_rpt",
            "cmd": "ls -al /var/www/html/api/__/_rpt",
            "auto": 1,
            "sub_odr": 5,
            "state": "active",
            "link": "",
            "target": "",
            "link_tooltip": "",
            "ai_start_prompt": "",
            "ai_mcp_api": "",
            "ai_file": "",
            "ai_function": "",
            "ai_success": ""
        },
        {
            "label": "rebuild_cli",
            "cmd": "ls -al  /var/www/html/api/ai/stress_temp_rebuild_cli.php",
            "auto": 1,
            "sub_odr": 6,
            "state": "active",
            "link": "",
            "target": "",
            "link_tooltip": "",
            "ai_start_prompt": "",
            "ai_mcp_api": "",
            "ai_file": "",
            "ai_function": "",
            "ai_success": ""
        },
        {
            "label": "stress04_24",
            "cmd": "data_www@nssb:~$ nohup php /var/www/html/api/ai/stress_temp_rebuild_cli.php \"from=2026-04-21\" \"to=2026-04-24\" \"delete_first=1\" \"sleep_ms=500\"   > /tmp/stress_202604_24.log 2>&1 &",
            "auto": 0,
            "sub_odr": 7,
            "state": "active",
            "link": "",
            "target": "",
            "link_tooltip": "",
            "ai_start_prompt": "",
            "ai_mcp_api": "",
            "ai_file": "",
            "ai_function": "",
            "ai_success": ""
        },
        {
            "label": "sr_min",
            "cmd": "grep -rn --include=\"*.php\" --include=\"*.js\" --exclude-dir=\"cfg_rec_fds\" --exclude-dir=\"_trash\" --exclude-dir=\"_trasy\" 'sr_min'  /var/www/html/api",
            "auto": 1,
            "sub_odr": 8,
            "state": "active",
            "link": "",
            "target": "",
            "link_tooltip": "",
            "ai_start_prompt": "",
            "ai_mcp_api": "",
            "ai_file": "",
            "ai_function": "",
            "ai_success": ""
        },
        {
            "label": "찾을말ai",
            "cmd": "grep -rn --include=\"*.php\" --include=\"*.js\" --exclude-dir=\"cfg_rec_fds\" --exclude-dir=\"_trash\" --exclude-dir=\"_trasy\" '찾을말ai'  /var/www/html/api/ai",
            "auto": 0,
            "sub_odr": 9,
            "state": "active",
            "link": "",
            "target": "",
            "link_tooltip": "",
            "ai_start_prompt": "",
            "ai_mcp_api": "",
            "ai_file": "",
            "ai_function": "",
            "ai_success": ""
        },
        {
            "label": "ai_image_url",
            "cmd": "grep -r -n --include=\"*.py\" --include=\"*.js\" --include=\"*.ejs\"--include=\"*.php\"    --exclude-dir=\"__pycache__\" --exclude-dir=\"venv\"   \"ai_image_url\"  /data/_py/nssb_prj",
            "auto": 0,
            "sub_odr": 10,
            "state": "active",
            "link": "",
            "target": "",
            "link_tooltip": "",
            "ai_start_prompt": "",
            "ai_mcp_api": "",
            "ai_file": "",
            "ai_function": "",
            "ai_success": ""
        }
    ],
    "스트레스ap_api": [
        {
            "label": "api/ai/read*스트레스",
            "cmd": "ls -al /var/www/html/api/ai/read*",
            "auto": 1,
            "sub_odr": 1,
            "state": "active",
            "link": "",
            "target": "",
            "link_tooltip": "",
            "ai_start_prompt": "",
            "ai_mcp_api": "",
            "ai_file": "",
            "ai_function": "",
            "ai_success": ""
        },
        {
            "label": "api/ai/read*스트레스",
            "cmd": "ls -al  /var/www/html/api/ns/n_moni01.php /var/www/html/api/ns/nssb_push_service.js /var/www/html/api/ns/push_rule_service.php /data/_py/nssb_prj/nssb_push/push_check_once.py /data/_py/nssb_prj/nssb_push/push_token_once.py",
            "auto": 1,
            "sub_odr": 2,
            "state": "active",
            "link": "",
            "target": "",
            "link_tooltip": "",
            "ai_start_prompt": "",
            "ai_mcp_api": "",
            "ai_file": "",
            "ai_function": "",
            "ai_success": ""
        }
    ],
    "api": [
        {
            "label": "api_ns",
            "cmd": "ls -al /var/www/html/api/ns",
            "auto": 1,
            "sub_odr": 1,
            "state": "active",
            "link": "",
            "target": "",
            "link_tooltip": "",
            "ai_start_prompt": "",
            "ai_mcp_api": "",
            "ai_file": "",
            "ai_function": "",
            "ai_success": ""
        },
        {
            "label": "api",
            "cmd": "ls -al /var/www/html/api",
            "auto": 1,
            "sub_odr": 2,
            "state": "active",
            "link": "",
            "target": "",
            "link_tooltip": "",
            "ai_start_prompt": "",
            "ai_mcp_api": "",
            "ai_file": "",
            "ai_function": "",
            "ai_success": ""
        },
        {
            "label": "__",
            "cmd": "ls -al /var/www/html/api/__",
            "auto": 1,
            "sub_odr": 3,
            "state": "active",
            "link": "",
            "target": "",
            "link_tooltip": "",
            "ai_start_prompt": "",
            "ai_mcp_api": "",
            "ai_file": "",
            "ai_function": "",
            "ai_success": ""
        },
        {
            "label": "rep*",
            "cmd": "ls -al /var/www/html/api/__/rep*",
            "auto": 1,
            "sub_odr": 4,
            "state": "active",
            "link": "",
            "target": "",
            "link_tooltip": "",
            "ai_start_prompt": "",
            "ai_mcp_api": "",
            "ai_file": "",
            "ai_function": "",
            "ai_success": ""
        },
        {
            "label": "debug_post_rt.php",
            "cmd": "ls -al /var/www/html/api/debug_post_rt.php",
            "auto": 1,
            "sub_odr": 5,
            "state": "active",
            "link": "",
            "target": "",
            "link_tooltip": "",
            "ai_start_prompt": "",
            "ai_mcp_api": "",
            "ai_file": "",
            "ai_function": "",
            "ai_success": ""
        },
        {
            "label": "레포트_rpt",
            "cmd": "ls -al /var/www/html/api/__/_rpt",
            "auto": 1,
            "sub_odr": 6,
            "state": "active",
            "link": "",
            "target": "",
            "link_tooltip": "",
            "ai_start_prompt": "",
            "ai_mcp_api": "",
            "ai_file": "",
            "ai_function": "",
            "ai_success": ""
        },
        {
            "label": "검색php56",
            "cmd": "grep -r -n --include=\"*.php\" --include=\"*.js\" --exclude-dir=\"cfg_rec_fds\"   \"검색어\"    /data/php56-web/htdocs/",
            "auto": 0,
            "sub_odr": 7,
            "state": "active",
            "link": "",
            "target": "",
            "link_tooltip": "",
            "ai_start_prompt": "",
            "ai_mcp_api": "",
            "ai_file": "",
            "ai_function": "",
            "ai_success": ""
        },
        {
            "label": "stress  03농가 3월분 delete",
            "cmd": "php /var/www/html/api/ai/stress_temp_delete_cli.php \"farm_id=03\" \"from=2026-03-01 00:00:00\" \"to=2026-03-31 23:59:59\"",
            "auto": 0,
            "sub_odr": 8,
            "state": "active",
            "link": "",
            "target": "",
            "link_tooltip": "",
            "ai_start_prompt": "",
            "ai_mcp_api": "",
            "ai_file": "",
            "ai_function": "",
            "ai_success": ""
        },
        {
            "label": "stress 03농가 재계산.3월",
            "cmd": "php /var/www/html/api/ai/stress_temp_rebuild_cli.php \"farm_id=03\" \"from=2026-03-01\" \"to=2026-03-31\" \"delete_first=1\" \"sleep_ms=500\"",
            "auto": 0,
            "sub_odr": 9,
            "state": "active",
            "link": "",
            "target": "",
            "link_tooltip": "",
            "ai_start_prompt": "",
            "ai_mcp_api": "",
            "ai_file": "",
            "ai_function": "",
            "ai_success": ""
        },
        {
            "label": "stress전체 농가 3월 재",
            "cmd": "php /var/www/html/api/ai/stress_temp_rebuild_cli.php \"from=2026-03-01\" \"to=2026-03-31\" \"delete_first=1\" \"sleep_ms=500\"",
            "auto": 0,
            "sub_odr": 10,
            "state": "active",
            "link": "",
            "target": "",
            "link_tooltip": "",
            "ai_start_prompt": "",
            "ai_mcp_api": "",
            "ai_file": "",
            "ai_function": "",
            "ai_success": ""
        },
        {
            "label": "4월log",
            "cmd": "tail /tmp/stress_202604_20.log",
            "auto": 0,
            "sub_odr": 11,
            "state": "active",
            "link": "",
            "target": "",
            "link_tooltip": "",
            "ai_start_prompt": "",
            "ai_mcp_api": "",
            "ai_file": "",
            "ai_function": "",
            "ai_success": ""
        },
        {
            "label": "stress전체04월",
            "cmd": "nohup php /var/www/html/api/ai/stress_temp_rebuild_cli.php \"from=2026-04-01\" \"to=2026-04-20\" \"delete_first=1\" \"sleep_ms=500\"   > /tmp/stress_202604_20.log 2>&1 &",
            "auto": 0,
            "sub_odr": 12,
            "state": "active",
            "link": "",
            "target": "",
            "link_tooltip": "",
            "ai_start_prompt": "",
            "ai_mcp_api": "",
            "ai_file": "",
            "ai_function": "",
            "ai_success": ""
        }
    ],
    "data_go_kr서비스": [
        {
            "label": "t",
            "cmd": "ls -alt /data/_py/data_go_kr",
            "auto": 1,
            "sub_odr": 1,
            "state": "active",
            "link": "",
            "target": "",
            "link_tooltip": "",
            "ai_start_prompt": "",
            "ai_mcp_api": "",
            "ai_file": "",
            "ai_function": "",
            "ai_success": ""
        },
        {
            "label": "data_go_kr",
            "cmd": "ls -al    /data/_py/data_go_kr",
            "auto": 1,
            "sub_odr": 2,
            "state": "active",
            "link": "",
            "target": "",
            "link_tooltip": "",
            "ai_start_prompt": "",
            "ai_mcp_api": "",
            "ai_file": "",
            "ai_function": "",
            "ai_success": ""
        },
        {
            "label": "py확인.후.svc재시작",
            "cmd": "/opt/venv/bin/python3 -m py_compile /data/_py/data_go_kr/get_vilage_fcst.py && systemctl daemon-reload && systemctl restart get_vilage_fcst.service",
            "auto": 0,
            "sub_odr": 3,
            "state": "active",
            "link": "",
            "target": "",
            "link_tooltip": "",
            "ai_start_prompt": "",
            "ai_mcp_api": "",
            "ai_file": "",
            "ai_function": "",
            "ai_success": ""
        },
        {
            "label": "관측소묶음SQL",
            "cmd": "SELECT\n    obsr_spot_code,\n    obsr_spot_nm,\n    COUNT(*) AS farm_cnt,\n    MIN(distance_km) AS min_distance_km,\n    MAX(distance_km) AS max_distance_km,\n    GROUP_CONCAT(farm_id ORDER BY farm_id SEPARATOR ',') AS farm_ids\nFROM data_go_kr.get_agri_weather_match\nGROUP BY obsr_spot_code, obsr_spot_nm\nORDER BY obsr_spot_code;",
            "auto": 0,
            "sub_odr": 4,
            "state": "active",
            "link": "",
            "target": "",
            "link_tooltip": "",
            "ai_start_prompt": "",
            "ai_mcp_api": "",
            "ai_file": "",
            "ai_function": "",
            "ai_success": ""
        },
        {
            "label": "신규농가 추가시~",
            "cmd": "# 신규농가 추가시 처리할것\ncd /data/_py/data_go_kr && /opt/venv/bin/python3 get_agri_weather.py --mode auto --farm_id 51 -n",
            "auto": 0,
            "sub_odr": 5,
            "state": "active",
            "link": "",
            "target": "",
            "link_tooltip": "",
            "ai_start_prompt": "",
            "ai_mcp_api": "",
            "ai_file": "",
            "ai_function": "",
            "ai_success": ""
        },
        {
            "label": "전체 강제계산",
            "cmd": "#전체 강제계산\ncd /data/_py/data_go_kr && /opt/venv/bin/python3 get_agri_weather.py --mode match -n",
            "auto": 0,
            "sub_odr": 6,
            "state": "active",
            "link": "",
            "target": "",
            "link_tooltip": "",
            "ai_start_prompt": "",
            "ai_mcp_api": "",
            "ai_file": "",
            "ai_function": "",
            "ai_success": ""
        }
    ],
    "data_go_kr": [
        {
            "label": "get_ultra_srt_ncst.py",
            "cmd": "ls -al    /data/_py/data_go_kr/get_ultra_srt_ncst.py",
            "auto": 0,
            "sub_odr": 1,
            "state": "active",
            "link": "",
            "target": "",
            "link_tooltip": "",
            "ai_start_prompt": "",
            "ai_mcp_api": "",
            "ai_file": "",
            "ai_function": "",
            "ai_success": ""
        },
        {
            "label": "chmod +x",
            "cmd": "chmod +x /data/_py/data_go_kr/*.py",
            "auto": 0,
            "sub_odr": 2,
            "state": "active",
            "link": "",
            "target": "",
            "link_tooltip": "",
            "ai_start_prompt": "",
            "ai_mcp_api": "",
            "ai_file": "",
            "ai_function": "",
            "ai_success": ""
        },
        {
            "label": "step1_build_nssb2sfk.py",
            "cmd": "/data/_py/data_go_kr/step1_build_nssb2sfk.py --start 2025-12-25 --end 2026-04-01 --rebuild",
            "auto": 0,
            "sub_odr": 3,
            "state": "active",
            "link": "",
            "target": "",
            "link_tooltip": "",
            "ai_start_prompt": "",
            "ai_mcp_api": "",
            "ai_file": "",
            "ai_function": "",
            "ai_success": ""
        },
        {
            "label": "step2_fill_nssb2sfk.py",
            "cmd": "/data/_py/data_go_kr/step2_fill_nssb2sfk.py  --start 2025-12-25 --end 2026-04-01 --rebuild",
            "auto": 0,
            "sub_odr": 4,
            "state": "active",
            "link": "",
            "target": "",
            "link_tooltip": "",
            "ai_start_prompt": "",
            "ai_mcp_api": "",
            "ai_file": "",
            "ai_function": "",
            "ai_success": ""
        },
        {
            "label": "찾을말fcst",
            "cmd": "grep -r -n --include=\"*.py\"  --exclude-dir=\"__pycache__\"  --exclude-dir=\"_trasy\"  \"vilage_fcst\"     /data/_py/data_go_kr",
            "auto": 0,
            "sub_odr": 5,
            "state": "active",
            "link": "",
            "target": "",
            "link_tooltip": "",
            "ai_start_prompt": "",
            "ai_mcp_api": "",
            "ai_file": "",
            "ai_function": "",
            "ai_success": ""
        },
        {
            "label": "pgrep",
            "cmd": "pgrep -af 'get_vilage_fcst.py'",
            "auto": 0,
            "sub_odr": 6,
            "state": "active",
            "link": "",
            "target": "",
            "link_tooltip": "",
            "ai_start_prompt": "",
            "ai_mcp_api": "",
            "ai_file": "",
            "ai_function": "",
            "ai_success": ""
        },
        {
            "label": "pgrep -af [g]",
            "cmd": "pgrep -af '[g]et_vilage_fcst.py'",
            "auto": 0,
            "sub_odr": 7,
            "state": "active",
            "link": "",
            "target": "",
            "link_tooltip": "",
            "ai_start_prompt": "",
            "ai_mcp_api": "",
            "ai_file": "",
            "ai_function": "",
            "ai_success": ""
        },
        {
            "label": "-p 2173497; ps",
            "cmd": "ps -o pid,ppid,user,cmd -p 2173497; ps -o pid,ppid,user,cmd -p $(ps -o ppid= -p 2173497)",
            "auto": 0,
            "sub_odr": 8,
            "state": "active",
            "link": "",
            "target": "",
            "link_tooltip": "",
            "ai_start_prompt": "",
            "ai_mcp_api": "",
            "ai_file": "",
            "ai_function": "",
            "ai_success": ""
        },
        {
            "label": "status 2173497",
            "cmd": "systemctl status 2173497 --no-pager -l",
            "auto": 0,
            "sub_odr": 9,
            "state": "active",
            "link": "",
            "target": "",
            "link_tooltip": "",
            "ai_start_prompt": "",
            "ai_mcp_api": "",
            "ai_file": "",
            "ai_function": "",
            "ai_success": ""
        },
        {
            "label": "cat .service",
            "cmd": "systemctl cat get_ultra_srt_fcst.service",
            "auto": 0,
            "sub_odr": 10,
            "state": "active",
            "link": "",
            "target": "",
            "link_tooltip": "",
            "ai_start_prompt": "",
            "ai_mcp_api": "",
            "ai_file": "",
            "ai_function": "",
            "ai_success": ""
        },
        {
            "label": "svc명변경1",
            "cmd": "sudo cp /etc/systemd/system/get_ultra_srt_fcst.service /etc/systemd/system/get_vilage_fcst.service",
            "auto": 0,
            "sub_odr": 11,
            "state": "active",
            "link": "",
            "target": "",
            "link_tooltip": "",
            "ai_start_prompt": "",
            "ai_mcp_api": "",
            "ai_file": "",
            "ai_function": "",
            "ai_success": ""
        },
        {
            "label": "get_vilage_fcst체크",
            "cmd": "systemctl status get_vilage_fcst.service --no-pager -l; pgrep -af '[g]et_vilage_fcst.py'; echo \"LOCK=\"; cat /tmp/get_vilage_fcst.lock 2>/dev/null",
            "auto": 0,
            "sub_odr": 12,
            "state": "active",
            "link": "",
            "target": "",
            "link_tooltip": "",
            "ai_start_prompt": "",
            "ai_mcp_api": "",
            "ai_file": "",
            "ai_function": "",
            "ai_success": ""
        }
    ],
    "apihub.kma.go.kr": [
        {
            "label": "apihub.kma.go.kr",
            "cmd": "https://apihub.kma.go.kr/apiList.do?seqApi=2&seqApiSub=239",
            "auto": 0,
            "sub_odr": 1,
            "state": "active",
            "link": "",
            "target": "",
            "link_tooltip": "",
            "ai_start_prompt": "",
            "ai_mcp_api": "",
            "ai_file": "",
            "ai_function": "",
            "ai_success": ""
        }
    ],
    "yyy": [
        {
            "label": "pwd",
            "cmd": "pwd",
            "auto": 1,
            "sub_odr": 1,
            "state": "active",
            "link": "",
            "target": "",
            "link_tooltip": "",
            "ai_start_prompt": "",
            "ai_mcp_api": "",
            "ai_file": "",
            "ai_function": "",
            "ai_success": ""
        },
        {
            "label": "y",
            "cmd": "ls -al /var/www/html/y",
            "auto": 1,
            "sub_odr": 2,
            "state": "active",
            "link": "",
            "target": "",
            "link_tooltip": "",
            "ai_start_prompt": "",
            "ai_mcp_api": "",
            "ai_file": "",
            "ai_function": "",
            "ai_success": ""
        },
        {
            "label": "t",
            "cmd": "ls -alt /var/www/html/y/yyy_*",
            "auto": 1,
            "sub_odr": 3,
            "state": "active",
            "link": "",
            "target": "",
            "link_tooltip": "",
            "ai_start_prompt": "",
            "ai_mcp_api": "",
            "ai_file": "",
            "ai_function": "",
            "ai_success": ""
        },
        {
            "label": "yy*_cmd*",
            "cmd": "ls -al /var/www/html/y/yy*_cmd*",
            "auto": 1,
            "sub_odr": 4,
            "state": "active",
            "link": "",
            "target": "",
            "link_tooltip": "",
            "ai_start_prompt": "",
            "ai_mcp_api": "",
            "ai_file": "",
            "ai_function": "",
            "ai_success": ""
        },
        {
            "label": "yy*_c*",
            "cmd": "ls -al /var/www/html/y/yy*_c*",
            "auto": 1,
            "sub_odr": 5,
            "state": "active",
            "link": "",
            "target": "",
            "link_tooltip": "",
            "ai_start_prompt": "",
            "ai_mcp_api": "",
            "ai_file": "",
            "ai_function": "",
            "ai_success": ""
        },
        {
            "label": "yy_*",
            "cmd": "ls -al /var/www/html/y/yy_*",
            "auto": 1,
            "sub_odr": 6,
            "state": "active",
            "link": "",
            "target": "",
            "link_tooltip": "",
            "ai_start_prompt": "",
            "ai_mcp_api": "",
            "ai_file": "",
            "ai_function": "",
            "ai_success": ""
        },
        {
            "label": "*.css",
            "cmd": "ls -al /var/www/html/y/*.css",
            "auto": 1,
            "sub_odr": 7,
            "state": "active",
            "link": "",
            "target": "",
            "link_tooltip": "",
            "ai_start_prompt": "",
            "ai_mcp_api": "",
            "ai_file": "",
            "ai_function": "",
            "ai_success": ""
        },
        {
            "label": "*.js",
            "cmd": "ls -al /var/www/html/y/*.js",
            "auto": 1,
            "sub_odr": 8,
            "state": "active",
            "link": "",
            "target": "",
            "link_tooltip": "",
            "ai_start_prompt": "",
            "ai_mcp_api": "",
            "ai_file": "",
            "ai_function": "",
            "ai_success": ""
        },
        {
            "label": "yyy_*",
            "cmd": "ls -al /var/www/html/y/yyy_*",
            "auto": 1,
            "sub_odr": 9,
            "state": "active",
            "link": "",
            "target": "",
            "link_tooltip": "",
            "ai_start_prompt": "",
            "ai_mcp_api": "",
            "ai_file": "",
            "ai_function": "",
            "ai_success": ""
        },
        {
            "label": "er",
            "cmd": "ls -al /var/www/html/y/_erp",
            "auto": 1,
            "sub_odr": 10,
            "state": "active",
            "link": "",
            "target": "",
            "link_tooltip": "",
            "ai_start_prompt": "",
            "ai_mcp_api": "",
            "ai_file": "",
            "ai_function": "",
            "ai_success": ""
        },
        {
            "label": "yyy_bak*",
            "cmd": "ls -al /var/www/html/y/yyy_bak*",
            "auto": 1,
            "sub_odr": 11,
            "state": "active",
            "link": "",
            "target": "",
            "link_tooltip": "",
            "ai_start_prompt": "",
            "ai_mcp_api": "",
            "ai_file": "",
            "ai_function": "",
            "ai_success": ""
        },
        {
            "label": "찾을말y",
            "cmd": "grep -r -n --include=\"*.php\"  --include=\"*.js\"  --include=\"*.css\"  --exclude-dir=\"_docs\"  \"찾을말y\" /var/www/html/y",
            "auto": 0,
            "sub_odr": 12,
            "state": "active",
            "link": "",
            "target": "",
            "link_tooltip": "",
            "ai_start_prompt": "",
            "ai_mcp_api": "",
            "ai_file": "",
            "ai_function": "",
            "ai_success": ""
        },
        {
            "label": "찾을말y-i",
            "cmd": "grep -rni --include=\"*.php\" --include=\"*.js\" --include=\"*.css\" --exclude-dir=\"찾을말i\" \"save\" /var/www/html/y",
            "auto": 0,
            "sub_odr": 13,
            "state": "active",
            "link": "",
            "target": "",
            "link_tooltip": "",
            "ai_start_prompt": "",
            "ai_mcp_api": "",
            "ai_file": "",
            "ai_function": "",
            "ai_success": ""
        },
        {
            "label": "xterm관련",
            "cmd": "grep -Rni \"YY_CMD_XTERM_CFG\\|wsUrl\\|yy_cmd_ws\\|home.yjm.kr\" /var/www/html 2>/dev/null",
            "auto": 0,
            "sub_odr": 14,
            "state": "active",
            "link": "",
            "target": "",
            "link_tooltip": "",
            "ai_start_prompt": "",
            "ai_mcp_api": "",
            "ai_file": "",
            "ai_function": "",
            "ai_success": ""
        },
        {
            "label": "y찾을말jpc",
            "cmd": "grep -r -n --include=\"*.php\"  --include=\"*.js\"  --include=\"*.py\"   --include=\"*.css\"  --exclude-dir=\"_docs\"  \"y찾을말jpc\" /var/www/html/y",
            "auto": 0,
            "sub_odr": 15,
            "state": "active",
            "link": "",
            "target": "",
            "link_tooltip": "",
            "ai_start_prompt": "",
            "ai_mcp_api": "",
            "ai_file": "",
            "ai_function": "",
            "ai_success": ""
        },
        {
            "label": "tmux보기hL",
            "cmd": "tmux show-options -gv history-limit",
            "auto": 0,
            "sub_odr": 16,
            "state": "active",
            "link": "",
            "target": "",
            "link_tooltip": "",
            "ai_start_prompt": "",
            "ai_mcp_api": "",
            "ai_file": "",
            "ai_function": "",
            "ai_success": ""
        },
        {
            "label": "tmx설정hL",
            "cmd": "tmux set -g history-limit 100000\necho 'set -g history-limit 100000' >> ~/.tmux.conf\ntmux source-file ~/.tmux.conf",
            "auto": 0,
            "sub_odr": 17,
            "state": "active",
            "link": "",
            "target": "",
            "link_tooltip": "",
            "ai_start_prompt": "",
            "ai_mcp_api": "",
            "ai_file": "",
            "ai_function": "",
            "ai_success": ""
        },
        {
            "label": "여러파일grep검색",
            "cmd": "cd /var/www/html/y && grep -RInE \"YY_MENU_ZONES|mainMenuLayout|menu-zone|layout-preset|layout-mode|zone_tooltips|zone1|zone2|zone3|zone4|btnMenuPresetToggle|renderMainMenu|applyMenuLayoutClasses|getGroupZone|setGroupZone|recalcGroupOrderFromDom|makeFavSavePayload|_layout_meta|yyyCmdBoot\" yyy_cmd.js yyy_cmd_css.css yyy_cmd.php yyy_cmd_config_fav.php yyy_cmd_conversion.php",
            "auto": 0,
            "sub_odr": 18,
            "state": "active",
            "link": "",
            "target": "",
            "link_tooltip": "",
            "ai_start_prompt": "",
            "ai_mcp_api": "",
            "ai_file": "",
            "ai_function": "",
            "ai_success": ""
        }
    ],
    "yyy에": [
        {
            "label": "pwd",
            "cmd": "pwd",
            "auto": 1,
            "sub_odr": 1,
            "state": "active",
            "link": "",
            "target": "",
            "link_tooltip": "",
            "ai_start_prompt": "",
            "ai_mcp_api": "",
            "ai_file": "",
            "ai_function": "",
            "ai_success": ""
        },
        {
            "label": "y권한설정5",
            "cmd": "sudo chown -R data_www:www-data /var/www/html/y\nsudo chmod -R ug+rwX /var/www/html/y\nsudo find /var/www/html/y -type d -exec chmod 2775 {} \\;\nsudo find /var/www/html/y -type f -exec chmod 664 {} \\;\nsudo usermod -aG www-data data_www",
            "auto": 0,
            "sub_odr": 2,
            "state": "active",
            "link": "",
            "target": "",
            "link_tooltip": "",
            "ai_start_prompt": "",
            "ai_mcp_api": "",
            "ai_file": "",
            "ai_function": "",
            "ai_success": ""
        }
    ],
    "data_py": [
        {
            "label": "data _py",
            "cmd": "ls -al /data/_py",
            "auto": 1,
            "sub_odr": 1,
            "state": "active",
            "link": "",
            "target": "",
            "link_tooltip": "",
            "ai_start_prompt": "",
            "ai_mcp_api": "",
            "ai_file": "",
            "ai_function": "",
            "ai_success": ""
        }
    ],
    "포트": [
        {
            "label": "ps -fp",
            "cmd": "ps -fp 1988837",
            "auto": 0,
            "sub_odr": 1,
            "state": "active",
            "link": "",
            "target": "",
            "link_tooltip": "",
            "ai_start_prompt": "",
            "ai_mcp_api": "",
            "ai_file": "",
            "ai_function": "",
            "ai_success": ""
        },
        {
            "label": "8765포트",
            "cmd": "#/var/www/html/y/yy_cmd.py \nsudo ss -ltnp | grep ':8765'",
            "auto": 0,
            "sub_odr": 2,
            "state": "active",
            "link": "",
            "target": "",
            "link_tooltip": "",
            "ai_start_prompt": "",
            "ai_mcp_api": "",
            "ai_file": "",
            "ai_function": "",
            "ai_success": ""
        },
        {
            "label": "8787포트",
            "cmd": "# /data/_py/nssb_prj/nssb_mcp/app/chat_roles.py\nsudo ss -ltnp | grep ':8787'",
            "auto": 0,
            "sub_odr": 3,
            "state": "active",
            "link": "http://nonsan50.iptime.org:8888/ui/",
            "target": "",
            "link_tooltip": "nonsan50.iptime.org:8888",
            "ai_start_prompt": "",
            "ai_mcp_api": "",
            "ai_file": "",
            "ai_function": "",
            "ai_success": ""
        },
        {
            "label": "8797포트",
            "cmd": "# /data/_py/data_go_kr/get_kma_aws_min.py\nsudo ss -ltnp | grep ':8797'",
            "auto": 0,
            "sub_odr": 4,
            "state": "active",
            "link": "",
            "target": "",
            "link_tooltip": "",
            "ai_start_prompt": "",
            "ai_mcp_api": "",
            "ai_file": "",
            "ai_function": "",
            "ai_success": ""
        }
    ],
    "log": [
        {
            "label": "access",
            "cmd": "tail  /var/log/apache2/access.log",
            "auto": 1,
            "sub_odr": 1,
            "state": "active",
            "link": "",
            "target": "",
            "link_tooltip": "",
            "ai_start_prompt": "",
            "ai_mcp_api": "",
            "ai_file": "",
            "ai_function": "",
            "ai_success": ""
        },
        {
            "label": "Err",
            "cmd": "tail /var/log/apache2/error.log",
            "auto": 1,
            "sub_odr": 2,
            "state": "active",
            "link": "",
            "target": "",
            "link_tooltip": "",
            "ai_start_prompt": "",
            "ai_mcp_api": "",
            "ai_file": "",
            "ai_function": "",
            "ai_success": ""
        },
        {
            "label": "alSh*error.log",
            "cmd": "ls -alSh  /var/log/apache2/*error.log",
            "auto": 1,
            "sub_odr": 3,
            "state": "active",
            "link": "",
            "target": "",
            "link_tooltip": "",
            "ai_start_prompt": "",
            "ai_mcp_api": "",
            "ai_file": "",
            "ai_function": "",
            "ai_success": ""
        },
        {
            "label": "alSh*.log",
            "cmd": "ls -alSh  /var/log/apache2/*.log",
            "auto": 1,
            "sub_odr": 4,
            "state": "active",
            "link": "",
            "target": "",
            "link_tooltip": "",
            "ai_start_prompt": "",
            "ai_mcp_api": "",
            "ai_file": "",
            "ai_function": "",
            "ai_success": ""
        },
        {
            "label": "y_*",
            "cmd": "ls -al  /var/log/y_*",
            "auto": 1,
            "sub_odr": 5,
            "state": "active",
            "link": "",
            "target": "",
            "link_tooltip": "",
            "ai_start_prompt": "",
            "ai_mcp_api": "",
            "ai_file": "",
            "ai_function": "",
            "ai_success": ""
        },
        {
            "label": "y_file_cmd.log",
            "cmd": "tail /var/log/y_file_cmd.log",
            "auto": 1,
            "sub_odr": 6,
            "state": "active",
            "link": "",
            "target": "",
            "link_tooltip": "",
            "ai_start_prompt": "",
            "ai_mcp_api": "",
            "ai_file": "",
            "ai_function": "",
            "ai_success": ""
        },
        {
            "label": "ssl_nssb",
            "cmd": "tail  /var/log/apache2/ssl_nssb.green-net.or.kr_access.log",
            "auto": 1,
            "sub_odr": 7,
            "state": "active",
            "link": "",
            "target": "",
            "link_tooltip": "",
            "ai_start_prompt": "",
            "ai_mcp_api": "",
            "ai_file": "",
            "ai_function": "",
            "ai_success": ""
        },
        {
            "label": "nssb_error",
            "cmd": "tail  /var/log/apache2/ssl_nssb.green-net.or.kr_error.log",
            "auto": 1,
            "sub_odr": 8,
            "state": "active",
            "link": "",
            "target": "",
            "link_tooltip": "",
            "ai_start_prompt": "",
            "ai_mcp_api": "",
            "ai_file": "",
            "ai_function": "",
            "ai_success": ""
        },
        {
            "label": "mariadb10",
            "cmd": "docker logs --tail 100 mariadb10",
            "auto": 1,
            "sub_odr": 9,
            "state": "active",
            "link": "",
            "target": "",
            "link_tooltip": "",
            "ai_start_prompt": "",
            "ai_mcp_api": "",
            "ai_file": "",
            "ai_function": "",
            "ai_success": ""
        },
        {
            "label": "error.log",
            "cmd": "tail /data/php56-web/logs/error.log",
            "auto": 0,
            "sub_odr": 10,
            "state": "active",
            "link": "",
            "target": "",
            "link_tooltip": "",
            "ai_start_prompt": "",
            "ai_mcp_api": "",
            "ai_file": "",
            "ai_function": "",
            "ai_success": ""
        },
        {
            "label": "pwd",
            "cmd": "pwd",
            "auto": 1,
            "sub_odr": 11,
            "state": "active",
            "link": "",
            "target": "",
            "link_tooltip": "",
            "ai_start_prompt": "",
            "ai_mcp_api": "",
            "ai_file": "",
            "ai_function": "",
            "ai_success": ""
        }
    ],
    "yyy설치": [
        {
            "label": "yyy_batch_files필zip",
            "cmd": "#php.list가 구형 중복 등록 파일입니다. 이것만 비활성화하면 됩니다\nsudo mv /etc/apt/sources.list.d/php.list /etc/apt/sources.list.d/php.list.bak\nsudo apt clean\n\nsudo apt update\nsudo apt install php8.1-zip\nsudo systemctl restart apache2",
            "auto": 0,
            "sub_odr": 1,
            "state": "active",
            "link": "",
            "target": "",
            "link_tooltip": "",
            "ai_start_prompt": "",
            "ai_mcp_api": "",
            "ai_file": "",
            "ai_function": "",
            "ai_success": ""
        },
        {
            "label": "zip확인",
            "cmd": "php -m | grep -i zip\nphp -r 'var_dump(class_exists(\"ZipArchive\"));'",
            "auto": 0,
            "sub_odr": 2,
            "state": "active",
            "link": "",
            "target": "",
            "link_tooltip": "",
            "ai_start_prompt": "",
            "ai_mcp_api": "",
            "ai_file": "",
            "ai_function": "",
            "ai_success": ""
        }
    ],
    "SQL농가": [
        {
            "label": "SQL농가03_04",
            "cmd": "SELECT Sraw, COUNT(*) AS cnt FROM __TB__ WHERE Sraw IS NOT NULL AND Sraw <> '' AND CAST(Sraw AS SIGNED) <> 0 AND TIME(rdate) >= '03:00:00' AND TIME(rdate) < '04:00:00' GROUP BY Sraw ORDER BY cnt DESC, CAST(Sraw AS SIGNED) ASC;",
            "auto": 0,
            "sub_odr": 1,
            "state": "active",
            "link": "",
            "target": "",
            "link_tooltip": "",
            "ai_start_prompt": "",
            "ai_mcp_api": "",
            "ai_file": "",
            "ai_function": "",
            "ai_success": ""
        }
    ],
    "nssb_prj": [
        {
            "label": "nssb_prj",
            "cmd": "ls -al /data/_py/nssb_prj",
            "auto": 1,
            "sub_odr": 1,
            "state": "active",
            "link": "",
            "target": "",
            "link_tooltip": "",
            "ai_start_prompt": "",
            "ai_mcp_api": "",
            "ai_file": "",
            "ai_function": "",
            "ai_success": ""
        },
        {
            "label": "찾을말",
            "cmd": "grep -r -n --include=\"*.*\" --exclude-dir=\"__pycache__\" --exclude-dir=\"node_modules\"  --exclude-dir=\"venv\"   \"찾을말\"  /data/_py/nssb_prj",
            "auto": 0,
            "sub_odr": 2,
            "state": "active",
            "link": "",
            "target": "",
            "link_tooltip": "",
            "ai_start_prompt": "",
            "ai_mcp_api": "",
            "ai_file": "",
            "ai_function": "",
            "ai_success": ""
        },
        {
            "label": "MCP,UI서비스재시작",
            "cmd": "sudo systemctl restart nssb-mcp.service && sudo systemctl restart nssb-chat-ui.service && sudo systemctl status nssb-mcp.service --no-pager -l && sudo systemctl status nssb-chat-ui.service --no-pager -l",
            "auto": 0,
            "sub_odr": 3,
            "state": "active",
            "link": "",
            "target": "",
            "link_tooltip": "",
            "ai_start_prompt": "",
            "ai_mcp_api": "",
            "ai_file": "",
            "ai_function": "",
            "ai_success": ""
        },
        {
            "label": "REF_TABLE",
            "cmd": "grep -r -n --include=\"*.*\" --exclude-dir=\"__pycache__\" --exclude-dir=\"node_modules\"  --exclude-dir=\"venv\"   \"REF_TABLE\"  /data/_py/nssb_prj",
            "auto": 1,
            "sub_odr": 4,
            "state": "active",
            "link": "",
            "target": "",
            "link_tooltip": "",
            "ai_start_prompt": "",
            "ai_mcp_api": "",
            "ai_file": "",
            "ai_function": "",
            "ai_success": ""
        },
        {
            "label": "mcp_server실행법",
            "cmd": "/data/_py/nssb_prj/nssb_mcp/venv/bin/python /data/_py/nssb_prj/nssb_mcp/app/nssb_mcp_server.py",
            "auto": 0,
            "sub_odr": 5,
            "state": "active",
            "link": "",
            "target": "",
            "link_tooltip": "",
            "ai_start_prompt": "",
            "ai_mcp_api": "",
            "ai_file": "",
            "ai_function": "",
            "ai_success": ""
        },
        {
            "label": "GIT명령",
            "cmd": "sudo -H -n -u data_www /usr/bin/git -C /data/_py/nssb_prj status\nsudo -H -n -u data_www /usr/bin/git -C /data/_py/nssb_prj pull --no-edit\nsudo -H -n -u data_www /usr/bin/git -C /data/_py/nssb_prj add -A\nsudo -H -n -u data_www /usr/bin/git -C /data/_py/nssb_prj commit -m \"수정내용\"\nsudo -H -n -u data_www /usr/bin/git -C /data/_py/nssb_prj push",
            "auto": 0,
            "sub_odr": 6,
            "state": "active",
            "link": "",
            "target": "",
            "link_tooltip": "",
            "ai_start_prompt": "",
            "ai_mcp_api": "",
            "ai_file": "",
            "ai_function": "",
            "ai_success": ""
        },
        {
            "label": "git명령pull",
            "cmd": "sudo -H -n -u data_www /usr/bin/git -C /data/_py/nssb_prj status\nsudo -H -n -u data_www /usr/bin/git -C /data/_py/nssb_prj checkout main\nsudo -H -n -u data_www /usr/bin/git -C /data/_py/nssb_prj fetch origin\nsudo -H -n -u data_www /usr/bin/git -C /data/_py/nssb_prj pull --ff-only origin main",
            "auto": 0,
            "sub_odr": 7,
            "state": "active",
            "link": "",
            "target": "",
            "link_tooltip": "",
            "ai_start_prompt": "",
            "ai_mcp_api": "",
            "ai_file": "",
            "ai_function": "",
            "ai_success": ""
        },
        {
            "label": "prj상태체크",
            "cmd": "sudo -n /usr/bin/lsof  -nP -iTCP:8000 -sTCP:LISTEN\nsudo -n /usr/bin/ss -lntp '( sport = :8000 )'\nsudo -n /usr/bin/systemctl status nssb-mcp.service",
            "auto": 0,
            "sub_odr": 8,
            "state": "active",
            "link": "",
            "target": "",
            "link_tooltip": "",
            "ai_start_prompt": "",
            "ai_mcp_api": "",
            "ai_file": "",
            "ai_function": "",
            "ai_success": ""
        },
        {
            "label": "git복원log",
            "cmd": "cd /data/_py/nssb_prj\ngit restore --source=5bc7892 -- nssb_mcp/.gitignore\n\ngit log --oneline -- nssb_mcp/.gitignore\n\nd9328d7 Ignore local ai_run_service backup artifacts in nssb_mcp\n51963af Remove .env from .gitignore\n19c757a init: integrate nssb_prj as a single repository\ndata_www@nssb:/data/_py/nssb_prj$",
            "auto": 0,
            "sub_odr": 9,
            "state": "active",
            "link": "",
            "target": "",
            "link_tooltip": "",
            "ai_start_prompt": "",
            "ai_mcp_api": "",
            "ai_file": "",
            "ai_function": "",
            "ai_success": ""
        },
        {
            "label": "find prj *찾을파일*",
            "cmd": "find /data/_py/nssb_prj -name \"__pycache__\" -prune -o -name \"node_modules\" -prune -o -name \"venv\" -prune -o -name \"*찾을파일명*\" -print",
            "auto": 0,
            "sub_odr": 10,
            "state": "active",
            "link": "",
            "target": "",
            "link_tooltip": "",
            "ai_start_prompt": "",
            "ai_mcp_api": "",
            "ai_file": "",
            "ai_function": "",
            "ai_success": ""
        },
        {
            "label": "깃status",
            "cmd": "sudo -H -n -u data_www /usr/bin/git -C /data/_py/nssb_prj status",
            "auto": 0,
            "sub_odr": 11,
            "state": "active",
            "link": "",
            "target": "",
            "link_tooltip": "",
            "ai_start_prompt": "",
            "ai_mcp_api": "",
            "ai_file": "",
            "ai_function": "",
            "ai_success": ""
        },
        {
            "label": "깃pull땡겨오기",
            "cmd": "sudo -H -n -u data_www /usr/bin/git -C /data/_py/nssb_prj checkout main\nsudo -H -n -u data_www /usr/bin/git -C /data/_py/nssb_prj fetch origin\nsudo -H -n -u data_www /usr/bin/git -C /data/_py/nssb_prj pull --ff-only origin main",
            "auto": 0,
            "sub_odr": 12,
            "state": "active",
            "link": "",
            "target": "",
            "link_tooltip": "",
            "ai_start_prompt": "",
            "ai_mcp_api": "",
            "ai_file": "",
            "ai_function": "",
            "ai_success": ""
        },
        {
            "label": "prj체크8000,3100",
            "cmd": "ss -lntp | grep 8000\nss -lntp | grep 3100",
            "auto": 1,
            "sub_odr": 13,
            "state": "active",
            "link": "",
            "target": "",
            "link_tooltip": "",
            "ai_start_prompt": "",
            "ai_mcp_api": "",
            "ai_file": "",
            "ai_function": "",
            "ai_success": ""
        },
        {
            "label": "nssb_prj재시작",
            "cmd": "sudo -n /usr/bin/systemctl restart nssb-mcp.service \nsudo -n /usr/bin/systemctl restart nssb-chat-ui.service",
            "auto": 0,
            "sub_odr": 14,
            "state": "active",
            "link": "",
            "target": "",
            "link_tooltip": "",
            "ai_start_prompt": "",
            "ai_mcp_api": "",
            "ai_file": "",
            "ai_function": "",
            "ai_success": ""
        },
        {
            "label": "nssb_prj상태",
            "cmd": "sudo -n /usr/bin/systemctl status nssb-mcp.service\nsudo -n /usr/bin/systemctl status nssb-chat-ui.service",
            "auto": 0,
            "sub_odr": 15,
            "state": "active",
            "link": "",
            "target": "",
            "link_tooltip": "",
            "ai_start_prompt": "",
            "ai_mcp_api": "",
            "ai_file": "",
            "ai_function": "",
            "ai_success": ""
        },
        {
            "label": "nssb_prj로그",
            "cmd": "sudo -n /usr/bin/journalctl -u nssb-mcp.service -n 50 --no-pager\nsudo -n /usr/bin/journalctl -u nssb-chat-ui.service -n 50 --no-pager",
            "auto": 0,
            "sub_odr": 16,
            "state": "active",
            "link": "",
            "target": "",
            "link_tooltip": "",
            "ai_start_prompt": "",
            "ai_mcp_api": "",
            "ai_file": "",
            "ai_function": "",
            "ai_success": ""
        },
        {
            "label": "nssb_prj로그1분",
            "cmd": "sudo -n /usr/bin/journalctl -u nssb-chat-ui.service --since \"1 minute ago\" --no-pager\nsudo -n /usr/bin/journalctl -u nssb-mcp.service --since \"1 minute ago\" --no-pager",
            "auto": 0,
            "sub_odr": 17,
            "state": "active",
            "link": "",
            "target": "",
            "link_tooltip": "",
            "ai_start_prompt": "",
            "ai_mcp_api": "",
            "ai_file": "",
            "ai_function": "",
            "ai_success": ""
        },
        {
            "label": "nssb_prj차이점diff",
            "cmd": "sudo -H -n -u data_www /usr/bin/git -C /data/_py/nssb_prj diff -- nssb_mcp/app/config.py",
            "auto": 0,
            "sub_odr": 18,
            "state": "active",
            "link": "",
            "target": "",
            "link_tooltip": "",
            "ai_start_prompt": "",
            "ai_mcp_api": "",
            "ai_file": "",
            "ai_function": "",
            "ai_success": ""
        },
        {
            "label": "nssb_prj리스토어",
            "cmd": "sudo -H -n -u data_www /usr/bin/git -C /data/_py/nssb_prj restore -- nssb_mcp/app/config.py",
            "auto": 0,
            "sub_odr": 19,
            "state": "active",
            "link": "",
            "target": "",
            "link_tooltip": "",
            "ai_start_prompt": "",
            "ai_mcp_api": "",
            "ai_file": "",
            "ai_function": "",
            "ai_success": ""
        },
        {
            "label": "nssb_prj풀origin",
            "cmd": "sudo -H -n -u data_www /usr/bin/git -C /data/_py/nssb_prj pull --ff-only origin main",
            "auto": 0,
            "sub_odr": 20,
            "state": "active",
            "link": "",
            "target": "",
            "link_tooltip": "",
            "ai_start_prompt": "",
            "ai_mcp_api": "",
            "ai_file": "",
            "ai_function": "",
            "ai_success": ""
        },
        {
            "label": "stop",
            "cmd": "sudo -n /usr/bin/systemctl stop nssb-mcp.service \nsudo -n /usr/bin/systemctl stop  nssb-chat-ui.service",
            "auto": 0,
            "sub_odr": 21,
            "state": "active",
            "link": "",
            "target": "",
            "link_tooltip": "",
            "ai_start_prompt": "",
            "ai_mcp_api": "",
            "ai_file": "",
            "ai_function": "",
            "ai_success": ""
        },
        {
            "label": "start",
            "cmd": "sudo -n /usr/bin/systemctl start nssb-mcp.service \nsudo -n /usr/bin/systemctl start  nssb-chat-ui.service",
            "auto": 0,
            "sub_odr": 22,
            "state": "active",
            "link": "",
            "target": "",
            "link_tooltip": "",
            "ai_start_prompt": "",
            "ai_mcp_api": "",
            "ai_file": "",
            "ai_function": "",
            "ai_success": ""
        },
        {
            "label": "git명령메모",
            "cmd": "git branch --show-current\ngit status\ngit log --oneline -5\ngit pull --ff-only origin main\n\nsudo -H -n -u data_www /usr/bin/git -C /data/_py/nssb_prj status\nsudo -H -n -u data_www /usr/bin/git -C /data/_py/nssb_prj pull --no-edit\nsudo -H -n -u data_www /usr/bin/git -C /data/_py/nssb_prj add -A\nsudo -H -n -u data_www /usr/bin/git -C /data/_py/nssb_prj commit -m \"수정내용\"\nsudo -H -n -u data_www /usr/bin/git -C /data/_py/nssb_prj push",
            "auto": 0,
            "sub_odr": 23,
            "state": "active",
            "link": "",
            "target": "",
            "link_tooltip": "",
            "ai_start_prompt": "",
            "ai_mcp_api": "",
            "ai_file": "",
            "ai_function": "",
            "ai_success": ""
        },
        {
            "label": "git명령메모",
            "cmd": "sudo -H -n -u data_www /usr/bin/git -C /data/_py/nssb_prj branch --show-current\n \nsudo -H -n -u data_www /usr/bin/git -C /data/_py/nssb_prj log --oneline -5\nsudo -H -n -u data_www /usr/bin/git -C /data/_py/nssb_prj pull --ff-only origin main\n\nsudo -H -n -u data_www /usr/bin/git -C /data/_py/nssb_prj status\nsudo -H -n -u data_www /usr/bin/git -C /data/_py/nssb_prj pull --no-edit\nsudo -H -n -u data_www /usr/bin/git -C /data/_py/nssb_prj add -A\nsudo -H -n -u data_www /usr/bin/git -C /data/_py/nssb_prj commit -m \"수정내용\"\nsudo -H -n -u data_www /usr/bin/git -C /data/_py/nssb_prj push",
            "auto": 0,
            "sub_odr": 24,
            "state": "active",
            "link": "",
            "target": "",
            "link_tooltip": "",
            "ai_start_prompt": "",
            "ai_mcp_api": "",
            "ai_file": "",
            "ai_function": "",
            "ai_success": ""
        },
        {
            "label": "찾을말prj",
            "cmd": "grep -r -n --include=\"*.*\" --exclude-dir=\"__pycache__\"  --exclude=\"*.txt\"  --exclude-dir=\"node_modules\"  --exclude-dir=\"venv\"   \"찾을말prj\"  /data/_py/nssb_prj",
            "auto": 0,
            "sub_odr": 25,
            "state": "active",
            "link": "",
            "target": "",
            "link_tooltip": "",
            "ai_start_prompt": "",
            "ai_mcp_api": "",
            "ai_file": "",
            "ai_function": "",
            "ai_success": ""
        },
        {
            "label": "발행 --ai-runidx 10",
            "cmd": "/data/_py/nssb_prj/nssb_mcp/venv/bin/python /data/_py/nssb_prj/nssb_mcp/app/publish_once.py --ai-run-idx 10 --review-note \"manual debug publish\" --request-ip 127.0.0.1 --debug",
            "auto": 0,
            "sub_odr": 26,
            "state": "active",
            "link": "",
            "target": "",
            "link_tooltip": "",
            "ai_start_prompt": "",
            "ai_mcp_api": "",
            "ai_file": "",
            "ai_function": "",
            "ai_success": ""
        },
        {
            "label": "find파일찾기",
            "cmd": "find /data/_py/nssb_prj -name \"__pycache__\" -prune -o -name \"node_modules\" -prune -o -name \"venv\" -prune -o -name \"find파일찾기\" -print",
            "auto": 0,
            "sub_odr": 27,
            "state": "active",
            "link": "",
            "target": "",
            "link_tooltip": "",
            "ai_start_prompt": "",
            "ai_mcp_api": "",
            "ai_file": "",
            "ai_function": "",
            "ai_success": ""
        },
        {
            "label": "찾을말py_js_php_ejs",
            "cmd": "grep -r -n --include=\"*.py\" --include=\"*.js\" --include=\"*.ejs\"--include=\"*.php\"    --exclude-dir=\"__pycache__\" --exclude-dir=\"venv\"   \"찾을말py_js_php_ejs\"  /data/_py/nssb_prj",
            "auto": 0,
            "sub_odr": 28,
            "state": "active",
            "link": "",
            "target": "",
            "link_tooltip": "",
            "ai_start_prompt": "",
            "ai_mcp_api": "",
            "ai_file": "",
            "ai_function": "",
            "ai_success": ""
        },
        {
            "label": "find전체nssb_prj",
            "cmd": "find /data/_py/nssb_prj \\( -name 'node_modules' -o -name 'node_module' -o -name '.git' -o -name '__py' -o -name 'venv' -o -name '__pycache__' \\) -prune -o   -type f   \\( -name '*.py' -o -name '*.js' -o -name '*.ejs' -o -name '*.css' \\) ! -name '*_s.*'   ! -name '*[가-힣]*'   ! -name '*[ㄱ-ㅎ]*' -print",
            "auto": 0,
            "sub_odr": 29,
            "state": "active",
            "link": "",
            "target": "",
            "link_tooltip": "",
            "ai_start_prompt": "",
            "ai_mcp_api": "",
            "ai_file": "",
            "ai_function": "",
            "ai_success": ""
        },
        {
            "label": "find전체py만",
            "cmd": "find /data/_py/nssb_prj/nssb_mcp/app -name \"*.py\" ! -path \"*/venv/*\" ! -path \"*/__pycache__/*\" -print",
            "auto": 0,
            "sub_odr": 30,
            "state": "active",
            "link": "",
            "target": "",
            "link_tooltip": "",
            "ai_start_prompt": "",
            "ai_mcp_api": "",
            "ai_file": "",
            "ai_function": "",
            "ai_success": ""
        },
        {
            "label": "전체stage등검색",
            "cmd": "grep -R -n -E --exclude='*_s.*' --exclude='*[가-힣]*' --exclude-dir='__pycache__' --exclude-dir='venv' --exclude-dir='.git' --exclude-dir='_trasy' --exclude-dir='_trash' --exclude-dir='node_modules' \"stage|stage_code|stage_order|ATref|AHref|CO2ref|SRref|env_ref_hourly2|nssbenvref7\" /data/php56-web/htdocs/__yc /data/_py 2>/dev/null",
            "auto": 0,
            "sub_odr": 31,
            "state": "active",
            "link": "",
            "target": "",
            "link_tooltip": "",
            "ai_start_prompt": "",
            "ai_mcp_api": "",
            "ai_file": "",
            "ai_function": "",
            "ai_success": ""
        }
    ],
    "system": [
        {
            "label": "*.service",
            "cmd": "ls -al /etc/systemd/system/*.service",
            "auto": 1,
            "sub_odr": 1,
            "state": "active",
            "link": "",
            "target": "",
            "link_tooltip": "",
            "ai_start_prompt": "",
            "ai_mcp_api": "",
            "ai_file": "",
            "ai_function": "",
            "ai_success": ""
        },
        {
            "label": "data/service",
            "cmd": "ls -al /data/service",
            "auto": 1,
            "sub_odr": 2,
            "state": "active",
            "link": "",
            "target": "",
            "link_tooltip": "",
            "ai_start_prompt": "",
            "ai_mcp_api": "",
            "ai_file": "",
            "ai_function": "",
            "ai_success": ""
        },
        {
            "label": "ufw st",
            "cmd": "sudo ufw status numbered",
            "auto": 0,
            "sub_odr": 3,
            "state": "active",
            "link": "",
            "target": "",
            "link_tooltip": "",
            "ai_start_prompt": "",
            "ai_mcp_api": "",
            "ai_file": "",
            "ai_function": "",
            "ai_success": ""
        },
        {
            "label": "ufw al",
            "cmd": "sudo ufw allow 8000/tcp",
            "auto": 0,
            "sub_odr": 4,
            "state": "active",
            "link": "",
            "target": "",
            "link_tooltip": "",
            "ai_start_prompt": "",
            "ai_mcp_api": "",
            "ai_file": "",
            "ai_function": "",
            "ai_success": ""
        },
        {
            "label": "list-unit-files스맛코",
            "cmd": "systemctl list-unit-files | grep -i sfk",
            "auto": 0,
            "sub_odr": 5,
            "state": "active",
            "link": "",
            "target": "",
            "link_tooltip": "",
            "ai_start_prompt": "",
            "ai_mcp_api": "",
            "ai_file": "",
            "ai_function": "",
            "ai_success": ""
        },
        {
            "label": "아파치timeout",
            "cmd": "grep -rEi \"^Timeout\" /etc/apache2/",
            "auto": 0,
            "sub_odr": 6,
            "state": "active",
            "link": "",
            "target": "",
            "link_tooltip": "",
            "ai_start_prompt": "",
            "ai_mcp_api": "",
            "ai_file": "",
            "ai_function": "",
            "ai_success": ""
        },
        {
            "label": "phpini찾기",
            "cmd": "php -i | grep \"Loaded Configuration File\"",
            "auto": 1,
            "sub_odr": 7,
            "state": "active",
            "link": "",
            "target": "",
            "link_tooltip": "",
            "ai_start_prompt": "",
            "ai_mcp_api": "",
            "ai_file": "",
            "ai_function": "",
            "ai_success": ""
        },
        {
            "label": "실행시간max_execution_time",
            "cmd": "grep -i \"max_execution_time\" /etc/php/8.3/apache2/php.ini",
            "auto": 1,
            "sub_odr": 8,
            "state": "active",
            "link": "",
            "target": "",
            "link_tooltip": "",
            "ai_start_prompt": "",
            "ai_mcp_api": "",
            "ai_file": "",
            "ai_function": "",
            "ai_success": ""
        },
        {
            "label": "cpu,df체크",
            "cmd": "ps -aux --sort=-%cpu | head -n 11\n\ndf -h",
            "auto": 0,
            "sub_odr": 9,
            "state": "active",
            "link": "",
            "target": "",
            "link_tooltip": "",
            "ai_start_prompt": "",
            "ai_mcp_api": "",
            "ai_file": "",
            "ai_function": "",
            "ai_success": ""
        },
        {
            "label": "tmux",
            "cmd": "tmux new -s asos",
            "auto": 0,
            "sub_odr": 10,
            "state": "active",
            "link": "",
            "target": "",
            "link_tooltip": "",
            "ai_start_prompt": "",
            "ai_mcp_api": "",
            "ai_file": "",
            "ai_function": "",
            "ai_success": ""
        },
        {
            "label": "fail2ban보기",
            "cmd": "cat /etc/fail2ban/jail.local\nls  /etc/fail2ban",
            "auto": 1,
            "sub_odr": 11,
            "state": "active",
            "link": "",
            "target": "",
            "link_tooltip": "",
            "ai_start_prompt": "",
            "ai_mcp_api": "",
            "ai_file": "",
            "ai_function": "",
            "ai_success": ""
        },
        {
            "label": "certbot포트추가",
            "cmd": "sudo certbot certonly --dry-run --deploy-hook \"systemctl restart [8090_서비스_이름]\" -d n.yjm.kr",
            "auto": 0,
            "sub_odr": 12,
            "state": "active",
            "link": "",
            "target": "",
            "link_tooltip": "",
            "ai_start_prompt": "",
            "ai_mcp_api": "",
            "ai_file": "",
            "ai_function": "",
            "ai_success": ""
        },
        {
            "label": "sites-enabled",
            "cmd": "ls -al  /etc/apache2/sites-enabled/",
            "auto": 1,
            "sub_odr": 13,
            "state": "active",
            "link": "",
            "target": "",
            "link_tooltip": "",
            "ai_start_prompt": "",
            "ai_mcp_api": "",
            "ai_file": "",
            "ai_function": "",
            "ai_success": ""
        },
        {
            "label": "아파치sites-enabled",
            "cmd": "ls -als  /etc/apache2/sites-enabled/",
            "auto": 1,
            "sub_odr": 14,
            "state": "active",
            "link": "",
            "target": "",
            "link_tooltip": "",
            "ai_start_prompt": "",
            "ai_mcp_api": "",
            "ai_file": "",
            "ai_function": "",
            "ai_success": ""
        },
        {
            "label": "cert매번함번2월마다",
            "cmd": "/data/git/deploy_certs_all.sh",
            "auto": 0,
            "sub_odr": 15,
            "state": "active",
            "link": "",
            "target": "",
            "link_tooltip": "",
            "ai_start_prompt": "",
            "ai_mcp_api": "",
            "ai_file": "",
            "ai_function": "",
            "ai_success": ""
        },
        {
            "label": "error.log",
            "cmd": "tail /data/php56-web/logs/error.log",
            "auto": 0,
            "sub_odr": 16,
            "state": "active",
            "link": "",
            "target": "",
            "link_tooltip": "",
            "ai_start_prompt": "",
            "ai_mcp_api": "",
            "ai_file": "",
            "ai_function": "",
            "ai_success": ""
        },
        {
            "label": "sites-available",
            "cmd": "ls -al /etc/apache2/sites-available/",
            "auto": 1,
            "sub_odr": 17,
            "state": "active",
            "link": "",
            "target": "",
            "link_tooltip": "",
            "ai_start_prompt": "",
            "ai_mcp_api": "",
            "ai_file": "",
            "ai_function": "",
            "ai_success": ""
        },
        {
            "label": "nssb-chat-ui.service",
            "cmd": "ls -al  /etc/systemd/system/nssb-chat-ui.service",
            "auto": 0,
            "sub_odr": 18,
            "state": "active",
            "link": "",
            "target": "",
            "link_tooltip": "",
            "ai_start_prompt": "",
            "ai_mcp_api": "",
            "ai_file": "",
            "ai_function": "",
            "ai_success": ""
        },
        {
            "label": "기상ASOS",
            "cmd": "/data/_py/data_go_kr/get_wthr_data_list.py -y",
            "auto": 1,
            "sub_odr": 19,
            "state": "active",
            "link": "",
            "target": "",
            "link_tooltip": "",
            "ai_start_prompt": "",
            "ai_mcp_api": "",
            "ai_file": "",
            "ai_function": "",
            "ai_success": ""
        },
        {
            "label": "tmux설명",
            "cmd": "보통은 그냥 터미널에서 이렇게 치면 됩니다.\ntmux ls\ntmux new -s work\ntmux attach -t work\ntmux kill-session -t work\ntmux\n\n또는 세션 이름 붙여서:\ntmux new -s work\n\n다시 붙기:\ntmux attach -t work",
            "auto": 0,
            "sub_odr": 20,
            "state": "active",
            "link": "",
            "target": "",
            "link_tooltip": "",
            "ai_start_prompt": "",
            "ai_mcp_api": "",
            "ai_file": "",
            "ai_function": "",
            "ai_success": ""
        },
        {
            "label": "CertBot찾기",
            "cmd": "systemctl list-timers | grep certbot\n\n# Apache(httpd) 사용 시\nhttpd -S\nsystemctl restart httpd\n\n\n# Nginx 사용 시\nnginx -t\nsystemctl restart nginx",
            "auto": 0,
            "sub_odr": 21,
            "state": "active",
            "link": "",
            "target": "",
            "link_tooltip": "",
            "ai_start_prompt": "",
            "ai_mcp_api": "",
            "ai_file": "",
            "ai_function": "",
            "ai_success": ""
        },
        {
            "label": "yy-cmd상태",
            "cmd": "systemctl status yy-cmd --no-pager -l",
            "auto": 0,
            "sub_odr": 22,
            "state": "active",
            "link": "",
            "target": "",
            "link_tooltip": "",
            "ai_start_prompt": "",
            "ai_mcp_api": "",
            "ai_file": "",
            "ai_function": "",
            "ai_success": ""
        },
        {
            "label": "yy-cmd8765쳌",
            "cmd": "sudo systemctl start yy-cmd; systemctl status yy-cmd --no-pager -l; ss -lntp | grep ':8765' || echo '8765 not listening'",
            "auto": 0,
            "sub_odr": 23,
            "state": "active",
            "link": "",
            "target": "",
            "link_tooltip": "",
            "ai_start_prompt": "",
            "ai_mcp_api": "",
            "ai_file": "",
            "ai_function": "",
            "ai_success": ""
        },
        {
            "label": "yyy-cmd중단원인쳌",
            "cmd": "journalctl --since \"2026-04-23 16:30:00\" --until \"2026-04-23 16:50:00\" --no-pager -o short-iso | grep -Ei \"yy-cmd|systemctl|sudo|shutdown|reboot|Stopping|Stopped\"",
            "auto": 0,
            "sub_odr": 24,
            "state": "active",
            "link": "",
            "target": "",
            "link_tooltip": "",
            "ai_start_prompt": "",
            "ai_mcp_api": "",
            "ai_file": "",
            "ai_function": "",
            "ai_success": ""
        },
        {
            "label": "서비스명-추가",
            "cmd": "sudo systemctl daemon-reload && sudo systemctl enable --now 서비스명.service && sudo systemctl status 서비스명.service --no-pager",
            "auto": 0,
            "sub_odr": 25,
            "state": "active",
            "link": "",
            "target": "",
            "link_tooltip": "",
            "ai_start_prompt": "",
            "ai_mcp_api": "",
            "ai_file": "",
            "ai_function": "",
            "ai_success": ""
        },
        {
            "label": "get_ultra_srt_fcst제거",
            "cmd": "systemctl stop get_ultra_srt_fcst.service; systemctl disable get_ultra_srt_fcst.service; rm -f /etc/systemd/system/get_ultra_srt_fcst.service; systemctl daemon-reload; systemctl reset-failed get_ultra_srt_fcst.service",
            "auto": 0,
            "sub_odr": 26,
            "state": "active",
            "link": "",
            "target": "",
            "link_tooltip": "",
            "ai_start_prompt": "",
            "ai_mcp_api": "",
            "ai_file": "",
            "ai_function": "",
            "ai_success": ""
        },
        {
            "label": "lists-units서비스",
            "cmd": "systemctl list-units --type=service --all | grep -Ei \"kma|aws|min|data_go\"",
            "auto": 0,
            "sub_odr": 27,
            "state": "active",
            "link": "",
            "target": "",
            "link_tooltip": "",
            "ai_start_prompt": "",
            "ai_mcp_api": "",
            "ai_file": "",
            "ai_function": "",
            "ai_success": ""
        },
        {
            "label": "get_kma_aws_min.py조회",
            "cmd": "grep -RIn \"get_kma_aws_min.py\\|nssb_kma_aws_min\\|aws_min\" /etc/cron* /var/spool/cron 2>/dev/null",
            "auto": 0,
            "sub_odr": 28,
            "state": "active",
            "link": "",
            "target": "",
            "link_tooltip": "",
            "ai_start_prompt": "",
            "ai_mcp_api": "",
            "ai_file": "",
            "ai_function": "",
            "ai_success": ""
        }
    ],
    "DEPLOY": [
        {
            "label": "push server01",
            "cmd": "sudo -u data_www /usr/bin/python3 /data/service/deploy.py push server01",
            "auto": 0,
            "sub_odr": 1,
            "state": "active",
            "link": "",
            "target": "",
            "link_tooltip": "",
            "ai_start_prompt": "",
            "ai_mcp_api": "",
            "ai_file": "",
            "ai_function": "",
            "ai_success": ""
        },
        {
            "label": "배포nk",
            "cmd": "sudo -u data_www /usr/bin/python3 /data/service/deploy.py push nk_ip",
            "auto": 0,
            "sub_odr": 2,
            "state": "active",
            "link": "",
            "target": "",
            "link_tooltip": "",
            "ai_start_prompt": "",
            "ai_mcp_api": "",
            "ai_file": "",
            "ai_function": "",
            "ai_success": ""
        },
        {
            "label": "push home",
            "cmd": "sudo -u data_www /usr/bin/python3 /data/service/deploy.py push home",
            "auto": 0,
            "sub_odr": 3,
            "state": "active",
            "link": "",
            "target": "",
            "link_tooltip": "",
            "ai_start_prompt": "",
            "ai_mcp_api": "",
            "ai_file": "",
            "ai_function": "",
            "ai_success": ""
        },
        {
            "label": "칸보드cert_sync",
            "cmd": "sudo /data/service/cert_sync.sh",
            "auto": 0,
            "sub_odr": 4,
            "state": "active",
            "link": "",
            "target": "",
            "link_tooltip": "",
            "ai_start_prompt": "",
            "ai_mcp_api": "",
            "ai_file": "",
            "ai_function": "",
            "ai_success": ""
        },
        {
            "label": "칸보드cert확인",
            "cmd": "ls -al /data/git/Kanboard/certs/",
            "auto": 1,
            "sub_odr": 5,
            "state": "active",
            "link": "",
            "target": "",
            "link_tooltip": "",
            "ai_start_prompt": "",
            "ai_mcp_api": "",
            "ai_file": "",
            "ai_function": "",
            "ai_success": ""
        },
        {
            "label": "칸보드ssl확인",
            "cmd": "docker exec   kanboard_app ls -al /etc/nginx/ssl/",
            "auto": 1,
            "sub_odr": 6,
            "state": "active",
            "link": "",
            "target": "",
            "link_tooltip": "",
            "ai_start_prompt": "",
            "ai_mcp_api": "",
            "ai_file": "",
            "ai_function": "",
            "ai_success": ""
        },
        {
            "label": "공개키생성",
            "cmd": "cd ~\nssh-keygen -y -f ~/.ssh/id_ed25519 > ~/.ssh/id_ed25519.pub\nchmod 644 ~/.ssh/id_ed25519.pub\ncat ~/.ssh/id_ed25519.pub",
            "auto": 0,
            "sub_odr": 7,
            "state": "active",
            "link": "",
            "target": "",
            "link_tooltip": "",
            "ai_start_prompt": "",
            "ai_mcp_api": "",
            "ai_file": "",
            "ai_function": "",
            "ai_success": ""
        },
        {
            "label": "첫ssh",
            "cmd": "sudo -u data_www -H ssh -p 2022 wwwnamekorea@ip.yjm.kr",
            "auto": 0,
            "sub_odr": 8,
            "state": "active",
            "link": "",
            "target": "",
            "link_tooltip": "",
            "ai_start_prompt": "",
            "ai_mcp_api": "",
            "ai_file": "",
            "ai_function": "",
            "ai_success": ""
        },
        {
            "label": "ls deploy.py",
            "cmd": "ls -al /data/service/",
            "auto": 1,
            "sub_odr": 9,
            "state": "active",
            "link": "",
            "target": "",
            "link_tooltip": "",
            "ai_start_prompt": "",
            "ai_mcp_api": "",
            "ai_file": "",
            "ai_function": "",
            "ai_success": ""
        },
        {
            "label": "ssh-vvv",
            "cmd": "ssh -vvv data_www@home.yjm.kr",
            "auto": 0,
            "sub_odr": 10,
            "state": "active",
            "link": "",
            "target": "",
            "link_tooltip": "",
            "ai_start_prompt": "",
            "ai_mcp_api": "",
            "ai_file": "",
            "ai_function": "",
            "ai_success": ""
        },
        {
            "label": "deploy.py",
            "cmd": "cat  /data/service/deploy.py",
            "auto": 1,
            "sub_odr": 11,
            "state": "active",
            "link": "",
            "target": "",
            "link_tooltip": "",
            "ai_start_prompt": "",
            "ai_mcp_api": "",
            "ai_file": "",
            "ai_function": "",
            "ai_success": ""
        },
        {
            "label": "yyy_local훠git",
            "cmd": "sudo -u data_www /usr/bin/python3 /data/service/deploy.py localcopy yyy_local",
            "auto": 0,
            "sub_odr": 12,
            "state": "trash",
            "link": "",
            "target": "",
            "link_tooltip": "",
            "ai_start_prompt": "",
            "ai_mcp_api": "",
            "ai_file": "",
            "ai_function": "",
            "ai_success": ""
        }
    ],
    "미분류": [
        {
            "label": "_b h",
            "cmd": "ls -alt /data/php56-web/htdocs/_bak/var/www/html/",
            "auto": 1,
            "sub_odr": 1,
            "state": "trash",
            "link": "",
            "target": "",
            "link_tooltip": "",
            "ai_start_prompt": "",
            "ai_mcp_api": "",
            "ai_file": "",
            "ai_function": "",
            "ai_success": ""
        },
        {
            "label": "gr-i",
            "cmd": "grep -i galera /var/log/apt/history.log",
            "auto": 0,
            "sub_odr": 2,
            "state": "active",
            "link": "",
            "target": "",
            "link_tooltip": "",
            "ai_start_prompt": "",
            "ai_mcp_api": "",
            "ai_file": "",
            "ai_function": "",
            "ai_success": ""
        },
        {
            "label": "dp..",
            "cmd": "dpkg -l | grep -i galera",
            "auto": 0,
            "sub_odr": 3,
            "state": "active",
            "link": "",
            "target": "",
            "link_tooltip": "",
            "ai_start_prompt": "",
            "ai_mcp_api": "",
            "ai_file": "",
            "ai_function": "",
            "ai_success": ""
        },
        {
            "label": "apt-ca..",
            "cmd": "apt-cache rdepends galera-4",
            "auto": 0,
            "sub_odr": 4,
            "state": "trash",
            "link": "",
            "target": "",
            "link_tooltip": "",
            "ai_start_prompt": "",
            "ai_mcp_api": "",
            "ai_file": "",
            "ai_function": "",
            "ai_success": ""
        },
        {
            "label": "ss모연",
            "cmd": "ss -tun",
            "auto": 0,
            "sub_odr": 5,
            "state": "trash",
            "link": "",
            "target": "",
            "link_tooltip": "",
            "ai_start_prompt": "",
            "ai_mcp_api": "",
            "ai_file": "",
            "ai_function": "",
            "ai_success": ""
        },
        {
            "label": "ss어포",
            "cmd": "ss -tulnp",
            "auto": 0,
            "sub_odr": 6,
            "state": "trash",
            "link": "",
            "target": "",
            "link_tooltip": "",
            "ai_start_prompt": "",
            "ai_mcp_api": "",
            "ai_file": "",
            "ai_function": "",
            "ai_success": ""
        },
        {
            "label": "apt l* -i*",
            "cmd": "apt list --installed",
            "auto": 0,
            "sub_odr": 7,
            "state": "active",
            "link": "",
            "target": "",
            "link_tooltip": "",
            "ai_start_prompt": "",
            "ai_mcp_api": "",
            "ai_file": "",
            "ai_function": "",
            "ai_success": ""
        },
        {
            "label": "dpkg -l",
            "cmd": "dpkg -l",
            "auto": 0,
            "sub_odr": 8,
            "state": "active",
            "link": "",
            "target": "",
            "link_tooltip": "",
            "ai_start_prompt": "",
            "ai_mcp_api": "",
            "ai_file": "",
            "ai_function": "",
            "ai_success": ""
        },
        {
            "label": "apt s*",
            "cmd": "apt show 패키지이름",
            "auto": 0,
            "sub_odr": 9,
            "state": "active",
            "link": "",
            "target": "",
            "link_tooltip": "",
            "ai_start_prompt": "",
            "ai_mcp_api": "",
            "ai_file": "",
            "ai_function": "",
            "ai_success": ""
        },
        {
            "label": "d사진보기t*",
            "cmd": "ls -al /data/php56-web/htdocs/t*",
            "auto": 1,
            "sub_odr": 10,
            "state": "active",
            "link": "",
            "target": "",
            "link_tooltip": "",
            "ai_start_prompt": "",
            "ai_mcp_api": "",
            "ai_file": "",
            "ai_function": "",
            "ai_success": ""
        },
        {
            "label": "fail2ban보기",
            "cmd": "cat /etc/fail2ban/jail.local\nls  /etc/fail2ban",
            "auto": 1,
            "sub_odr": 11,
            "state": "active",
            "link": "",
            "target": "",
            "link_tooltip": "",
            "ai_start_prompt": "",
            "ai_mcp_api": "",
            "ai_file": "",
            "ai_function": "",
            "ai_success": ""
        },
        {
            "label": "ls -alt",
            "cmd": "ls -alt",
            "auto": 0,
            "sub_odr": 12,
            "state": "active",
            "link": "",
            "target": "",
            "link_tooltip": "",
            "ai_start_prompt": "",
            "ai_mcp_api": "",
            "ai_file": "",
            "ai_function": "",
            "ai_success": ""
        }
    ],
    "찾아바꾸기": [
        {
            "label": "찾후_바꿀말",
            "cmd": "grep -r  -l   --include=\"*.php\"  --include=\"*.js\"   \"찾을말\" /var/www/html/api/ns/_trasy  | xargs sed -i 's/찾을말/바꿀말/g'",
            "auto": 0,
            "sub_odr": 1,
            "state": "active",
            "link": "",
            "target": "",
            "link_tooltip": "",
            "ai_start_prompt": "",
            "ai_mcp_api": "",
            "ai_file": "",
            "ai_function": "",
            "ai_success": ""
        },
        {
            "label": "찾을말-r-n",
            "cmd": "grep -r -n --include=\"*.php\"  --include=\"*.js\"   \"찾을말키워드\" /var/www/html/api",
            "auto": 0,
            "sub_odr": 2,
            "state": "active",
            "link": "",
            "target": "",
            "link_tooltip": "",
            "ai_start_prompt": "",
            "ai_mcp_api": "",
            "ai_file": "",
            "ai_function": "",
            "ai_success": ""
        },
        {
            "label": "바꿀말s",
            "cmd": "grep -r  -l   --include=\"*.php\"   \"/data/php56-web/htdocs/api/nssb/\" /var/www/html/api/ns/_trasy |  xargs sed -i \"s/\\\\/data\\\\/php56-web\\\\/htdocs\\\\/api\\\\/nssb\\\\/   /\\\\/var\\\\/www\\\\/html\\\\/api\\\\/ns\\\\//g\"",
            "auto": 0,
            "sub_odr": 3,
            "state": "active",
            "link": "",
            "target": "",
            "link_tooltip": "",
            "ai_start_prompt": "",
            "ai_mcp_api": "",
            "ai_file": "",
            "ai_function": "",
            "ai_success": ""
        },
        {
            "label": "찾을말1|2",
            "cmd": "grep -r -n --include=\"*.php\" --include=\"*.js\" \"찾을말1\" /var/www/html/api | grep \"찾을말2\"",
            "auto": 0,
            "sub_odr": 4,
            "state": "active",
            "link": "",
            "target": "",
            "link_tooltip": "",
            "ai_start_prompt": "",
            "ai_mcp_api": "",
            "ai_file": "",
            "ai_function": "",
            "ai_success": ""
        }
    ],
    "find": [
        {
            "label": "find /var",
            "cmd": "find /var/www -type f -name \"nssbenvref7.json*\"",
            "auto": 1,
            "sub_odr": 1,
            "state": "active",
            "link": "",
            "target": "",
            "link_tooltip": "",
            "ai_start_prompt": "",
            "ai_mcp_api": "",
            "ai_file": "",
            "ai_function": "",
            "ai_success": ""
        },
        {
            "label": "php56",
            "cmd": "fine /data/php56-web/htdocs/  -type file -name \"nssbenvref7.json*\"  -not -path \"*/_trasy/*\"",
            "auto": 0,
            "sub_odr": 2,
            "state": "active",
            "link": "",
            "target": "",
            "link_tooltip": "",
            "ai_start_prompt": "",
            "ai_mcp_api": "",
            "ai_file": "",
            "ai_function": "",
            "ai_success": ""
        },
        {
            "label": "html/",
            "cmd": "find /var/www/html/ -type f -name \"yy__theme.js\"",
            "auto": 0,
            "sub_odr": 3,
            "state": "active",
            "link": "",
            "target": "",
            "link_tooltip": "",
            "ai_start_prompt": "",
            "ai_mcp_api": "",
            "ai_file": "",
            "ai_function": "",
            "ai_success": ""
        },
        {
            "label": "api/",
            "cmd": "find /var/www/html/api -type f -name \"    \"",
            "auto": 0,
            "sub_odr": 4,
            "state": "active",
            "link": "",
            "target": "",
            "link_tooltip": "",
            "ai_start_prompt": "",
            "ai_mcp_api": "",
            "ai_file": "",
            "ai_function": "",
            "ai_success": ""
        },
        {
            "label": "yyy.",
            "cmd": "find /var/www/html/ -type f -name \"yyy.*\"",
            "auto": 0,
            "sub_odr": 5,
            "state": "active",
            "link": "",
            "target": "",
            "link_tooltip": "",
            "ai_start_prompt": "",
            "ai_mcp_api": "",
            "ai_file": "",
            "ai_function": "",
            "ai_success": ""
        },
        {
            "label": "*api_db_conn*",
            "cmd": "find /var/www/html/ -type f -name \"*api_db_conn*\"",
            "auto": 0,
            "sub_odr": 6,
            "state": "active",
            "link": "",
            "target": "",
            "link_tooltip": "",
            "ai_start_prompt": "",
            "ai_mcp_api": "",
            "ai_file": "",
            "ai_function": "",
            "ai_success": ""
        },
        {
            "label": "db_conf.php",
            "cmd": "find /var/www/html/ -type f -name \"db_conf.php\"",
            "auto": 0,
            "sub_odr": 7,
            "state": "active",
            "link": "",
            "target": "",
            "link_tooltip": "",
            "ai_start_prompt": "",
            "ai_mcp_api": "",
            "ai_file": "",
            "ai_function": "",
            "ai_success": ""
        },
        {
            "label": "yyy_*.php",
            "cmd": "find /var/www/html/ -type f -name \"yyy_*.php\"",
            "auto": 0,
            "sub_odr": 8,
            "state": "active",
            "link": "",
            "target": "",
            "link_tooltip": "",
            "ai_start_prompt": "",
            "ai_mcp_api": "",
            "ai_file": "",
            "ai_function": "",
            "ai_success": ""
        },
        {
            "label": "yyy2*.php",
            "cmd": "find /var/www/html/ -type f -name \"yyy2*.php\"",
            "auto": 1,
            "sub_odr": 9,
            "state": "active",
            "link": "",
            "target": "",
            "link_tooltip": "",
            "ai_start_prompt": "",
            "ai_mcp_api": "",
            "ai_file": "",
            "ai_function": "",
            "ai_success": ""
        },
        {
            "label": "yyy_*",
            "cmd": "find /var/www/html/y -type f -name \"yyy_*.php\"",
            "auto": 1,
            "sub_odr": 10,
            "state": "active",
            "link": "",
            "target": "",
            "link_tooltip": "",
            "ai_start_prompt": "",
            "ai_mcp_api": "",
            "ai_file": "",
            "ai_function": "",
            "ai_success": ""
        },
        {
            "label": "*theme.js",
            "cmd": "find /var/www/html/ -type f -name \"*theme.js\"",
            "auto": 1,
            "sub_odr": 11,
            "state": "active",
            "link": "",
            "target": "",
            "link_tooltip": "",
            "ai_start_prompt": "",
            "ai_mcp_api": "",
            "ai_file": "",
            "ai_function": "",
            "ai_success": ""
        },
        {
            "label": "ns50env*",
            "cmd": "find /var/www/html/api -type f -name \"ns50env*\"",
            "auto": 0,
            "sub_odr": 12,
            "state": "active",
            "link": "",
            "target": "",
            "link_tooltip": "",
            "ai_start_prompt": "",
            "ai_mcp_api": "",
            "ai_file": "",
            "ai_function": "",
            "ai_success": ""
        },
        {
            "label": "__YC파일전체",
            "cmd": "find /data/php56-web/htdocs/__yc/ \\( -name 'node_modules' -o -name 'node_module' -o -name '.git' -o -name '__py' -o -name 'venv' -o -name '__pycache__' -o -name '_rptdata' -o -name '_rpt' -o -name 'cfg_rec_fds' -o -name '백업' -o -name 'cast' -o -name 'nj' \\) -prune -o -type f \\( -name '*.py' -o -name '*.js' -o -name '*.ejs' -o -name '*.css' -o -name '*.php' -o -name '*.csv' \\) ! -name '*_s.*' ! -name '*[가-힣]*' ! -name '*[ㄱ-ㅎ]*' ! -name '*BAK202*' ! -name 'idx*_rec.csv' -print; for f in /var/www/html/api/yy_php5php8_db_conn.php /var/www/html/api/inc_nssb0.php /data/php56-web/htdocs/data/dbconfig.php /data/php56-web/htdocs/_common.php; do [ -f \"$f\" ] && printf '%s\\n' \"$f\"; done;",
            "auto": 0,
            "sub_odr": 13,
            "state": "active",
            "link": "",
            "target": "",
            "link_tooltip": "",
            "ai_start_prompt": "",
            "ai_mcp_api": "",
            "ai_file": "",
            "ai_function": "",
            "ai_success": ""
        },
        {
            "label": "파일찾기__yc",
            "cmd": "find /data/php56-web/htdocs/__yc/  -name \"ajx_get.php\"",
            "auto": 0,
            "sub_odr": 14,
            "state": "active",
            "link": "",
            "target": "",
            "link_tooltip": "",
            "ai_start_prompt": "",
            "ai_mcp_api": "",
            "ai_file": "",
            "ai_function": "",
            "ai_success": ""
        }
    ],
    "tmux": [
        {
            "label": "tmux kill",
            "cmd": "tmux kill-session -t yy1",
            "auto": 0,
            "sub_odr": 1,
            "state": "active",
            "link": "",
            "target": "",
            "link_tooltip": "",
            "ai_start_prompt": "",
            "ai_mcp_api": "",
            "ai_file": "",
            "ai_function": "",
            "ai_success": ""
        },
        {
            "label": "tmux ls",
            "cmd": "tmux ls",
            "auto": 1,
            "sub_odr": 2,
            "state": "active",
            "link": "",
            "target": "",
            "link_tooltip": "",
            "ai_start_prompt": "",
            "ai_mcp_api": "",
            "ai_file": "",
            "ai_function": "",
            "ai_success": ""
        },
        {
            "label": "pkill -u~  tmux attach",
            "cmd": "#일단 정리 명령:\n\npkill -u data_www -f \"tmux attach -t\"\npkill -u data_www -f \"tmux attach-session\"\n\n#세션 자체까지 죽이려면:\n\nsudo -u data_www tmux kill-server",
            "auto": 0,
            "sub_odr": 3,
            "state": "active",
            "link": "",
            "target": "",
            "link_tooltip": "",
            "ai_start_prompt": "",
            "ai_mcp_api": "",
            "ai_file": "",
            "ai_function": "",
            "ai_success": ""
        },
        {
            "label": "tmux안될때",
            "cmd": "#tmux 서버가 깨졌거 죽었을때 server exited unexpectedly 경우 정리\nrm -f /tmp/tmux-$(id -u)/default\n#그래도 나오면 \npkill -u data_www tmux\nrm -rf /tmp/tmux-$(id -u)\nmkdir -p /tmp/tmux-$(id -u)\nchmod 700 /tmp/tmux-$(id -u)\ntmux new -s yy",
            "auto": 0,
            "sub_odr": 4,
            "state": "active",
            "link": "",
            "target": "",
            "link_tooltip": "",
            "ai_start_prompt": "",
            "ai_mcp_api": "",
            "ai_file": "",
            "ai_function": "",
            "ai_success": ""
        },
        {
            "label": "tmux브레이크.방향키",
            "cmd": "Ctrl+b  = tmux야, 명령 받을 준비해\n [       = 화면 멈추고 위 로그 보는 모드로 들어가\n q       = 다시 현재 화면으로 돌아와\n\n# 암기용으로 더 짧게:\n\n 브레이크 → 열어 → 올라가 → q로 나와\n\n# 실제 손 순서:\n\n Ctrl+b → 손 떼기 → [ → 방향키 ↑↓ → q",
            "auto": 0,
            "sub_odr": 5,
            "state": "active",
            "link": "",
            "target": "",
            "link_tooltip": "",
            "ai_start_prompt": "",
            "ai_mcp_api": "",
            "ai_file": "",
            "ai_function": "",
            "ai_success": ""
        }
    ],
    "CHAT8787": [
        {
            "label": "chat_roles.html",
            "cmd": "ls  -al /var/www/html/y/chat_roles.html",
            "auto": 1,
            "sub_odr": 1,
            "state": "active",
            "link": "",
            "target": "",
            "link_tooltip": "",
            "ai_start_prompt": "",
            "ai_mcp_api": "",
            "ai_file": "",
            "ai_function": "",
            "ai_success": ""
        },
        {
            "label": "CHAT8787",
            "cmd": "pwd",
            "auto": 0,
            "sub_odr": 2,
            "state": "active",
            "link": "https://nssb.green-net.or.kr/api/nsai_prompt_template.php?action=list",
            "target": "",
            "link_tooltip": "https://nssb.green-net.or.kr/api/nsai_prompt_template.php?action=list",
            "ai_start_prompt": "",
            "ai_mcp_api": "",
            "ai_file": "",
            "ai_function": "",
            "ai_success": ""
        },
        {
            "label": "CHAT_ROLE채팅TEST",
            "cmd": "curl -k -X POST https://nssb.green-net.or.kr/y/chat_roles_proxy -H \"Content-Type: application/json\" -d '{\"model_code\":\"gpt-4o\",\"user_text\":\"테스트\",\"requested_by\":\"curl-test\"}'",
            "auto": 0,
            "sub_odr": 3,
            "state": "active",
            "link": "",
            "target": "",
            "link_tooltip": "",
            "ai_start_prompt": "",
            "ai_mcp_api": "",
            "ai_file": "",
            "ai_function": "",
            "ai_success": ""
        }
    ],
    "php검사": [
        {
            "label": "PHP검사",
            "cmd": "php -l /var/www/html/api/_sa/site_admin.php",
            "auto": 0,
            "sub_odr": 1,
            "state": "active",
            "link": "",
            "target": "",
            "link_tooltip": "",
            "ai_start_prompt": "",
            "ai_mcp_api": "",
            "ai_file": "",
            "ai_function": "",
            "ai_success": ""
        },
        {
            "label": "php오류검사",
            "cmd": "find /var/www/html/y/ -name \"yyy*.php\"| xargs -I {} php -l {}",
            "auto": 0,
            "sub_odr": 2,
            "state": "active",
            "link": "",
            "target": "",
            "link_tooltip": "",
            "ai_start_prompt": "",
            "ai_mcp_api": "",
            "ai_file": "",
            "ai_function": "",
            "ai_success": ""
        }
    ],
    "mcp": [
        {
            "label": "ns8tb/_mcp",
            "cmd": "ls -al /ns8tb/_mcp/example-remote-server",
            "auto": 1,
            "sub_odr": 1,
            "state": "active",
            "link": "",
            "target": "",
            "link_tooltip": "",
            "ai_start_prompt": "",
            "ai_mcp_api": "",
            "ai_file": "",
            "ai_function": "",
            "ai_success": ""
        },
        {
            "label": "쿠다",
            "cmd": "/opt/venv/bin/python3 -c \"import torch; print(torch.__version__); print(torch.cuda.is_available()); print(torch.cuda.get_device_name(0) if torch.cuda.is_available() else 'NO CUDA')\"",
            "auto": 1,
            "sub_odr": 2,
            "state": "active",
            "link": "",
            "target": "",
            "link_tooltip": "",
            "ai_start_prompt": "",
            "ai_mcp_api": "",
            "ai_file": "",
            "ai_function": "",
            "ai_success": ""
        }
    ],
    "php56-web": [
        {
            "label": "htdocs/api/nssb",
            "cmd": "ls -al /data/php56-web/htdocs/api/nssb",
            "auto": 1,
            "sub_odr": 1,
            "state": "active",
            "link": "",
            "target": "",
            "link_tooltip": "",
            "ai_start_prompt": "",
            "ai_mcp_api": "",
            "ai_file": "",
            "ai_function": "",
            "ai_success": ""
        },
        {
            "label": "__yc",
            "cmd": "ls -al /data/php56-web/htdocs/__yc",
            "auto": 1,
            "sub_odr": 2,
            "state": "active",
            "link": "",
            "target": "",
            "link_tooltip": "",
            "ai_start_prompt": "",
            "ai_mcp_api": "",
            "ai_file": "",
            "ai_function": "",
            "ai_success": ""
        },
        {
            "label": "__",
            "cmd": "ls -al /data/php56-web/htdocs/__",
            "auto": 1,
            "sub_odr": 3,
            "state": "active",
            "link": "",
            "target": "",
            "link_tooltip": "",
            "ai_start_prompt": "",
            "ai_mcp_api": "",
            "ai_file": "",
            "ai_function": "",
            "ai_success": ""
        },
        {
            "label": "찾을말",
            "cmd": "grep -r -n --include=\"*.php\"  --include=\"*.js\"   \"찾을말키워드\"   /data/php56-web/htdocs/",
            "auto": 0,
            "sub_odr": 4,
            "state": "active",
            "link": "",
            "target": "",
            "link_tooltip": "",
            "ai_start_prompt": "",
            "ai_mcp_api": "",
            "ai_file": "",
            "ai_function": "",
            "ai_success": ""
        },
        {
            "label": "찾을말__yc",
            "cmd": "grep -r -n --include=\"*.php\"  --include=\"*.js\"   \"찾을말키워드\"  /data/php56-web/htdocs/__yc",
            "auto": 0,
            "sub_odr": 5,
            "state": "active",
            "link": "",
            "target": "",
            "link_tooltip": "",
            "ai_start_prompt": "",
            "ai_mcp_api": "",
            "ai_file": "",
            "ai_function": "",
            "ai_success": ""
        },
        {
            "label": "php56-web/logs",
            "cmd": "ls -al /data/php56-web/logs",
            "auto": 1,
            "sub_odr": 6,
            "state": "active",
            "link": "",
            "target": "",
            "link_tooltip": "",
            "ai_start_prompt": "",
            "ai_mcp_api": "",
            "ai_file": "",
            "ai_function": "",
            "ai_success": ""
        },
        {
            "label": "데커ssl_error_log",
            "cmd": "tail /data/php56-web/logs/ssl_error_log",
            "auto": 0,
            "sub_odr": 7,
            "state": "active",
            "link": "",
            "target": "",
            "link_tooltip": "",
            "ai_start_prompt": "",
            "ai_mcp_api": "",
            "ai_file": "",
            "ai_function": "",
            "ai_success": ""
        },
        {
            "label": "데커access_log",
            "cmd": "tail /data/php56-web/logs/access_log",
            "auto": 0,
            "sub_odr": 8,
            "state": "active",
            "link": "",
            "target": "",
            "link_tooltip": "",
            "ai_start_prompt": "",
            "ai_mcp_api": "",
            "ai_file": "",
            "ai_function": "",
            "ai_success": ""
        }
    ],
    "웹log": [
        {
            "label": "ls ssl_n",
            "cmd": "ls -al  /var/log/apache2/ssl_n*",
            "auto": 1,
            "sub_odr": 1,
            "state": "active",
            "link": "",
            "target": "",
            "link_tooltip": "",
            "ai_start_prompt": "",
            "ai_mcp_api": "",
            "ai_file": "",
            "ai_function": "",
            "ai_success": ""
        },
        {
            "label": "tail ssl_n.",
            "cmd": "tail   /var/log/apache2/ssl_n.yjm.kr-access.log",
            "auto": 1,
            "sub_odr": 2,
            "state": "active",
            "link": "",
            "target": "",
            "link_tooltip": "",
            "ai_start_prompt": "",
            "ai_mcp_api": "",
            "ai_file": "",
            "ai_function": "",
            "ai_success": ""
        },
        {
            "label": "tail ssl_nssb.",
            "cmd": "tail   /var/log/apache2/ssl_nssb.green-net.or.kr_access.log",
            "auto": 1,
            "sub_odr": 3,
            "state": "active",
            "link": "",
            "target": "",
            "link_tooltip": "",
            "ai_start_prompt": "",
            "ai_mcp_api": "",
            "ai_file": "",
            "ai_function": "",
            "ai_success": ""
        },
        {
            "label": "nssb_error",
            "cmd": "tail  /var/log/apache2/ssl_nssb.green-net.or.kr_error.log",
            "auto": 1,
            "sub_odr": 4,
            "state": "active",
            "link": "",
            "target": "",
            "link_tooltip": "",
            "ai_start_prompt": "",
            "ai_mcp_api": "",
            "ai_file": "",
            "ai_function": "",
            "ai_success": ""
        },
        {
            "label": "n_error",
            "cmd": "tail /var/log/apache2/ssl_n.yjm.kr-error.log",
            "auto": 1,
            "sub_odr": 5,
            "state": "active",
            "link": "",
            "target": "",
            "link_tooltip": "",
            "ai_start_prompt": "",
            "ai_mcp_api": "",
            "ai_file": "",
            "ai_function": "",
            "ai_success": ""
        }
    ],
    "ns50dash": [
        {
            "label": "ns50dash",
            "cmd": "ls -al  /data/php56-web/htdocs/ns50dash",
            "auto": 1,
            "sub_odr": 1,
            "state": "active",
            "link": "",
            "target": "",
            "link_tooltip": "",
            "ai_start_prompt": "",
            "ai_mcp_api": "",
            "ai_file": "",
            "ai_function": "",
            "ai_success": ""
        },
        {
            "label": "dash50_stress6.js",
            "cmd": "grep -r -n --include=\"*.php\" --include=\"*.js\" --exclude-dir=\"cfg_rec_fds\" 'dash50_stress6.js'  /data/php56-web/htdocs/ns50dash",
            "auto": 0,
            "sub_odr": 2,
            "state": "active",
            "link": "",
            "target": "",
            "link_tooltip": "",
            "ai_start_prompt": "",
            "ai_mcp_api": "",
            "ai_file": "",
            "ai_function": "",
            "ai_success": ""
        },
        {
            "label": "ns50dash찾을말",
            "cmd": "grep -r -n --include=\"*.php\" --include=\"*.js\" --exclude-dir=\"cfg_rec_fds\" 'yy_dash50_avg6.json' /data/php56-web/htdocs/ns50dash",
            "auto": 0,
            "sub_odr": 3,
            "state": "active",
            "link": "",
            "target": "",
            "link_tooltip": "",
            "ai_start_prompt": "",
            "ai_mcp_api": "",
            "ai_file": "",
            "ai_function": "",
            "ai_success": ""
        }
    ],
    "js공부": [
        {
            "label": "tooltip js",
            "cmd": "grep -r -n --include=\"*.js\" \"tooltip\" /var/www/html/",
            "auto": 0,
            "sub_odr": 1,
            "state": "active",
            "link": "",
            "target": "",
            "link_tooltip": "",
            "ai_start_prompt": "",
            "ai_mcp_api": "",
            "ai_file": "",
            "ai_function": "",
            "ai_success": ""
        },
        {
            "label": "로컬 JSON ext 폴더",
            "cmd": "로컬 JSON ext 폴더\n%LocalAppData%\\Google\\Chrome\\User Data\\Default\\Extensions\\eifflpmocdbdmepbjaopkkhbfmdgijcc",
            "auto": 0,
            "sub_odr": 2,
            "state": "active",
            "link": "",
            "target": "",
            "link_tooltip": "",
            "ai_start_prompt": "",
            "ai_mcp_api": "",
            "ai_file": "",
            "ai_function": "",
            "ai_success": ""
        }
    ],
    "git": [
        {
            "label": "git",
            "cmd": "ls -al /data/git/",
            "auto": 1,
            "sub_odr": 1,
            "state": "active",
            "link": "",
            "target": "",
            "link_tooltip": "",
            "ai_start_prompt": "",
            "ai_mcp_api": "",
            "ai_file": "",
            "ai_function": "",
            "ai_success": ""
        }
    ],
    "통합": [
        {
            "label": "-alt카메라",
            "cmd": "ls -alt /data/php56-web/htdocs/",
            "auto": 1,
            "sub_odr": 1,
            "state": "active",
            "link": "",
            "target": "",
            "link_tooltip": "",
            "ai_start_prompt": "",
            "ai_mcp_api": "",
            "ai_file": "",
            "ai_function": "",
            "ai_success": ""
        },
        {
            "label": "모니터링api_nssb",
            "cmd": "ls -alt /data/php56-web/htdocs/api/nssb",
            "auto": 1,
            "sub_odr": 2,
            "state": "active",
            "link": "",
            "target": "",
            "link_tooltip": "",
            "ai_start_prompt": "",
            "ai_mcp_api": "",
            "ai_file": "",
            "ai_function": "",
            "ai_success": ""
        },
        {
            "label": "ns*",
            "cmd": "ls -alt /data/php56-web/htdocs/api/nssb/ns*",
            "auto": 1,
            "sub_odr": 3,
            "state": "active",
            "link": "",
            "target": "",
            "link_tooltip": "",
            "ai_start_prompt": "",
            "ai_mcp_api": "",
            "ai_file": "",
            "ai_function": "",
            "ai_success": ""
        },
        {
            "label": "t",
            "cmd": "ls -alt /var/www/html/y",
            "auto": 1,
            "sub_odr": 4,
            "state": "active",
            "link": "",
            "target": "",
            "link_tooltip": "",
            "ai_start_prompt": "",
            "ai_mcp_api": "",
            "ai_file": "",
            "ai_function": "",
            "ai_success": ""
        },
        {
            "label": "__",
            "cmd": "ls -al /data/php56-web/htdocs/__",
            "auto": 1,
            "sub_odr": 5,
            "state": "active",
            "link": "",
            "target": "",
            "link_tooltip": "",
            "ai_start_prompt": "",
            "ai_mcp_api": "",
            "ai_file": "",
            "ai_function": "",
            "ai_success": ""
        },
        {
            "label": "t",
            "cmd": "ls -alt /data/php56-web/htdocs/__",
            "auto": 1,
            "sub_odr": 6,
            "state": "active",
            "link": "",
            "target": "",
            "link_tooltip": "",
            "ai_start_prompt": "",
            "ai_mcp_api": "",
            "ai_file": "",
            "ai_function": "",
            "ai_success": ""
        },
        {
            "label": ".yynew",
            "cmd": "find /data/php56-web/htdocs/__/_rec/cfg_rec_fds \\   -path '*/.yynew' -prune -o \\   -type f -name '*.json' -print",
            "auto": 1,
            "sub_odr": 7,
            "state": "active",
            "link": "",
            "target": "",
            "link_tooltip": "",
            "ai_start_prompt": "",
            "ai_mcp_api": "",
            "ai_file": "",
            "ai_function": "",
            "ai_success": ""
        },
        {
            "label": "h폴더",
            "cmd": "ls -al /data/_bak/var/www/html | grep ^d",
            "auto": 0,
            "sub_odr": 8,
            "state": "active",
            "link": "",
            "target": "",
            "link_tooltip": "",
            "ai_start_prompt": "",
            "ai_mcp_api": "",
            "ai_file": "",
            "ai_function": "",
            "ai_success": ""
        },
        {
            "label": "cp-a php56 to v",
            "cmd": "cp -a   /data/php56-web/htdocs/api/_api_db_conn_esp.php원본  /var/www/html/api/대상",
            "auto": 0,
            "sub_odr": 9,
            "state": "active",
            "link": "",
            "target": "",
            "link_tooltip": "",
            "ai_start_prompt": "",
            "ai_mcp_api": "",
            "ai_file": "",
            "ai_function": "",
            "ai_success": ""
        }
    ],
    "php8": [
        {
            "label": "/api/__",
            "cmd": "ls -al /var/www/html/api/__",
            "auto": 1,
            "sub_odr": 1,
            "state": "active",
            "link": "",
            "target": "",
            "link_tooltip": "",
            "ai_start_prompt": "",
            "ai_mcp_api": "",
            "ai_file": "",
            "ai_function": "",
            "ai_success": ""
        },
        {
            "label": "gd확인",
            "cmd": "php -m | grep -i gd \nphp -r 'var_dump(extension_loaded(\"gd\"));'",
            "auto": 0,
            "sub_odr": 2,
            "state": "active",
            "link": "",
            "target": "",
            "link_tooltip": "",
            "ai_start_prompt": "",
            "ai_mcp_api": "",
            "ai_file": "",
            "ai_function": "",
            "ai_success": ""
        }
    ],
    "SYS": [
        {
            "label": "root로xterm바로",
            "cmd": "systemctl start yy-cmd; echo START_EXIT:$?; systemctl status yy-cmd --no-pager -l; ss -lntp",
            "auto": 0,
            "sub_odr": 1,
            "state": "active",
            "link": "",
            "target": "",
            "link_tooltip": "",
            "ai_start_prompt": "",
            "ai_mcp_api": "",
            "ai_file": "",
            "ai_function": "",
            "ai_success": ""
        },
        {
            "label": "robocopy",
            "cmd": "robocopy \"D:\\D\\git\" \"\\\\DESKTOP-OUO3OJ4\\d$\\D\\git\" /E /COPY:DAT /DCOPY:DAT /R:1 /W:1 /MT:16 /TEE /LOG:\"D:\\D\\git_robocopy.log\"",
            "auto": 0,
            "sub_odr": 2,
            "state": "active",
            "link": "",
            "target": "",
            "link_tooltip": "",
            "ai_start_prompt": "",
            "ai_mcp_api": "",
            "ai_file": "",
            "ai_function": "",
            "ai_success": ""
        }
    ],
    "Fail2Ban": [
        {
            "label": "unban",
            "cmd": "sudo fail2ban-client set apache-php-noscript unbanip 211.254.214.180",
            "auto": 0,
            "sub_odr": 1,
            "state": "active",
            "link": "",
            "target": "",
            "link_tooltip": "",
            "ai_start_prompt": "",
            "ai_mcp_api": "",
            "ai_file": "",
            "ai_function": "",
            "ai_success": ""
        },
        {
            "label": "f2bPHP",
            "cmd": "sudo fail2ban-client status apache-php-noscript",
            "auto": 1,
            "sub_odr": 2,
            "state": "active",
            "link": "",
            "target": "",
            "link_tooltip": "",
            "ai_start_prompt": "",
            "ai_mcp_api": "",
            "ai_file": "",
            "ai_function": "",
            "ai_success": ""
        },
        {
            "label": "f2bSSH",
            "cmd": "sudo fail2ban-client status sshd",
            "auto": 1,
            "sub_odr": 3,
            "state": "active",
            "link": "",
            "target": "",
            "link_tooltip": "",
            "ai_start_prompt": "",
            "ai_mcp_api": "",
            "ai_file": "",
            "ai_function": "",
            "ai_success": ""
        },
        {
            "label": "ssh Failed",
            "cmd": "tail  -n 1000 /var/log/auth.log | grep  'Failed password'",
            "auto": 0,
            "sub_odr": 4,
            "state": "active",
            "link": "",
            "target": "",
            "link_tooltip": "",
            "ai_start_prompt": "",
            "ai_mcp_api": "",
            "ai_file": "",
            "ai_function": "",
            "ai_success": ""
        },
        {
            "label": "공격감시",
            "cmd": "tail  -n 1100 /var/log/auth.log | grep  'Failed password'",
            "auto": 1,
            "sub_odr": 5,
            "state": "active",
            "link": "",
            "target": "",
            "link_tooltip": "",
            "ai_start_prompt": "",
            "ai_mcp_api": "",
            "ai_file": "",
            "ai_function": "",
            "ai_success": ""
        },
        {
            "label": "뚤림감시Accepted",
            "cmd": "tail -n 2000 /var/log/auth.log | grep 'Accepted'",
            "auto": 1,
            "sub_odr": 6,
            "state": "active",
            "link": "",
            "target": "",
            "link_tooltip": "",
            "ai_start_prompt": "",
            "ai_mcp_api": "",
            "ai_file": "",
            "ai_function": "",
            "ai_success": ""
        },
        {
            "label": "설정1",
            "cmd": "cat /etc/fail2ban/jail.d/apache-php-noscript.local",
            "auto": 1,
            "sub_odr": 7,
            "state": "active",
            "link": "",
            "target": "",
            "link_tooltip": "",
            "ai_start_prompt": "",
            "ai_mcp_api": "",
            "ai_file": "",
            "ai_function": "",
            "ai_success": ""
        },
        {
            "label": "설정2",
            "cmd": "ls -al  /usr/local/bin/ssh_alert.sh",
            "auto": 1,
            "sub_odr": 8,
            "state": "active",
            "link": "",
            "target": "",
            "link_tooltip": "",
            "ai_start_prompt": "",
            "ai_mcp_api": "",
            "ai_file": "",
            "ai_function": "",
            "ai_success": ""
        },
        {
            "label": "설정1",
            "cmd": "ls -al /etc/fail2ban/jail.d/apache-php-noscript.local",
            "auto": 1,
            "sub_odr": 9,
            "state": "active",
            "link": "",
            "target": "",
            "link_tooltip": "",
            "ai_start_prompt": "",
            "ai_mcp_api": "",
            "ai_file": "",
            "ai_function": "",
            "ai_success": ""
        },
        {
            "label": "설정3",
            "cmd": "ls -al /etc/pam.d/sshd",
            "auto": 1,
            "sub_odr": 10,
            "state": "active",
            "link": "",
            "target": "",
            "link_tooltip": "",
            "ai_start_prompt": "",
            "ai_mcp_api": "",
            "ai_file": "",
            "ai_function": "",
            "ai_success": ""
        },
        {
            "label": "설정t1",
            "cmd": "ls -al  /etc/fail2ban/action.d/telegram_alert.conf",
            "auto": 1,
            "sub_odr": 11,
            "state": "active",
            "link": "",
            "target": "",
            "link_tooltip": "",
            "ai_start_prompt": "",
            "ai_mcp_api": "",
            "ai_file": "",
            "ai_function": "",
            "ai_success": ""
        },
        {
            "label": "설정t2",
            "cmd": "ls -al  /etc/fail2ban/jail.local",
            "auto": 1,
            "sub_odr": 12,
            "state": "active",
            "link": "",
            "target": "",
            "link_tooltip": "",
            "ai_start_prompt": "",
            "ai_mcp_api": "",
            "ai_file": "",
            "ai_function": "",
            "ai_success": ""
        },
        {
            "label": "fail2ban-server -t",
            "cmd": "sudo fail2ban-server -t",
            "auto": 0,
            "sub_odr": 13,
            "state": "active",
            "link": "",
            "target": "",
            "link_tooltip": "",
            "ai_start_prompt": "",
            "ai_mcp_api": "",
            "ai_file": "",
            "ai_function": "",
            "ai_success": ""
        },
        {
            "label": "Errvvv",
            "cmd": "tail /var/log/apache2/error.log",
            "auto": 1,
            "sub_odr": 14,
            "state": "active",
            "link": "",
            "target": "",
            "link_tooltip": "",
            "ai_start_prompt": "",
            "ai_mcp_api": "",
            "ai_file": "",
            "ai_function": "",
            "ai_success": ""
        },
        {
            "label": "ssl에러로그",
            "cmd": "tail /var/log/apache2/ssl_nssb.green-net.or.kr_error.log",
            "auto": 1,
            "sub_odr": 15,
            "state": "active",
            "link": "",
            "target": "",
            "link_tooltip": "",
            "ai_start_prompt": "",
            "ai_mcp_api": "",
            "ai_file": "",
            "ai_function": "",
            "ai_success": ""
        }
    ],
    "yyjs": [
        {
            "label": "yyjs",
            "cmd": "ls -al /var/www/html/api/__/yyjs",
            "auto": 1,
            "sub_odr": 1,
            "state": "active",
            "link": "",
            "target": "",
            "link_tooltip": "",
            "ai_start_prompt": "",
            "ai_mcp_api": "",
            "ai_file": "",
            "ai_function": "",
            "ai_success": ""
        }
    ],
    "백업분": [
        {
            "label": "백업api_ns",
            "cmd": "ls -al /data/php56-web/htdocs/_bak/data/php56-web/htdocs/api/nssb",
            "auto": 1,
            "sub_odr": 1,
            "state": "active",
            "link": "",
            "target": "",
            "link_tooltip": "",
            "ai_start_prompt": "",
            "ai_mcp_api": "",
            "ai_file": "",
            "ai_function": "",
            "ai_success": ""
        },
        {
            "label": "t*ns",
            "cmd": "ls -alt /data/php56-web/htdocs/_bak/data/php56-web/htdocs/api/nssb",
            "auto": 1,
            "sub_odr": 2,
            "state": "active",
            "link": "",
            "target": "",
            "link_tooltip": "",
            "ai_start_prompt": "",
            "ai_mcp_api": "",
            "ai_file": "",
            "ai_function": "",
            "ai_success": ""
        },
        {
            "label": "yyy_view.js*",
            "cmd": "ls -alt /data/php56-web/htdocs/_bak/var/www/html/y/yyy_view.js*",
            "auto": 1,
            "sub_odr": 3,
            "state": "active",
            "link": "",
            "target": "",
            "link_tooltip": "",
            "ai_start_prompt": "",
            "ai_mcp_api": "",
            "ai_file": "",
            "ai_function": "",
            "ai_success": ""
        },
        {
            "label": "_bak",
            "cmd": "ls -alt /data/_bak/var/www/html",
            "auto": 0,
            "sub_odr": 4,
            "state": "active",
            "link": "",
            "target": "",
            "link_tooltip": "",
            "ai_start_prompt": "",
            "ai_mcp_api": "",
            "ai_file": "",
            "ai_function": "",
            "ai_success": ""
        },
        {
            "label": "yycm",
            "cmd": "ls -al /data/_bak/var/www/html/y/yycm",
            "auto": 1,
            "sub_odr": 5,
            "state": "trash",
            "link": "",
            "target": "",
            "link_tooltip": "",
            "ai_start_prompt": "",
            "ai_mcp_api": "",
            "ai_file": "",
            "ai_function": "",
            "ai_success": ""
        },
        {
            "label": "백y^d",
            "cmd": "ls -al /data/_bak/var/www/html/y | grep ^d",
            "auto": 0,
            "sub_odr": 6,
            "state": "active",
            "link": "",
            "target": "",
            "link_tooltip": "",
            "ai_start_prompt": "",
            "ai_mcp_api": "",
            "ai_file": "",
            "ai_function": "",
            "ai_success": ""
        },
        {
            "label": "_seed_",
            "cmd": "ls -alt /data/_bak/_sed_/var/www/html/y/diff.php*",
            "auto": 0,
            "sub_odr": 7,
            "state": "active",
            "link": "",
            "target": "",
            "link_tooltip": "",
            "ai_start_prompt": "",
            "ai_mcp_api": "",
            "ai_file": "",
            "ai_function": "",
            "ai_success": ""
        },
        {
            "label": "백y",
            "cmd": "ls -alt /data/_bak/var/www/html/y",
            "auto": 0,
            "sub_odr": 8,
            "state": "trash",
            "link": "",
            "target": "",
            "link_tooltip": "",
            "ai_start_prompt": "",
            "ai_mcp_api": "",
            "ai_file": "",
            "ai_function": "",
            "ai_success": ""
        }
    ],
    "rsync": [
        {
            "label": "rsync키로",
            "cmd": "rsync -avz --progress -e \"ssh -i /path/to/your/private_key\" /opt/venv/ data_www@server01_IP:/opt/venv/",
            "auto": 0,
            "sub_odr": 1,
            "state": "active",
            "link": "",
            "target": "",
            "link_tooltip": "",
            "ai_start_prompt": "",
            "ai_mcp_api": "",
            "ai_file": "",
            "ai_function": "",
            "ai_success": ""
        },
        {
            "label": "터미널로실행f.yjm.kr",
            "cmd": "rsync -avz --progress \\\n-e \"ssh -i /data/www/.ssh/id_ed25519 -o StrictHostKeyChecking=no\" \\\n/opt/venv/ \\\ndata_www@f.yjm.kr:/opt/venv/",
            "auto": 0,
            "sub_odr": 2,
            "state": "active",
            "link": "",
            "target": "",
            "link_tooltip": "",
            "ai_start_prompt": "",
            "ai_mcp_api": "",
            "ai_file": "",
            "ai_function": "",
            "ai_success": ""
        },
        {
            "label": "f.yjm.kr venv",
            "cmd": "rsync -avz --progress -e \"ssh -i /data/www/.ssh/id_ed25519 -o StrictHostKeyChecking=no\" /opt/venv/ data_www@f.yjm.kr:/opt/venv/",
            "auto": 0,
            "sub_odr": 3,
            "state": "active",
            "link": "",
            "target": "",
            "link_tooltip": "",
            "ai_start_prompt": "",
            "ai_mcp_api": "",
            "ai_file": "",
            "ai_function": "",
            "ai_success": ""
        },
        {
            "label": "venv용량보기",
            "cmd": "du -h --max-depth=2 /opt/venv/lib/python3.12/site-packages | sort -hr | head -n 15",
            "auto": 0,
            "sub_odr": 4,
            "state": "active",
            "link": "",
            "target": "",
            "link_tooltip": "",
            "ai_start_prompt": "",
            "ai_mcp_api": "",
            "ai_file": "",
            "ai_function": "",
            "ai_success": ""
        }
    ],
    "yy": [
        {
            "label": "yycm",
            "cmd": "ls -al /var/www/html/y/yycm",
            "auto": 1,
            "sub_odr": 1,
            "state": "active",
            "link": "",
            "target": "",
            "link_tooltip": "",
            "ai_start_prompt": "",
            "ai_mcp_api": "",
            "ai_file": "",
            "ai_function": "",
            "ai_success": ""
        },
        {
            "label": "t",
            "cmd": "ls -alt /var/www/html/y/yycm",
            "auto": 1,
            "sub_odr": 2,
            "state": "active",
            "link": "",
            "target": "",
            "link_tooltip": "",
            "ai_start_prompt": "",
            "ai_mcp_api": "",
            "ai_file": "",
            "ai_function": "",
            "ai_success": ""
        },
        {
            "label": "yyjs",
            "cmd": "ls -al /var/www/html/api/__/yyjs",
            "auto": 1,
            "sub_odr": 3,
            "state": "active",
            "link": "",
            "target": "",
            "link_tooltip": "",
            "ai_start_prompt": "",
            "ai_mcp_api": "",
            "ai_file": "",
            "ai_function": "",
            "ai_success": ""
        },
        {
            "label": "n_moni01.php",
            "cmd": "find /var/www/html/ -type f -name \"n_moni01.php\"",
            "auto": 1,
            "sub_odr": 4,
            "state": "active",
            "link": "",
            "target": "",
            "link_tooltip": "",
            "ai_start_prompt": "",
            "ai_mcp_api": "",
            "ai_file": "",
            "ai_function": "",
            "ai_success": ""
        }
    ],
    "nssb_prj_dev": [
        {
            "label": "원본 → dev로 복제",
            "cmd": "rsync -aHAX --delete --info=progress2 --exclude '.env' --exclude '__pycache__/' --exclude '*.pyc' --exclude 'node_modules/' --exclude '.git/' /data/_py/nssb_prj/ /data/_py/nssb_prj_dev/",
            "auto": 0,
            "sub_odr": 1,
            "state": "active",
            "link": "",
            "target": "",
            "link_tooltip": "",
            "ai_start_prompt": "",
            "ai_mcp_api": "",
            "ai_file": "",
            "ai_function": "",
            "ai_success": ""
        },
        {
            "label": "dev → 원본 반영",
            "cmd": "rsync -aHAX --info=progress2 --exclude '.env' --exclude '__pycache__/' --exclude '*.pyc' --exclude 'node_modules/' --exclude '.git/' /data/_py/nssb_prj_dev/ /data/_py/nssb_prj/",
            "auto": 0,
            "sub_odr": 2,
            "state": "active",
            "link": "",
            "target": "",
            "link_tooltip": "",
            "ai_start_prompt": "",
            "ai_mcp_api": "",
            "ai_file": "",
            "ai_function": "",
            "ai_success": ""
        }
    ],
    "nssb_prj실세": [
        {
            "label": "REF_TABLE찾",
            "cmd": "grep -r -n --include=\"*.*\" --exclude-dir=\"__pycache__\" --exclude-dir=\"node_modules\"  --exclude-dir=\"venv\"   \"찾을말\"  /data/_py/nssb_prj",
            "auto": 1,
            "sub_odr": 1,
            "state": "active",
            "link": "",
            "target": "",
            "link_tooltip": "",
            "ai_start_prompt": "",
            "ai_mcp_api": "",
            "ai_file": "",
            "ai_function": "",
            "ai_success": ""
        },
        {
            "label": "체크8000",
            "cmd": "ss -lntp | grep 8000\nlsof -i :8000",
            "auto": 0,
            "sub_odr": 2,
            "state": "active",
            "link": "",
            "target": "",
            "link_tooltip": "",
            "ai_start_prompt": "",
            "ai_mcp_api": "",
            "ai_file": "",
            "ai_function": "",
            "ai_success": ""
        },
        {
            "label": "체크3100",
            "cmd": "ss -lntp | grep 3100\nlsof -i :3100",
            "auto": 0,
            "sub_odr": 3,
            "state": "active",
            "link": "",
            "target": "",
            "link_tooltip": "",
            "ai_start_prompt": "",
            "ai_mcp_api": "",
            "ai_file": "",
            "ai_function": "",
            "ai_success": ""
        },
        {
            "label": "깃abort",
            "cmd": "sudo -H -n -u data_www /usr/bin/git -C /data/_py/nssb_prj merge --abort",
            "auto": 0,
            "sub_odr": 4,
            "state": "trash",
            "link": "",
            "target": "",
            "link_tooltip": "",
            "ai_start_prompt": "",
            "ai_mcp_api": "",
            "ai_file": "",
            "ai_function": "",
            "ai_success": ""
        },
        {
            "label": "깃reset",
            "cmd": "git reset --hard origin/main",
            "auto": 0,
            "sub_odr": 5,
            "state": "active",
            "link": "",
            "target": "",
            "link_tooltip": "",
            "ai_start_prompt": "",
            "ai_mcp_api": "",
            "ai_file": "",
            "ai_function": "",
            "ai_success": ""
        },
        {
            "label": "sudo깃reset",
            "cmd": "sudo -H -n -u data_www /usr/bin/git -C /data/_py/nssb_prj  reset --hard origin/main",
            "auto": 0,
            "sub_odr": 6,
            "state": "trash",
            "link": "",
            "target": "",
            "link_tooltip": "",
            "ai_start_prompt": "",
            "ai_mcp_api": "",
            "ai_file": "",
            "ai_function": "",
            "ai_success": ""
        },
        {
            "label": "깃Tetst",
            "cmd": "sudo -u data_www ssh -T git@github.com",
            "auto": 0,
            "sub_odr": 7,
            "state": "trash",
            "link": "",
            "target": "",
            "link_tooltip": "",
            "ai_start_prompt": "",
            "ai_mcp_api": "",
            "ai_file": "",
            "ai_function": "",
            "ai_success": ""
        },
        {
            "label": "nssb_prj내검색",
            "cmd": "grep -r -n --include=\"*.*\" --exclude-dir=\"__pycache__\" --exclude-dir=\"node_modules\"  --exclude-dir=\"venv\"   \"검색어\"  /data/_py/nssb_prj/",
            "auto": 0,
            "sub_odr": 8,
            "state": "trash",
            "link": "",
            "target": "",
            "link_tooltip": "",
            "ai_start_prompt": "",
            "ai_mcp_api": "",
            "ai_file": "",
            "ai_function": "",
            "ai_success": ""
        }
    ],
    "이모지🌈": [
        {
            "label": "🍑🍒🥝",
            "cmd": "➕ ⭕➖☑️✅❌ ✔️⚡ ⭐👁️🍏  🍏🍐 🍑 🍒 🍓 🫐 🥝 🍅 🫒 🥥  🥑🍇 🍈 🍉 🍊 🍋 🍋‍🟩 🍌 🍍 🥭 🍎🦀 🦞 🦐 🦑 🦪 🥐 🥖 🫓 🥨 🥯 🥞 🧇 🧀 🍖 🍗 🥩 🥓 🍔 🍟 🍕🌭 🥪 🌮 🌯 🫔 🥙 🧆 🥚 🍳 🥘 🍲 🫕🍼🥛 ☕🫖 🍵 🍶 🍾 🍷 🍸 🍹 🍺  🥂 🥃 🫗 🥤 🧋 🧃 🧉 🧊👾🤖 🦾 🧠 👀 🧑‍💻 👨‍💻 👩‍💻 🌐🚀 ⚡ ✨ 🪄 🎲 🖼️ 🎨 💻 🧮 📷 🔍 💡 📈 🧬🤗🙌🙏 🐰 🐇 🐣 🐤 🐥 🦋 🐝 🌸 🌷 🌱 🥕 🥚 🍫 ⛪ 🌈 🎁 �",
            "auto": 0,
            "sub_odr": 1,
            "state": "active",
            "link": "https://emojiterra.com/categories/",
            "target": "",
            "link_tooltip": "이모지 카테고리",
            "ai_start_prompt": "",
            "ai_mcp_api": "",
            "ai_file": "",
            "ai_function": "",
            "ai_success": ""
        }
    ],
    "find작업": [
        {
            "label": "report*",
            "cmd": "find /var/www/html/ -type f -name \"report*\"",
            "auto": 1,
            "sub_odr": 1,
            "state": "active",
            "link": "",
            "target": "",
            "link_tooltip": "",
            "ai_start_prompt": "",
            "ai_mcp_api": "",
            "ai_file": "",
            "ai_function": "",
            "ai_success": ""
        },
        {
            "label": "json *json*",
            "cmd": "find /var/www/html/api -type f -name \"*.json*\"",
            "auto": 1,
            "sub_odr": 2,
            "state": "active",
            "link": "",
            "target": "",
            "link_tooltip": "",
            "ai_start_prompt": "",
            "ai_mcp_api": "",
            "ai_file": "",
            "ai_function": "",
            "ai_success": ""
        },
        {
            "label": "db_conf.php",
            "cmd": "find /var/www/html/ -type f -name \"db_conf.php\"",
            "auto": 1,
            "sub_odr": 3,
            "state": "active",
            "link": "",
            "target": "",
            "link_tooltip": "",
            "ai_start_prompt": "",
            "ai_mcp_api": "",
            "ai_file": "",
            "ai_function": "",
            "ai_success": ""
        },
        {
            "label": "report.js",
            "cmd": "find /var/www/html/api  -type f -name \"report.js\"",
            "auto": 0,
            "sub_odr": 4,
            "state": "active",
            "link": "",
            "target": "",
            "link_tooltip": "",
            "ai_start_prompt": "",
            "ai_mcp_api": "",
            "ai_file": "",
            "ai_function": "",
            "ai_success": ""
        },
        {
            "label": "stress6_week.json.php",
            "cmd": "find /var/www/html/api  -type f -name \"stress6_week.json.php\"",
            "auto": 0,
            "sub_odr": 5,
            "state": "active",
            "link": "",
            "target": "",
            "link_tooltip": "",
            "ai_start_prompt": "",
            "ai_mcp_api": "",
            "ai_file": "",
            "ai_function": "",
            "ai_success": ""
        },
        {
            "label": "stage_save.php",
            "cmd": "find /var/www/html/api  -type f -name \"stage_save.php\"",
            "auto": 0,
            "sub_odr": 6,
            "state": "active",
            "link": "",
            "target": "",
            "link_tooltip": "",
            "ai_start_prompt": "",
            "ai_mcp_api": "",
            "ai_file": "",
            "ai_function": "",
            "ai_success": ""
        },
        {
            "label": "stage_box.js",
            "cmd": "find /var/www/html/api  -type f -name \"stage_box.js\"",
            "auto": 0,
            "sub_odr": 7,
            "state": "active",
            "link": "",
            "target": "",
            "link_tooltip": "",
            "ai_start_prompt": "",
            "ai_mcp_api": "",
            "ai_file": "",
            "ai_function": "",
            "ai_success": ""
        },
        {
            "label": "*_bot*",
            "cmd": "find /var/www/html/   -type f -name \"*_bot*\"",
            "auto": 0,
            "sub_odr": 8,
            "state": "active",
            "link": "",
            "target": "",
            "link_tooltip": "",
            "ai_start_prompt": "",
            "ai_mcp_api": "",
            "ai_file": "",
            "ai_function": "",
            "ai_success": ""
        }
    ],
    "ye테": [
        {
            "label": "yE테",
            "cmd": "pwd",
            "auto": 0,
            "sub_odr": 1,
            "state": "active",
            "link": "https://nssb.green-net.or.kr/y/yyy_view.php?view=yE%ED%85%8C.html&line=484",
            "target": "",
            "link_tooltip": "yE테",
            "ai_start_prompt": "",
            "ai_mcp_api": "",
            "ai_file": "",
            "ai_function": "",
            "ai_success": ""
        },
        {
            "label": "기준표2",
            "cmd": "# 위치\n# M:\\flash\\배포\\nssb_기준표",
            "auto": 0,
            "sub_odr": 2,
            "state": "active",
            "link": "",
            "target": "",
            "link_tooltip": "",
            "ai_start_prompt": "",
            "ai_mcp_api": "",
            "ai_file": "",
            "ai_function": "",
            "ai_success": ""
        }
    ],
    "grep": [
        {
            "label": "찾을말api",
            "cmd": "grep -r -n --include=\"*.php\"  \"찾을말\" /var/www/html/api/",
            "auto": 0,
            "sub_odr": 1,
            "state": "active",
            "link": "",
            "target": "",
            "link_tooltip": "",
            "ai_start_prompt": "",
            "ai_mcp_api": "",
            "ai_file": "",
            "ai_function": "",
            "ai_success": ""
        },
        {
            "label": "폴더내*.php",
            "cmd": "grep -r -n --include=\"*.php\"  --include=\"*.js\"   \"찾을말\" /var/www/html/*.php",
            "auto": 0,
            "sub_odr": 2,
            "state": "active",
            "link": "",
            "target": "",
            "link_tooltip": "",
            "ai_start_prompt": "",
            "ai_mcp_api": "",
            "ai_file": "",
            "ai_function": "",
            "ai_success": ""
        },
        {
            "label": "$conn",
            "cmd": "grep -r -n --include=\"*.php\" --exclude-dir=\"cfg_rec_fds\" '\\$conn' /data/php56-web/htdocs/__",
            "auto": 0,
            "sub_odr": 3,
            "state": "active",
            "link": "",
            "target": "",
            "link_tooltip": "",
            "ai_start_prompt": "",
            "ai_mcp_api": "",
            "ai_file": "",
            "ai_function": "",
            "ai_success": ""
        },
        {
            "label": "$conn v_a",
            "cmd": "grep -r -n --include=\"*.php\" --exclude-dir=\"cfg_rec_fds\" '\\$conn' /var/www/html/api",
            "auto": 0,
            "sub_odr": 4,
            "state": "active",
            "link": "",
            "target": "",
            "link_tooltip": "",
            "ai_start_prompt": "",
            "ai_mcp_api": "",
            "ai_file": "",
            "ai_function": "",
            "ai_success": ""
        },
        {
            "label": "제외후검색",
            "cmd": "grep -r -n --include=\"*.php\" --include=\"*.js\" --exclude-dir=\"cfg_rec_fds\" --exclude-dir=\"_docs\"   --exclude-dir=\"_trasy\"  '제외후검색' /var/www/html/",
            "auto": 0,
            "sub_odr": 5,
            "state": "active",
            "link": "",
            "target": "",
            "link_tooltip": "",
            "ai_start_prompt": "",
            "ai_mcp_api": "",
            "ai_file": "",
            "ai_function": "",
            "ai_success": ""
        },
        {
            "label": "찾을말php56-web",
            "cmd": "grep -r -n --include=\"*.php\" --include=\"*.js\" --exclude-dir=\"cfg_rec_fds\" '찾을말' /data/php56-web/htdocs/api/nssb",
            "auto": 0,
            "sub_odr": 6,
            "state": "active",
            "link": "",
            "target": "",
            "link_tooltip": "",
            "ai_start_prompt": "",
            "ai_mcp_api": "",
            "ai_file": "",
            "ai_function": "",
            "ai_success": ""
        },
        {
            "label": "워드검색y",
            "cmd": "grep -r -n -w --include=\"*.php\"  --exclude-dir=\"_docs\"  \"HTTPS\" /var/www/html/y/",
            "auto": 0,
            "sub_odr": 7,
            "state": "active",
            "link": "",
            "target": "",
            "link_tooltip": "",
            "ai_start_prompt": "",
            "ai_mcp_api": "",
            "ai_file": "",
            "ai_function": "",
            "ai_success": ""
        },
        {
            "label": "찾을말y",
            "cmd": "grep -r -n --include=\"*.php\" --exclude-dir=\"_docs\"  \"찾을말\" /var/www/html/y/",
            "auto": 0,
            "sub_odr": 8,
            "state": "active",
            "link": "",
            "target": "",
            "link_tooltip": "",
            "ai_start_prompt": "",
            "ai_mcp_api": "",
            "ai_file": "",
            "ai_function": "",
            "ai_success": ""
        },
        {
            "label": "찾을말_bak y",
            "cmd": "grep -r -n --include=\"*.php\" --exclude-dir=\"_docs\"  \"찾을말\"  /data/_bak/var/www/html/y",
            "auto": 0,
            "sub_odr": 9,
            "state": "active",
            "link": "",
            "target": "",
            "link_tooltip": "",
            "ai_start_prompt": "",
            "ai_mcp_api": "",
            "ai_file": "",
            "ai_function": "",
            "ai_success": ""
        },
        {
            "label": "nssb_mcp",
            "cmd": "grep -r -n --include=\"*.py\" --exclude-dir=\"__pycache__\" --exclude-dir=\"venv\"   \"찾을말\"  /data/_py/nssb_mcp",
            "auto": 0,
            "sub_odr": 10,
            "state": "active",
            "link": "",
            "target": "",
            "link_tooltip": "",
            "ai_start_prompt": "",
            "ai_mcp_api": "",
            "ai_file": "",
            "ai_function": "",
            "ai_success": ""
        },
        {
            "label": "/data/_py",
            "cmd": "grep -r -n --include=\"*.*\" --exclude-dir=\"__pycache__\" --exclude-dir=\"node_modules\"  --exclude-dir=\"venv\"   \"찾을말\"  /data/_py",
            "auto": 0,
            "sub_odr": 11,
            "state": "active",
            "link": "",
            "target": "",
            "link_tooltip": "",
            "ai_start_prompt": "",
            "ai_mcp_api": "",
            "ai_file": "",
            "ai_function": "",
            "ai_success": ""
        },
        {
            "label": "js,php찾을말y",
            "cmd": "grep -r -n --include=\"*.php\"  --include=\"*.js\"   --exclude-dir=\"_docs\"  \"검색어\"   /var/www/html/y",
            "auto": 0,
            "sub_odr": 12,
            "state": "active",
            "link": "",
            "target": "",
            "link_tooltip": "",
            "ai_start_prompt": "",
            "ai_mcp_api": "",
            "ai_file": "",
            "ai_function": "",
            "ai_success": ""
        },
        {
            "label": "찾을js_php",
            "cmd": "grep -r -n --include=\"*.php\"  --include=\"*.js\"  --exclude=\"*_s.*\"    --exclude-dir=\"_docs\" --exclude-dir=\"_trasy\"   \"찾을js_php\"   /var/www/html/",
            "auto": 0,
            "sub_odr": 13,
            "state": "active",
            "link": "",
            "target": "",
            "link_tooltip": "",
            "ai_start_prompt": "",
            "ai_mcp_api": "",
            "ai_file": "",
            "ai_function": "",
            "ai_success": ""
        },
        {
            "label": "찾을말y",
            "cmd": "grep -r -n --include=\"*.php\"  --include=\"*.css\"   --exclude-dir=\"cfg_rec_fds\"  --exclude-dir=\"_trash\"  --exclude-dir=\"_trasy\"   '찾을말y'  /var/www/html/y",
            "auto": 0,
            "sub_odr": 14,
            "state": "active",
            "link": "",
            "target": "",
            "link_tooltip": "",
            "ai_start_prompt": "",
            "ai_mcp_api": "",
            "ai_file": "",
            "ai_function": "",
            "ai_success": ""
        },
        {
            "label": "찾을y",
            "cmd": "grep -r -n --include=\"*.php\"  --include=\"*.js\"   --exclude-dir=\"cfg_rec_fds\"  --exclude-dir=\"_trash\"  --exclude-dir=\"_trasy\"   '찾을y'  /var/www/html/y",
            "auto": 0,
            "sub_odr": 15,
            "state": "active",
            "link": "",
            "target": "",
            "link_tooltip": "",
            "ai_start_prompt": "",
            "ai_mcp_api": "",
            "ai_file": "",
            "ai_function": "",
            "ai_success": ""
        },
        {
            "label": "yE검색어y",
            "cmd": "grep -r -n  --include=\"*.html\"   --exclude-dir=\"cfg_rec_fds\"  --exclude-dir=\"_trash\"  --exclude-dir=\"_trasy\"   '찾을말y'   /data/yE/var/www/html/y",
            "auto": 0,
            "sub_odr": 16,
            "state": "active",
            "link": "",
            "target": "",
            "link_tooltip": "",
            "ai_start_prompt": "",
            "ai_mcp_api": "",
            "ai_file": "",
            "ai_function": "",
            "ai_success": ""
        }
    ],
    "데커": [
        {
            "label": "error.log",
            "cmd": "tail /data/php56-web/logs/error.log",
            "auto": 0,
            "sub_odr": 1,
            "state": "active",
            "link": "",
            "target": "",
            "link_tooltip": "",
            "ai_start_prompt": "",
            "ai_mcp_api": "",
            "ai_file": "",
            "ai_function": "",
            "ai_success": ""
        },
        {
            "label": "복사",
            "cmd": "docker cp planka-planka-1:/app /data/git/planka/app_src",
            "auto": 0,
            "sub_odr": 2,
            "state": "active",
            "link": "",
            "target": "",
            "link_tooltip": "",
            "ai_start_prompt": "",
            "ai_mcp_api": "",
            "ai_file": "",
            "ai_function": "",
            "ai_success": ""
        },
        {
            "label": "ls -al",
            "cmd": "ls -al /data/git/planka",
            "auto": 1,
            "sub_odr": 3,
            "state": "active",
            "link": "",
            "target": "",
            "link_tooltip": "",
            "ai_start_prompt": "",
            "ai_mcp_api": "",
            "ai_file": "",
            "ai_function": "",
            "ai_success": ""
        },
        {
            "label": "docker-compose.yml",
            "cmd": "find /data -path \"*/node_modules\" -prune -o -path \"*/.ssh\" -prune -o -path \"*/mariadb10\" -prune -o -path \"*/__trasy\" -prune -o -type f \\( -name \"docker-compose.yml\" -o -name \"Dockerfile\" \\) -print 2>/dev/null",
            "auto": 0,
            "sub_odr": 4,
            "state": "active",
            "link": "",
            "target": "",
            "link_tooltip": "",
            "ai_start_prompt": "",
            "ai_mcp_api": "",
            "ai_file": "",
            "ai_function": "",
            "ai_success": ""
        }
    ],
    "파일:mcp_action.php": [
        {
            "label": "2. 완료 이동 로직 점검",
            "cmd": "mcp:task:mcp_action:002_done_move",
            "auto": 0,
            "sub_odr": 1,
            "state": "active",
            "link": "",
            "target": "",
            "link_tooltip": "mcp_action.php 작업 2",
            "ai_start_prompt": "",
            "ai_mcp_api": "",
            "ai_file": "",
            "ai_function": "",
            "ai_success": ""
        }
    ],
    "파일:yyy_cmd.js": [
        {
            "label": "1. zone 렌더링 확인",
            "cmd": "mcp:task:yyy_cmd_js:001_zone_render",
            "auto": 0,
            "sub_odr": 1,
            "state": "active",
            "link": "",
            "target": "",
            "link_tooltip": "yyy_cmd.js 작업 1",
            "ai_start_prompt": "",
            "ai_mcp_api": "",
            "ai_file": "",
            "ai_function": "",
            "ai_success": ""
        },
        {
            "label": "3. 링크/툴팁 확인",
            "cmd": "mcp:task:yyy_cmd_js:003_link_tooltip",
            "auto": 0,
            "sub_odr": 2,
            "state": "active",
            "link": "",
            "target": "",
            "link_tooltip": "yyy_cmd.js 작업 3",
            "ai_start_prompt": "",
            "ai_mcp_api": "",
            "ai_file": "",
            "ai_function": "",
            "ai_success": ""
        }
    ],
    "AI메타:mcp_action.php": [
        {
            "label": "1. AI 필드 저장 테스트",
            "cmd": "grep -n \"ai_start_prompt\\|ai_mcp_api\\|ai_file\\|ai_function\\|ai_success\" /var/www/html/y/mcp_action.php",
            "auto": 0,
            "sub_odr": 1,
            "state": "trash",
            "link": "https://nssb.green-net.or.kr/y/mcp_action.php?token=ABC1234XYZ&action=cmd_board_get&zone=zone5",
            "target": "_blank",
            "link_tooltip": "AI 작업용 보조 필드가 저장되는지 확인합니다.",
            "ai_start_prompt": "현재 작업 항목의 대상 파일과 함수, 성공 기준을 확인하고 다음 수정 단계를 제안합니다.",
            "ai_mcp_api": "cmd_board_add_task",
            "ai_file": "/var/www/html/y/mcp_action.php",
            "ai_function": "mcp_cmd_board_add_task",
            "ai_success": "cmd_board_get 결과의 items 안에 ai_start_prompt, ai_mcp_api, ai_file, ai_function, ai_success 값이 보이면 성공"
        },
        {
            "label": "필드저장test2",
            "cmd": "grep -R -n \"function yyy_save_fav_json\\|function yyy_load_fav_json\\|function yyy_get_fav_json_path\" /var/www/html/y",
            "auto": 0,
            "sub_odr": 2,
            "state": "trash",
            "link": "",
            "target": "",
            "link_tooltip": "저장 대상 JSON:  /var/www/html/y/yyy_cmd_fav_nssb.green-net.or.kr.json  저장/로드 함수 위치:  /var/www/html/y/yyy_cmd_conversion.php  핵심 함수:  yyy_get_fav_json_path()  yyy_load_fav_json()  yyy_save_fav_json()",
            "ai_start_prompt": "",
            "ai_mcp_api": "",
            "ai_file": "",
            "ai_function": "",
            "ai_success": ""
        },
        {
            "label": "새필드 target, ai_*가 저장 과정에서 빠지는지 확인",
            "cmd": "grep -n '\"필즈저장test2\"\\|\"AI메타:mcp_action.php\"\\|\"target\"\\|\"ai_start_prompt\"\\|\"ai_mcp_api\"\\|\"ai_file\"\\|\"ai_function\"\\|\"ai_success\"' /var/www/html/y/yyy_cmd_fav_nssb.green-net.or.kr.json",
            "auto": 0,
            "sub_odr": 3,
            "state": "trash",
            "link": "",
            "target": "",
            "link_tooltip": "",
            "ai_start_prompt": "",
            "ai_mcp_api": "",
            "ai_file": "",
            "ai_function": "",
            "ai_success": ""
        },
        {
            "label": "target, ai_*가 저장되지 않았습니다. sed-n390,470p에yyy_cmd_conversion.php검토",
            "cmd": "sed -n '390,470p' /var/www/html/y/yyy_cmd_conversion.php",
            "auto": 0,
            "sub_odr": 4,
            "state": "trash",
            "link": "링크URL생략.하니툴팁안나오네",
            "target": "",
            "link_tooltip": "현재판단 mcp_action.php        적용됨 yyy_cmd_config_fav.php 적용됨 실제 JSON 저장 결과   아직 안 됨",
            "ai_start_prompt": "",
            "ai_mcp_api": "",
            "ai_file": "",
            "ai_function": "",
            "ai_success": ""
        },
        {
            "label": "서브.툴팁이 명령어가 툴팁이라.툴팁란의미가 현재없음",
            "cmd": "pwd",
            "auto": 0,
            "sub_odr": 5,
            "state": "trash",
            "link": "",
            "target": "",
            "link_tooltip": "",
            "ai_start_prompt": "",
            "ai_mcp_api": "",
            "ai_file": "",
            "ai_function": "",
            "ai_success": ""
        }
    ],
    "AI작업완성": [
        {
            "label": "1단계 테스트 작업",
            "cmd": "mcp:test:cmd_board_add_task",
            "auto": 0,
            "sub_odr": 1,
            "state": "trash",
            "link": "https://nssb.green-net.or.kr/y/mcp_action.php?token=ABC1234XYZ&action=cmd_board_get&zone=zone5",
            "target": "",
            "link_tooltip": "cmd_board_add_task 테스트 성공",
            "ai_start_prompt": "",
            "ai_mcp_api": "",
            "ai_file": "",
            "ai_function": "",
            "ai_success": ""
        }
    ],
    "완료:파일:mcp_action.php": [
        {
            "label": "1. cmd_board 구조 점검",
            "cmd": "mcp:task:mcp_action:001_check_board",
            "auto": 0,
            "sub_odr": 1,
            "state": "active",
            "link": "",
            "target": "",
            "link_tooltip": "1번 작업 완료",
            "ai_start_prompt": "",
            "ai_mcp_api": "",
            "ai_file": "",
            "ai_function": "",
            "ai_success": ""
        }
    ],
    "yyy_aiwk": [
        {
            "label": "yyy_aiwk",
            "cmd": "pwd",
            "auto": 1,
            "sub_odr": 1,
            "state": "active",
            "link": "",
            "target": "",
            "link_tooltip": "",
            "ai_start_prompt": "",
            "ai_mcp_api": "",
            "ai_file": "",
            "ai_function": "",
            "ai_success": ""
        }
    ],
    "__yc전체": [
        {
            "label": "__yc전체파일",
            "cmd": "find /data/php56-web/htdocs/__yc/  \\( -name 'node_modules' -o -name 'node_module' -o -name '.git' -o -name '__py' -o -name 'venv' -o -name '__pycache__'  -o -name '_rptdata' -o -name '/_rpt'  -o -name 'cfg_rec_fds'  -o -name '백업' -o -name 'cast'-o -name 'nj'   \\) -prune -o   -type f   \\( -name '*.py' -o -name '*.js' -o -name '*.ejs' -o -name '*.css' -o -name '*.php'  -o -name '*.csv' \\) ! -name '*_s.*'   ! -name '*[가-힣]*'   ! -name '*[ㄱ-ㅎ]*'  ! -name '*BAK202*'  ! -name 'idx*_rec.csv'  -print",
            "auto": 0,
            "sub_odr": 1,
            "state": "active",
            "link": "",
            "target": "",
            "link_tooltip": "",
            "ai_start_prompt": "",
            "ai_mcp_api": "",
            "ai_file": "",
            "ai_function": "",
            "ai_success": ""
        }
    ],
    "api알람": [
        {
            "label": "n_moni01알람",
            "cmd": "ls -al /var/www/html/api/ns",
            "auto": 1,
            "sub_odr": 1,
            "state": "active",
            "link": "",
            "target": "",
            "link_tooltip": "",
            "ai_start_prompt": "",
            "ai_mcp_api": "",
            "ai_file": "",
            "ai_function": "",
            "ai_success": ""
        }
    ],
    "_xterm_sessions": []
}