Commit Graph
540 Commits
Author SHA1 Message Date
kimandClaude Sonnet 4.6 fd79dfea6f Add SearXNG settings.yml to repo (.smallclaw/searxng/)
Copy of /home/kim/searxng/settings.yml for version control.
Disables failing engines (brave, karmasearch, startpage, qwant, yahoo, reuters, wikinews)
and enables working news engines (naver news, hackernews, mojeek news).

Deploy: cp .smallclaw/searxng/settings.yml ~/searxng/ && docker restart searxng

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-18 22:05:07 +09:00
kimandClaude Sonnet 4.6 3f9857a639 Track .smallclaw/config.json and add SearXNG search config
- Remove .smallclaw/config.json from .gitignore
- Add search config: preferred_provider=searxng, searxng_url=http://localhost:8888

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-18 22:04:32 +09:00
kimandClaude Sonnet 4.6 245606252e v2.7.1 — image edit improvements, search config, bug fixes
image_edit:
- speech_bubble operation with Korean font, rounded rect, tail
- sketch quality: CLAHE pre-processing for better line contrast
- output filename with timestamp to prevent overwrites
- anime/painting stylize timeout 30s→600s (AnimeGANv2 model download)
- remove_bg PNG output fix

server-v2.ts:
- resolveToolImageContent: embed edited image as base64 in tool results
  so vision models can see the output (3 execution paths covered)
- _activeModelName: fix vision support detection for Ollama-hosted models
  (kimi/gemini run via Ollama — provider='ollama' was masking vision capability)
- Synthetic tool call ID generation to prevent Gemini function_response empty name error
- image_edit path hint format changed to English to prevent Gemini hallucination
- userRequestedImageEdit: expanded keyword list (풍선, 달아, 붙여 등)
- image_read OCR failure returns success:true with visual description hint
- TOOL_BLOCKS photo: image_edit workflow documentation updated

web-ui/index.html:
- renderFileDownloads: skip download buttons for image file extensions

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-18 22:03:32 +09:00
kimandClaude Opus 4.7 34932ac50a Refactor per-user channel registration and improve PDF/PPTX workflows
- Generalize per-user channel registration (telegram/discord/whatsapp)
  via vault instead of config.json userMap
- Add API endpoints for self-service channel binding
- Migrate Telegram channel to use vault-based username resolution
- Improve PDF figure extraction filters (OpenCV)
- Fix PPTX image embedding and font sizing
- Reorder search providers: searxng → ddg priority

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
v2.7.1
2026-05-17 22:37:56 +09:00
kim e7fd3de974 v2.7.0 v2.7.0 2026-05-15 12:13:35 +09:00
kimandClaude Opus 4.7 1b0ac0f605 v2.7.0
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-05-15 12:12:36 +09:00
kimandClaude Opus 4.7 e11ddd7f3e Refactor dental dictionary into manage.py CLI
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>
2026-05-15 11:58:53 +09:00
kim ff6627bc25 v2.6.3 2026-05-10 16:32:18 +09:00
kim 930f52ca48 v2.6.2 2026-05-10 12:02:23 +09:00
kim c26f9b431b v2.6.2 2026-05-10 12:00:01 +09:00
kim 82bda7409e v.2.6.1 2026-05-09 11:35:33 +09:00
kim a77ee3bdc9 v2.6.0 2026-05-06 22:45:28 +09:00
kim dac32dbcee v.2.5.1 2026-05-05 19:51:22 +09:00
kim 13f832f693 v.2.5.0 2026-05-05 17:46:17 +09:00
kim 233b67b9a3 v2.4.1 2026-05-05 00:51:37 +09:00
kim 9714d4b50c v2.4.0 2026-05-04 17:58:17 +09:00
kim fc88bda24b v2.3.8 2026-05-04 00:41:10 +09:00
kim a7cdb06e60 v2.3.7 2026-05-03 23:27:21 +09:00
kim 999dddec9e v2.3.6 2026-05-03 20:39:16 +09:00
kim b37525434c v2.3.5 2026-05-03 19:41:35 +09:00
kim cb131e8047 v2.3.3 2026-05-03 18:56:13 +09:00
kim f92e5ef782 v2.3.2 2026-05-03 17:36:47 +09:00
kim 83eb31f121 v2.3.1 2026-05-02 23:15:25 +09:00
kim ec53a112b4 v.2.3.0 2026-05-01 23:23:11 +09:00
kimandClaude Sonnet 4.6 e8c825992f fix: remove duplicate bare URL/path appended to PPTX tool result
Python stdout already includes the correct markdown download link.
Appending extra bare URL and absolute path caused the model to generate
two download links in its response. Keep only Python's stdout.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-01 18:04:32 +09:00
kimandClaude Sonnet 4.6 07f2ae7e2d fix: correct file link hint — PPTX uses project folder path not uploads/
The v2.2.3 hint "ALWAYS use /api/files/uploads/filename" was too broad,
causing the model to format PPTX download links as uploads/file.pptx
instead of the correct project_folder/file.pptx path returned by the tool.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-01 17:57:36 +09:00
kimandClaude Sonnet 4.6 d4fedeccd5 fix: use system Chromium on unsupported OS (Ubuntu 26.04+)
Playwright's bundled browser install fails on Ubuntu 26.04 with
"Playwright does not support chromium on ubuntu26.04-x64".

Fall back to system Chromium (/usr/bin/chromium-browser etc.) via
executablePath when launching headless, bypassing the platform check.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-01 17:45:45 +09:00
kimandClaude Sonnet 4.6 8da045eb72 v2.2.3
- Mobile menu: full-screen overlay on bottom nav tap (slide-up animation + close button)
- Sidebar: server log panel with auto-scroll and real-time polling
- Admin: context viewer tab (session usage per user)
- Chat export: Markdown / TXT / JSON
- Online users display in system stats (admin-only)
- Fix: workspace priority (session > global) for multi-user file isolation
- Fix: upload filenames now preserve Unicode/Korean characters
- Fix: log ring buffer wrap-around bug (logTotalCount monotonic counter)
- Security: /api/logs requires auth; online_users restricted to admin
- WebSocket: ping/pong keepalive every 30s

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-01 17:20:24 +09:00
kim 6675779566 v2.2.2 2026-05-01 01:09:04 +09:00
kim fbaacc2e60 v2.2.1 2026-05-01 00:48:36 +09:00
kim 7177f684b7 v2.2 2026-04-30 18:04:21 +09:00
kim 7b34afbd38 v2.0 2026-04-30 12:41:49 +09:00
kim c348c9cbed v2.1 2026-04-29 23:16:01 +09:00
kim d89d7213f6 v2.0 2026-04-29 22:23:08 +09:00
kim 10eb7405bc v1.0.6 2026-04-29 19:39:03 +09:00
kim 1106553b81 v1.0.5 2026-04-29 18:03:48 +09:00
kim 4324985508 v1.0.4 2026-04-29 17:34:36 +09:00
kim ee10549c5a v1.0.2 2026-04-29 17:26:46 +09:00
kim 5fc7cdb6be v1.0.1 2026-04-29 15:39:52 +09:00
kim 3e8974a8eb v1.0 2026-04-29 11:45:59 +09:00