mirror of
https://github.com/hansjone/oclaw.git
synced 2026-10-14 09:40:51 +08:00
feat: multimodal image clients, workspaces, Tushare skill, test fixes
- Replace monolithic image_message_client with HTTP/OCR/legacy modules; tighten OpenAI transport + tool schemas for multimodal downgrade to OCR specialist path. - Add image/stock workspace prompts (META/SOUL/ROLE_SYSTEM); register experts; tweak specialist agent/direct loop/query_image_attachment. - Add bundled runtime/skills/tushare-finance (references, api_client, SKILL metadata). - Document OCR-related env vars; admin chat tweaks; README; weixin_install Ensure-OfficialPluginRuntimeDeps helper. - Tests: multimodal downgrade + OCR coverage, strict tool pairing in attachment replay guard, workspace contract skips _internal/_system dirs, router/trace/prompt guards. Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
parent
6307ade480
commit
d1bcc4debe
266 changed files with 57024 additions and 839 deletions
|
|
@ -106,7 +106,10 @@ def test_interaction_mode_normalization_supports_legacy_values() -> None:
|
|||
|
||||
def test_requested_specialist_normalization_defaults_to_generalist() -> None:
|
||||
assert normalize_requested_specialist("ops") == "ops"
|
||||
assert normalize_requested_specialist("image") == "generalist"
|
||||
# "stock" is a dynamic specialist discovered from runtime workspaces.
|
||||
assert normalize_requested_specialist("stock") == "stock"
|
||||
assert normalize_requested_specialist("image") == "image"
|
||||
# Unknown ids fall back to generalist.
|
||||
assert normalize_requested_specialist("memory") == "memory"
|
||||
assert normalize_requested_specialist("unknown") == "generalist"
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue