codev / src /tools /WebSearchTool /prompt.ts
chenbhao's picture
feat: WebSearchTool
c681d98
Raw
History Blame
2.22 kB
import { getLocalMonthYear } from 'src/constants/common.js'
export const WEB_SEARCH_TOOL_NAME = 'WebSearch'
export function getWebSearchPrompt(): string {
const currentMonthYear = getLocalMonthYear()
return `
- Allows VersperClaw to search the web using a local SearXNG search engine and use the results to inform responses
- Provides up-to-date information for current events, technical documentation, and recent data
- Returns structured search results including titles, URLs, and snippets
- Works with all AI providers including local models
- Designed for high-recall search to support reasoning and retrieval-augmented generation (RAG)
Search Strategy:
- Uses SearXNG metasearch engine (aggregates multiple sources)
- Results may vary in quality; prioritize relevance and credibility
- If results are weak or empty, try rephrasing the query
- Prefer more specific queries when possible (add keywords, version numbers, or context)
CRITICAL REQUIREMENT - You MUST follow this:
- After answering the user's question, you MUST include a "Sources:" section at the end of your response
- In the Sources section, list relevant URLs from the search results as markdown hyperlinks: [Title](URL)
- This is MANDATORY - never skip including sources in your response
- Only include sources that are actually useful and referenced in your answer
Search Best Practices:
- Use multiple searches if needed (broad → narrow)
- Use precise technical terms for programming-related queries
- For news or recent events, include time context (e.g., year, month)
- Do NOT assume the first result is correct — synthesize across multiple sources
IMPORTANT - Use the correct year in search queries:
- The current month is ${currentMonthYear}
- You MUST use this year when searching for recent information, documentation, or current events
- Example: If the user asks for "latest React docs", search with the current year, NOT outdated versions
Behavior Guidelines:
- Focus on gathering information, not filtering it prematurely
- Prioritize recall first, then rely on reasoning to refine
- Avoid hallucinating information when search results are insufficient — instead, search again
`
}