An ambient AI desktop companion with a draggable presence and generated app/widget surfaces. Provides web search, web fetch, image viewing, and image generation tools.
Bed of Roses provides 4 tools with complete input schemas and reasonable descriptions (avg 95 chars). All tools have type-annotated parameters with descriptions. However, descriptions lack LLM-optimized guidance on WHEN to use each tool vs alternatives, and output schemas are not documented. Error handling and recovery guidance are absent. Tool composition is sound (web_search → web_fetch chain is clear), but no pagination support for search results and no idempotency hints for the write operation (generate_image).
Generate an image from a text prompt using the configured provider's image generation capability. Saves the generated image and returns its URL.
View and describe an external image URL using vision capabilities. Only accepts external absolute http(s) image URLs, not local BOR media paths.
Fetch and parse the content of a web page. Returns the page title, content type, text content, and truncation status.
Search the web for information. Returns a list of search results with title, URL, and snippet.
Output schemas not documented. LLMs cannot plan downstream tool calls or extract structured data without knowing what fields to expect from web_search, web_fetch, view_image, or generate_image responses.
web_search lacks pagination support. Returning up to 10 results without offset/limit or next_cursor forces agents to re-query for different result sets, wasting tokens and latency.
generate_image (WRITE operation) lacks idempotency hints and confirmation/dry-run support. Agents may accidentally generate duplicate images on retry without knowing the operation is irreversible.
Descriptions lack WHEN-to-use guidance. 'Search the web for information' does not explain when to call web_search vs web_fetch, or when results are sufficient vs requiring full page content.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | C | 61 | 2026-07-28+ | v2 |
No error handling or recovery guidance documented. If web_fetch fails on a URL or generate_image hits a rate limit, the LLM has no guidance on what to do next.