- 스킬앱 HTML 내장화: accountant/lawyer/investor/weather/music/mind/dental-agent
각 앱이 SKILL_CONTENT를 HTML에 직접 내장 → .smallclaw/skills/ SKILL.md 파일 제거
- 새 게이트웨이 라우트: routes-dental, routes-music, routes-mcp, routes-voice
- skillContext 서버 지원: /api/chat에서 skill 컨텍스트를 callerCtx로 주입
- 세션 삭제 API: DELETE /api/admin/sessions/:username/:id
- Telegram defaultUsername: 어드민 계정 자동 추론
- Ollama /api/ollama/models에 vision 지원 여부 플래그 추가
- DB 워크플로 개선: workflow_images.py 대규모 리팩터링
- 아두이노 에뮬레이터 추가 개선 (arduino-emulator.html +400줄)
- 우즈베크어 학습 콘텐츠 및 MIDI 파일 추가
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
- Remove blanket regex that stripped ALL image markdown from AI responses,
which was breaking dental-dict images. The [IMAGE COMPLETE] prompt reminder
already tells the model not to duplicate image_edit/image_read results.
- Remove coder skill (SKILL.md)
- Remove dental-dict skill (now handled by MCP server description alone)
- Remove broken external URL for 볼튼분석 (Open-i link dead)
- investor skill enabled in skills_state
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
- Add Korean search keywords to WEB category (뉴스, 검색해, etc.) so
Korean news queries trigger web_search instead of ollama_web_search
- Show ✓ SearXNG in startup banner when searxng_url is configured
- Update dental dict databases scripts and DB
- Clean up stale sessions and workspace runtime files
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Reorganize .smallclaw/databases/ around a single entry point with
subcommands (add-terms / add-images / verify / reassign / stats),
absorb pmc_reassign.py into reassign, and route every image source
through inline vision-model verification before commit.
Layout
config.py paths, endpoints, API-key locations (no more
hard-coded absolute paths in source files)
manage.py argparse dispatcher
workflow_terms.py seed-JSON import (JSONC supported, dedupes on
korean/english)
workflow_images.py renamed from dental_image_workflow.py; main()
converted to run(verify=True, ...)
workflow_verify.py validate_image() / verify_db() + verify_updates()
gate used by every add-images source
seeds/ recovered seed_all.json, seed_periodontics.json
scratch/ ad-hoc work area replacing the /tmp habit
(only README.md is tracked)
docs/howto.md moved + expanded
docs/archive_image_rounds/ one-off round scripts + their results
docs/archive_validation/ model-comparison + validation history
Verification
- VERIFY_MODEL defaults to qwen3.5:397b-cloud (50-image test on
procedure-heavy sample: 9.8s/img avg, zero timeouts, Kimi-level
rigor — see archive_validation/).
- Prompt strengthened: in-image text/captions are not valid grounds
for "적합"; technique terms require visible procedure steps, not
generic device/anatomy photos.
- All 9 add-images sources gated through verify_updates() before
commit; --no-verify escape hatch for bulk runs.
.gitignore: API key files, dental_images/, __pycache__/, scratch/*
(README.md kept).
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>