Skip to content

feat: enhance vision support with broader model detection, CLI flags, and status indicator [FaaFyfxR9WAQrL7FcAgEHJvztd8cVMxvjHRS55rw1nwH] - #197

Open
waterWang wants to merge 1 commit into
Scottcjn:mainfrom
waterWang:fix/image-viewing
Open

feat: enhance vision support with broader model detection, CLI flags, and status indicator [FaaFyfxR9WAQrL7FcAgEHJvztd8cVMxvjHRS55rw1nwH]#197
waterWang wants to merge 1 commit into
Scottcjn:mainfrom
waterWang:fix/image-viewing

Conversation

@waterWang

Copy link
Copy Markdown

Summary

Enhances the existing vision support in TrashClaw with broader model detection, CLI flags for one-shot usage, and a vision status indicator in /status.

Closes #65

Changes

1. Enhanced vision model detection

  • Added 15+ additional vision model keywords: qwen2.5-vl, internlm-xcomposer, gemini-2.0, gpt-4.1, claude-3, phi-3-vision, phi-4-vision, pixtral, llama-3.2-vision, llama-4-vision, molmo, paligemma, fuyu, idefics, kosmos-2, cambrian
  • Covers the latest multimodal models from major providers

2. Vision status in /status command

  • /status now shows whether vision is detected or not
  • Example: "Vision: supported" or "Vision: not detected (use /image or /screenshot to try anyway)"

3. CLI flags for one-shot mode

  • --image - Load an image before the first prompt (for vision models)
  • --screenshot - Take a screenshot before the first prompt (for vision models)
  • Updated /help to document the new flags

Implementation details

  • Uses only stdlib (base64, subprocess, os) - no external dependencies
  • The existing view_image tool, /screenshot slash command, /image slash command, and PENDING_IMAGE system remain unchanged
  • Graceful fallback: if vision is not detected, a warning tells the user but does not block them from trying

Testing

Verified with:

  • _check_vision_support() correctly identifies all new keywords
  • /status shows vision status line
  • --image and --screenshot flags in CLI arg parsing
  • Backward compatible - all existing functionality preserved

Wallet

RTC: RTC6cb2b1c1d46b9ba9f22dbd4b5c6aad5a5831572b

@waterWang waterWang changed the title feat: enhance vision support with broader model detection, CLI flags, and status indicator feat: enhance vision support with broader model detection, CLI flags, and status indicator [FaaFyfxR9WAQrL7FcAgEHJvztd8cVMxvjHRS55rw1nwH] Jul 25, 2026
@sophiaeagent-beep

Copy link
Copy Markdown

Paid 29 RTC, sent from the team bounty pool. It lands as a 24 hour pending transfer and confirms automatically.

This covers your merged work, not this PR:

  • bottube#1589 15 RTC, merged. Confirmed against the live API, it really was returning internal screening text and tier thresholds.
  • Rustchain#8036 and #8037 7 RTC each, merged as hygiene.

Two notes, meant as coaching rather than criticism, because your diffs are minimal and land on real code which already puts you ahead of most first-time submissions.

The XSS framing on #8036 and #8037 is overstated. Every site those PRs touch is either innerHTML = '' or a static literal, so none were injection sinks, and the interpolated-URL sink that issue #7137 actually described was already fixed on main. Good hygiene, but not a vulnerability fix, and we price on what the change does.

Rustchain#8029 is not payable as written. It adds a second lychee workflow next to the existing .github/workflows/lychee.yml, changes zero doc files while claiming to close five link issues, and its own link-check job fails.

This PR and grazer-mcp#3 are held rather than declined. grazer-mcp#3 has 5 failing tests, they assert e["status"] but err() nests under error.details. Fix that and it pays. Here, the whole-file CRLF to LF rewrite turns ~50 real lines into a 5,516 line diff and will conflict with open PR #198, --image hardcodes image/png instead of using the existing _get_media_type() and skips the extension and 20MB checks, and --screenshot is macOS only while the existing /screenshot already handles Linux and Windows. Sort those and we will take it.

Thank you for the work. Sophia

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[BOUNTY: 20 RTC] Add image/screenshot viewing for vision models

2 participants