v4.0.0: 라이브 서비스 /srv/homeclaw로 이전 + Android 실기기 USB 연동 + 관리자 IP 차단 뷰어
- homeclaw 라이브 서비스를 /home/kim/homeclaw에서 /srv/homeclaw(480G 전용 파티션)로 컷오버, 하드코딩된 절대경로 전부 치환 (config, mcp-servers, routes, scripts, web-ui) - Android 에뮬레이터 컨테이너 리소스를 32스레드 Xeon 기준으로 상향(3g/3cpu → 6g/10cpu) - 코드 에디터에 USB 실기기 패널 추가: 기기 감지, APK 설치, Logcat, scrcpy 화면 미러링 (companion.py에 독립 프로세스로 scrcpy 스폰하는 로직 포함) - 관리자 컨텍스트 뷰어에 차단된 IP 목록 탭 추가 - ollama primary 모델을 gemma4:31b-cloud로, 음성 TTS를 edge_tts로 전환 Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
This commit is contained in:
+10
-10
@@ -21,7 +21,7 @@
|
||||
"providers": {
|
||||
"ollama": {
|
||||
"endpoint": "http://localhost:11434",
|
||||
"model": "gemini-3-flash-preview:cloud"
|
||||
"model": "gemma4:31b-cloud"
|
||||
},
|
||||
"lm_studio": {
|
||||
"endpoint": "http://host.docker.internal:1234",
|
||||
@@ -45,11 +45,11 @@
|
||||
}
|
||||
},
|
||||
"models": {
|
||||
"primary": "gemini-3-flash-preview:cloud",
|
||||
"primary": "gemma4:31b-cloud",
|
||||
"roles": {
|
||||
"manager": "gemini-3-flash-preview:cloud",
|
||||
"executor": "gemini-3-flash-preview:cloud",
|
||||
"verifier": "gemini-3-flash-preview:cloud",
|
||||
"manager": "gemma4:31b-cloud",
|
||||
"executor": "gemma4:31b-cloud",
|
||||
"verifier": "gemma4:31b-cloud",
|
||||
"background_task": ""
|
||||
}
|
||||
},
|
||||
@@ -88,7 +88,7 @@
|
||||
}
|
||||
},
|
||||
"skills": {
|
||||
"directory": "/home/kim/homeclaw/.smallclaw/skills",
|
||||
"directory": "/srv/homeclaw/.smallclaw/skills",
|
||||
"registries": [
|
||||
"https://clawhub.ai"
|
||||
],
|
||||
@@ -96,7 +96,7 @@
|
||||
},
|
||||
"memory": {
|
||||
"provider": "chromadb",
|
||||
"path": "/home/kim/homeclaw/.smallclaw/memory",
|
||||
"path": "/srv/homeclaw/.smallclaw/memory",
|
||||
"embedding_model": "nomic-embed-text"
|
||||
},
|
||||
"memory_options": {
|
||||
@@ -118,7 +118,7 @@
|
||||
"workspace_file": "HEARTBEAT.md"
|
||||
},
|
||||
"workspace": {
|
||||
"path": "/home/kim/homeclaw/.smallclaw/workspace",
|
||||
"path": "/srv/homeclaw/.smallclaw/workspace",
|
||||
"codeDir": "code"
|
||||
},
|
||||
"agents": [
|
||||
@@ -239,14 +239,14 @@
|
||||
"language": "ko"
|
||||
},
|
||||
"tts": {
|
||||
"provider": "xtts_gpu",
|
||||
"provider": "edge_tts",
|
||||
"model": "ko_KR-kss-medium",
|
||||
"voice": "ko-KR-SunHiNeural"
|
||||
},
|
||||
"engine": {
|
||||
"port": 8765,
|
||||
"sttModel": "medium",
|
||||
"speakerWav": "/home/kim/homeclaw/.smallclaw/voice/speaker_ko.wav",
|
||||
"speakerWav": "/srv/homeclaw/.smallclaw/voice/speaker_ko.wav",
|
||||
"device": "cuda"
|
||||
}
|
||||
},
|
||||
|
||||
@@ -7,7 +7,7 @@
|
||||
"command": "node",
|
||||
"args": [
|
||||
"/home/kim/.local/lib/node_modules/mcp-sqlite/mcp-sqlite-server.js",
|
||||
"/home/kim/homeclaw/.smallclaw/databases/dental_dict.db"
|
||||
"/srv/homeclaw/.smallclaw/databases/dental_dict.db"
|
||||
],
|
||||
"description": "치의학 사전 SQLite DB. 테이블: terms(id,korean,english,latin,abbreviation,definition,category,synonyms,related_ids,pmids,icd_code,notes,image_url,source_url,created_at,updated_at), categories(id,name,name_en), references_tb(id,term_id,pubmed_id,title,authors,year). 한국어 검색은 korean 컬럼, 영어는 english, 라틴어는 latin 컬럼 사용.\n\n**카테고리 목록** (category 컬럼 값 — 반드시 정확히 일치):\n- 구강악안면영상의학 (방사선, X선, CT, 촬영법 등)\n- 치주 (치주염, 잇몸, 치조골 등)\n- 보존 (우식, 근관치료, 수복 등)\n- 보철 (틀니, 크라운, 브릿지 등)\n- 교정 (부정교합, 브라켓 등)\n- 구강병리 (낭종, 종양, 조직병리 등)\n- 구강외과 (발치, 임플란트 수술 등)\n- 구강내과 (구강점막질환, 통증 등)\n- 소아치과, 예방치학, 임플란트, 치과마취학, 치과생체재료학, 노인치의학, 심미치의학, 디지털치의학, 기초치의학\n\n**퀴즈/플래시카드 생성 규칙**: 주제별 퀴즈를 낼 때 반드시 해당 category로 WHERE 절 필터를 걸 것. 예) '영상의학 퀴즈' → WHERE category='구강악안면영상의학', '치주 퀴즈' → WHERE category='치주'. 카테고리를 섞어서 선택하지 말 것. 이미지 있는 용어만 뽑을 때는 AND image_url IS NOT NULL AND image_url != '' 조건 추가.\n\n**이미지 표시 규칙**: 용어 조회 시 image_url 컬럼 값을 반드시 포함할 것. image_url은 위키미디어 직접 링크(https://upload.wikimedia.org/...) 또는 PMC CDN 링크(https://cdn.ncbi.nlm.nih.gov/pmc/blobs/...) 또는 로컬 경로(/api/files/uploads/dental_images/remote/숫자.jpg 또는 .png) 형식. 이미지 표시 시 반드시 image_url 컬럼의 값을 그대로 사용할 것. 절대 직접 경로를 만들거나 임의의 URL을 생성하지 말 것. **절대 read_file이나 다른 툴로 이미지 파일 존재 여부를 검증하지 말 것 — image_url 값이 있으면 무조건 바로 마크다운으로 출력할 것.** source_url은 참고문헌 URL.\n\n**퀴즈/플래시카드 이미지 출력 형식**: 퀴즈나 플래시카드를 출력할 때 image_url이 있는 용어는 반드시 마크다운 이미지 형식으로 표시할 것. 형식: . SELECT 쿼리에 반드시 image_url 컬럼을 포함하고, 결과의 image_url 값이 비어있지 않으면 퀴즈 항목 아래에 이미지를 삽입할 것. 이미지가 없는 용어는 이미지 없이 표시."
|
||||
},
|
||||
@@ -19,7 +19,7 @@
|
||||
"command": "node",
|
||||
"args": [
|
||||
"/home/kim/.local/lib/node_modules/mcp-sqlite/mcp-sqlite-server.js",
|
||||
"/home/kim/homeclaw/.smallclaw/databases/psychotherapy_cases.db"
|
||||
"/srv/homeclaw/.smallclaw/databases/psychotherapy_cases.db"
|
||||
],
|
||||
"description": "PCSP(Pragmatic Case Studies in Psychotherapy) 저널 기반 심리치료 임상 사례 DB. 테이블: cases(id, article_id, issue_id, vol, num, year, title_en, title_ko, authors, article_type, category_en, category_ko, therapy_approach_en, therapy_approach_ko, keywords, abstract_en, abstract_ko, doi, url, source_url, created_at). 총 352개 기사(사례연구 161, 일반기사 166, 논평 23, 응답 2).\n\n**치료 접근법별 카테고리** (category_en, category_ko):\n- CBT (인지행동치료): 80건\n- Psychodynamic (정신역동치료): 37건\n- Exposure Therapy (노출치료): 28건\n- Integrative (통합치료): 13건\n- AEDP (가속적경험적역동치료): 13건\n- Humanistic (인간중심치료): 9건\n- ACT (수용전념치료): 7건\n- EFT (정서초점치료): 6건\n- DBT (변증법적행동치료): 5건\n- Schema Therapy (도식치료): 4건\n- Mindfulness (마음챙김치료): 4건\n- Hypnosis (최면치료): 4건\n- Narrative Therapy (내러티브치료): 3건\n- Other (기타): 139건\n\n**기사 유형** (article_type): case_study, article, commentary, response\n\n**쿼리 예시**:\n- CBT 사례연구: SELECT title_en, title_ko, authors, year FROM cases WHERE category_en='CBT' AND article_type='case_study'\n- 특정 치료법 사례: SELECT title_en, title_ko, abstract_en FROM cases WHERE category_en='DBT'\n- 연도별 검색: SELECT title_en, title_ko, year FROM cases WHERE year >= 2020\n- 키워드 검색: SELECT title_en, title_ko FROM cases WHERE keywords LIKE '%anxiety%'\n- 초상 포함 검색: SELECT title_en, title_ko, abstract_en FROM cases WHERE abstract_en != '' AND category_en='Exposure Therapy'\n\n**한국어 검색**: title_ko 컬럼 사용. 일부 기사는 [카테고리한국어] + 영어 원문 제목 형식.\n**출처**: Pragmatic Case Studies in Psychotherapy (PCSP) - https://pcsp.nationalregister.org/"
|
||||
},
|
||||
@@ -31,7 +31,7 @@
|
||||
"command": "node",
|
||||
"args": [
|
||||
"/home/kim/.local/lib/node_modules/mcp-sqlite/mcp-sqlite-server.js",
|
||||
"/home/kim/homeclaw/.smallclaw/databases/psychiatry_cases.db"
|
||||
"/srv/homeclaw/.smallclaw/databases/psychiatry_cases.db"
|
||||
],
|
||||
"description": "DSM-5 기반 정신과 임상 증례 DB. 테이블: cases(id, section_num, case_title, diagnosis_en, diagnosis_ko, chapter_num, chapter_en, chapter_ko, content, source_url, created_at). 총 117개 증례, 19개 챕터(신경발달장애~성도착장애).\n\n**챕터 목록** (chapter_num, chapter_ko):\n1. 신경발달장애, 2. 조현병 스펙트럼, 3. 양극성 장애, 4. 우울장애, 5. 불안장애, 6. 강박 및 관련 장애, 7. 외상 및 스트레스 관련 장애, 8. 해리장애, 9. 신체증상 및 관련 장애, 10. 섭식장애, 11. 배설장애, 12. 수면-각성 장애, 13. 성기능 장애, 14. 성별 불쾌감, 15. 파괴적 충동조절 장애, 16. 물질관련 및 중독장애, 17. 신경인지장애, 18. 인격장애, 19. 성도착장애\n\n**쿼리 예시**:\n- 특정 장애 증례: SELECT case_title, diagnosis_en, content FROM cases WHERE diagnosis_en LIKE '%Schizophrenia%'\n- 챕터별 증례: SELECT case_title, diagnosis_en FROM cases WHERE chapter_num = 5\n- 한국어 챕터 검색: SELECT case_title, diagnosis_en FROM cases WHERE chapter_ko = '인격장애'\n- 증례 내용 검색: SELECT case_title, diagnosis_en FROM cases WHERE content LIKE '%bipolar%'\n\n**출력 규칙**: 증례를 설명할 때 case_title과 diagnosis_en을 함께 표시할 것. 위기 상황(자해·자살 언급)이 감지되면 즉시 자살예방상담전화 1393, 정신건강위기상담전화 1577-0199를 안내할 것."
|
||||
}
|
||||
|
||||
@@ -20,4 +20,6 @@
|
||||
- Local LLM Server: HP Z840, 2x RTX 5060 Ti, 64GB RAM, Crucial P310 1TB NVMe. [2026-07-03] [2026-07-03]
|
||||
- Local LLM Server: HP Z840, 2x RTX 5060 Ti (16GB each, total 32GB VRAM), 64GB RAM, Crucial P310 1TB NVMe. [2026-07-03] [2026-07-03]
|
||||
- Local LLM Server name: 지서버 (Z-Server). [2026-07-03] [2026-07-03]
|
||||
- Web server name: 클로서버 (Claw-Server). [2026-07-03] [2026-07-03]
|
||||
- Web server name: 클로서버 (Claw-Server). [2026-07-03] [2026-07-03]
|
||||
- Web server (클로서버) 사양: HP ProDesk 600 G1 DM, 16GB RAM. [2026-07-06] [2026-07-06]
|
||||
- Web server (클로서버) 사양 업그레이드: Dell T5810, Xeon E5-2683 v4, 40GB RAM, RTX 3060 12GB. [2026-07-09] [2026-07-09]
|
||||
Reference in New Issue
Block a user