Add optional Parallel web search to chat and tasks - #84
Open
georgeatparallel wants to merge 7 commits into
Open
georgeatparallel wants to merge 7 commits into
georgeatparallel wants to merge 7 commits into
Conversation
…-search-resubmit # Conflicts: # tests/config.test.ts
Collaborator
|
Live run of this branch ( Setup: sample workspace, Chat shows nothing while |
…-search-resubmit # Conflicts: # apps/server/src/engine/conversation.ts # tests/config.test.ts
This branch has not been deployed
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.

OpenMuse can read known URLs but cannot find sources for a research question. This adds
search_webto built-in model chat and delegated tasks, using Parallel's free, keyless Search MCP as the built-in provider.Search is off by default. Set
WEB_SEARCH_ENABLED=trueon the API and any separate task worker to enable it. Model-generated objectives and queries may include conversation or task context and are sent to Parallel with a random per-chat/task session identifier. The README documents this data flow and rate limits.Results include HTTP(S) source URLs and bounded excerpts. Tasks save sources as evidence and deduplicate them by URL. Invalid entries are skipped while valid sources are retained. Cancellation, deadlines, response limits, and errors are handled by the shared connector, with no paid fallback.
Chat shows search progress, sources, empty results, failures, and partial-result notices in a tool card. Interrupted searches stop showing a spinner. Source links open normally without a browser worker. Browser tools and their instructions are offered only when both the worker URL and token are configured, in chat and delegated tasks.
Replaces #22 and retains its review fixes, updated against current
main. Related to #21.Verification
pnpm test: 300 passed, 0 failed, 0 skipped (15.68 seconds), including native chat, delegated tasks, disabled search, evidence deduplication, cancellation, and malformed MCP results.pnpm test:browser: 1 passed, 0 failed (3.81 seconds). Current main includes the public-page fixture correction.Docker integration suites and a live-model hosted chat session were not run locally. Platform exports validate bundles, not signed native apps.
Search card preview
Component preview with fixed example results, using the same component and styles as chat:
I'm a DevRel engineer at Parallel.