- 数据层:messages 表增加 part_type 字段,新建 file_versions 表支持版本追踪 - 后端:saveWorkspace 版本追踪、saveAgentOutput 源头分离、generateBriefMessage 成员简报 - 后端:applyDocumentEdit 增量编辑、buildWorkflowStep phase-aware 工作流引擎 - API:文件版本查询/回退接口 - 前端:part_type 驱动渲染,产物面板版本历史 - 新增写手团队(主编/搜索员/策划编辑/合规审查员)配置 - store 模块、scheduler 模块、web-search skill Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
376 lines
7.7 KiB
Markdown
376 lines
7.7 KiB
Markdown
# Web Search Skill - Basic Usage Examples
|
|
|
|
This document provides practical examples of using the Web Search skill.
|
|
|
|
## Quick Start
|
|
|
|
### 1. Start the Bridge Server
|
|
|
|
```bash
|
|
bash SKILLs/web-search/scripts/start-server.sh
|
|
```
|
|
|
|
Expected output:
|
|
```
|
|
✓ Bridge Server started successfully (PID: 12345)
|
|
Health check: http://127.0.0.1:8923/api/health
|
|
Logs: SKILLs/web-search/.server.log
|
|
```
|
|
|
|
### 2. Perform a Simple Search
|
|
|
|
```bash
|
|
bash SKILLs/web-search/scripts/search.sh "TypeScript tutorial" 5
|
|
```
|
|
|
|
Expected output:
|
|
```
|
|
🔍 Searching for: "TypeScript tutorial"
|
|
|
|
✓ Found 5 results in 834ms
|
|
|
|
# Search Results: TypeScript tutorial
|
|
|
|
**Query:** TypeScript tutorial
|
|
**Results:** 5
|
|
**Time:** 834ms
|
|
|
|
---
|
|
|
|
## TypeScript Tutorial - W3Schools
|
|
...
|
|
```
|
|
|
|
### 3. Stop the Server
|
|
|
|
```bash
|
|
bash SKILLs/web-search/scripts/stop-server.sh
|
|
```
|
|
|
|
## Common Use Cases
|
|
|
|
### Example 1: Research Latest Information
|
|
|
|
**Scenario:** Find the latest React 19 features
|
|
|
|
```bash
|
|
bash SKILLs/web-search/scripts/search.sh "React 19 new features" 10
|
|
```
|
|
|
|
**Use Case:** When you need up-to-date information beyond Claude's knowledge cutoff.
|
|
|
|
### Example 2: Technical Documentation
|
|
|
|
**Scenario:** Search for Next.js App Router documentation
|
|
|
|
```bash
|
|
bash SKILLs/web-search/scripts/search.sh "Next.js App Router documentation" 5
|
|
```
|
|
|
|
**Use Case:** Find official documentation for specific frameworks or libraries.
|
|
|
|
### Example 3: News and Current Events
|
|
|
|
**Scenario:** Find recent AI news
|
|
|
|
```bash
|
|
bash SKILLs/web-search/scripts/search.sh "AI news 2026" 10
|
|
```
|
|
|
|
**Use Case:** Get real-time information about current events.
|
|
|
|
### Example 4: Troubleshooting Errors
|
|
|
|
**Scenario:** Search for error solutions
|
|
|
|
```bash
|
|
bash SKILLs/web-search/scripts/search.sh "TypeError: Cannot read property of undefined" 5
|
|
```
|
|
|
|
**Use Case:** Find solutions to specific error messages.
|
|
|
|
### Example 5: Comparative Research
|
|
|
|
**Scenario:** Compare technologies
|
|
|
|
```bash
|
|
bash SKILLs/web-search/scripts/search.sh "Vue vs React 2026 comparison" 8
|
|
```
|
|
|
|
**Use Case:** Gather information for comparative analysis.
|
|
|
|
## Advanced API Usage
|
|
|
|
### Direct API Calls (for advanced users)
|
|
|
|
#### Health Check
|
|
|
|
```bash
|
|
curl http://127.0.0.1:8923/api/health
|
|
```
|
|
|
|
Response:
|
|
```json
|
|
{
|
|
"success": true,
|
|
"data": {
|
|
"status": "healthy",
|
|
"uptime": 123.45,
|
|
"connections": 1
|
|
}
|
|
}
|
|
```
|
|
|
|
#### Launch Browser
|
|
|
|
```bash
|
|
curl -X POST http://127.0.0.1:8923/api/browser/launch \
|
|
-H "Content-Type: application/json"
|
|
```
|
|
|
|
Response:
|
|
```json
|
|
{
|
|
"success": true,
|
|
"data": {
|
|
"pid": 12345,
|
|
"cdpPort": 9222,
|
|
"startTime": 1707363600000
|
|
}
|
|
}
|
|
```
|
|
|
|
#### Connect to Browser
|
|
|
|
```bash
|
|
curl -X POST http://127.0.0.1:8923/api/browser/connect \
|
|
-H "Content-Type: application/json" \
|
|
-d '{}'
|
|
```
|
|
|
|
Response:
|
|
```json
|
|
{
|
|
"success": true,
|
|
"data": {
|
|
"connectionId": "e2421754-0091-450d-a54c-7bc58498bfec",
|
|
"cdpPort": 9222
|
|
}
|
|
}
|
|
```
|
|
|
|
#### Perform Search
|
|
|
|
```bash
|
|
curl -X POST http://127.0.0.1:8923/api/search \
|
|
-H "Content-Type: application/json" \
|
|
-d '{
|
|
"connectionId": "e2421754-0091-450d-a54c-7bc58498bfec",
|
|
"query": "TypeScript tutorial",
|
|
"maxResults": 5
|
|
}'
|
|
```
|
|
|
|
Response:
|
|
```json
|
|
{
|
|
"success": true,
|
|
"data": {
|
|
"query": "TypeScript tutorial",
|
|
"results": [
|
|
{
|
|
"title": "TypeScript Tutorial - W3Schools",
|
|
"url": "https://www.w3schools.com/typescript/",
|
|
"snippet": "Learn TypeScript with examples...",
|
|
"source": "bing",
|
|
"position": 1
|
|
}
|
|
],
|
|
"totalResults": 5,
|
|
"timestamp": 1707363600000,
|
|
"duration": 834
|
|
}
|
|
}
|
|
```
|
|
|
|
#### Take Screenshot
|
|
|
|
```bash
|
|
curl -X POST http://127.0.0.1:8923/api/page/screenshot \
|
|
-H "Content-Type: application/json" \
|
|
-d '{
|
|
"connectionId": "e2421754-0091-450d-a54c-7bc58498bfec",
|
|
"format": "png",
|
|
"fullPage": false
|
|
}'
|
|
```
|
|
|
|
Response:
|
|
```json
|
|
{
|
|
"success": true,
|
|
"data": {
|
|
"screenshot": "iVBORw0KGgoAAAANSUhEUgAA...",
|
|
"format": "png",
|
|
"size": 387122
|
|
}
|
|
}
|
|
```
|
|
|
|
#### Navigate to URL
|
|
|
|
```bash
|
|
curl -X POST http://127.0.0.1:8923/api/page/navigate \
|
|
-H "Content-Type: application/json" \
|
|
-d '{
|
|
"connectionId": "e2421754-0091-450d-a54c-7bc58498bfec",
|
|
"url": "https://example.com",
|
|
"waitUntil": "domcontentloaded",
|
|
"timeout": 15000
|
|
}'
|
|
```
|
|
|
|
#### Get Page Text
|
|
|
|
```bash
|
|
curl -X POST http://127.0.0.1:8923/api/page/text \
|
|
-H "Content-Type: application/json" \
|
|
-d '{
|
|
"connectionId": "e2421754-0091-450d-a54c-7bc58498bfec"
|
|
}'
|
|
```
|
|
|
|
#### Disconnect
|
|
|
|
```bash
|
|
curl -X POST http://127.0.0.1:8923/api/browser/disconnect \
|
|
-H "Content-Type: application/json" \
|
|
-d '{
|
|
"connectionId": "e2421754-0091-450d-a54c-7bc58498bfec"
|
|
}'
|
|
```
|
|
|
|
## Workflow Example: Complete Research Session
|
|
|
|
```bash
|
|
# 1. Start server
|
|
bash SKILLs/web-search/scripts/start-server.sh
|
|
|
|
# 2. Search for topic
|
|
bash SKILLs/web-search/scripts/search.sh "React Server Components" 5
|
|
|
|
# 3. Search for related topic
|
|
bash SKILLs/web-search/scripts/search.sh "Next.js 14 features" 5
|
|
|
|
# 4. Search for comparisons
|
|
bash SKILLs/web-search/scripts/search.sh "RSC vs traditional React" 3
|
|
|
|
# 5. Stop server when done
|
|
bash SKILLs/web-search/scripts/stop-server.sh
|
|
```
|
|
|
|
## Integration with Cowork Sessions
|
|
|
|
When using this skill in Cowork sessions, Claude will automatically:
|
|
|
|
1. Check if the Bridge Server is running
|
|
2. Start the server if needed (via Electron service manager)
|
|
3. Execute searches using the simplified CLI
|
|
4. Parse and analyze results
|
|
5. Provide answers based on real-time information
|
|
|
|
Example Cowork interaction:
|
|
|
|
```
|
|
User: What are the new features in React 19?
|
|
|
|
Claude: Let me search for the latest information about React 19.
|
|
[Calls: bash SKILLs/web-search/scripts/search.sh "React 19 new features" 5]
|
|
|
|
Based on the search results, React 19 introduces several key features:
|
|
1. React Compiler - automatic optimization
|
|
2. Actions - simplified form handling
|
|
3. Document metadata - built-in SEO support
|
|
...
|
|
```
|
|
|
|
## Troubleshooting
|
|
|
|
### Server Won't Start
|
|
|
|
**Problem:** Bridge Server fails to start
|
|
|
|
**Solution:**
|
|
```bash
|
|
# Check if port 8923 is already in use
|
|
lsof -i :8923
|
|
|
|
# Check logs
|
|
cat SKILLs/web-search/.server.log
|
|
|
|
# Reinstall dependencies
|
|
cd SKILLs/web-search
|
|
npm install
|
|
npm run build
|
|
```
|
|
|
|
### Chrome Not Found
|
|
|
|
**Problem:** Browser fails to launch
|
|
|
|
**Solution:**
|
|
- Install Google Chrome or Chromium
|
|
- macOS: Download from https://www.google.com/chrome/
|
|
- Linux: `sudo apt install chromium-browser`
|
|
- Windows: Download from https://www.google.com/chrome/
|
|
|
|
### Connection Failed
|
|
|
|
**Problem:** Failed to connect to browser
|
|
|
|
**Solution:**
|
|
```bash
|
|
# Stop the server
|
|
bash SKILLs/web-search/scripts/stop-server.sh
|
|
|
|
# Clear cache
|
|
rm SKILLs/web-search/.connection
|
|
rm SKILLs/web-search/.server.pid
|
|
|
|
# Restart
|
|
bash SKILLs/web-search/scripts/start-server.sh
|
|
```
|
|
|
|
### Search Timeout
|
|
|
|
**Problem:** Search takes too long or times out
|
|
|
|
**Solution:**
|
|
- Check your internet connection
|
|
- Try a different search query
|
|
- Reduce max results (e.g., 3 instead of 10)
|
|
- Restart the browser
|
|
|
|
## Best Practices
|
|
|
|
1. **Start server once** - Keep server running during research sessions
|
|
2. **Use specific queries** - Better results with focused search terms
|
|
3. **Limit results** - Request only what you need (5-10 results)
|
|
4. **Clean up** - Stop server when done to free resources
|
|
5. **Check logs** - Review `.server.log` if issues occur
|
|
|
|
## Performance Tips
|
|
|
|
- **Connection caching** - Reuses browser connections for faster searches
|
|
- **Background server** - Server runs independently, no startup delay
|
|
- **Concurrent searches** - Multiple searches can run simultaneously
|
|
- **Resource cleanup** - Automatic cleanup on shutdown
|
|
|
|
## Security Notes
|
|
|
|
- Server only listens on `127.0.0.1` (localhost)
|
|
- No external network exposure
|
|
- Isolated browser profile (separate from your main Chrome)
|
|
- All operations visible in the browser window
|
|
- No credential storage or sensitive operations
|