feat(ai-core): real vision image analysis

- llm: Adapter.Vision sends multimodal chat requests (text + image_url,
  data URLs supported) and logs the call as purpose 'vision'
- gateway /images/analyze now accepts image_url or image_base64 and
  returns real analysis instead of a placeholder message
- main wires the default LLM adapter as the vision analyzer
- httptest coverage for the vision request/response shape
This commit is contained in:
Aska committed 2026-08-21 18:33:44 +08:00
1 parent 2104fc0c6c
commit ac0c2b2c73
5 files changed
+117 -7

No files matched your search

+6
View File
@@ -91,6 +91,11 @@ type AutomationEngine interface {
Trigger(ctx context.Context, id string) error
}
// VisionAnalyzer analyzes images with a multimodal model.
type VisionAnalyzer interface {
AnalyzeImage(ctx context.Context, prompt, imageRef string) (string, error)
}
// ChatStorer persists chat sessions and messages.
type ChatStorer interface {
CreateSession(ctx context.Context, id, userID, title string) (*store.Session, error)
@@ -117,6 +122,7 @@ type Dependencies struct {
Automation *AutomationStore
AutomationEng AutomationEngine
Reminders *ReminderStore
Vision VisionAnalyzer
PluginList []map[string]string
}