Volcengine Ark Web Search
Overview
Use this skill when the task needs up-to-date public web information and the runtime should go through Volcengine ARK Responses API instead of the model's built-in browsing. The bundled script wraps ARK responses with the web_search tool, defaults to Chinese-friendly output, and is suitable for repeatable automation or local agent workflows.
Default markdown output is stabilized into three sections:
When to Use
- The user asks for today's news, recent updates, current public coverage, or live fact checks.
- You want fresh web results but must route them through Volcengine ARK with
ARK_API_KEY.
- You need a reusable local command that can be shared in scripts, cron jobs, or other skills.
- The answer should prefer Chinese output, explicit dates, and source links.
- You need to compare or verify public web information before answering.
When Not to Use
ARK_API_KEY is missing.
- The task is static and does not need current web information.
- You need browser automation, authenticated sessions, or site-specific interaction rather than search.
- A different provider is mandatory.
Quick Start
- Confirm
ARK_API_KEY is set.
- Run the bundled script.
- Summarize the returned answer with explicit dates and source links.
Basic usage:
python3 scripts/ark_web_search.py "What are today's AI news headlines?"
Chinese query:
python3 scripts/ark_web_search.py "今天有什么热点新闻"
Custom model:
python3 scripts/ark_web_search.py "OpenAI latest announcements" \
--model doubao-seed-1-6-250615
Structured JSON output:
python3 scripts/ark_web_search.py "latest semiconductor policy news" \
--format json
Longer timeout with quick retries:
python3 scripts/ark_web_search.py "OpenAI latest news" \
--timeout 90 \
--retries 2
Dry run without network:
python3 scripts/ark_web_search.py "today's EV market news" \
--dry-run
Core Workflow
- Rewrite the user request into a direct search question when needed. Prefer explicit entities, topics, and time windows.
- Use the default system prompt unless the task requires raw passthrough behavior.
- Run
scripts/ark_web_search.py.
- If the script returns enough signal, summarize in Chinese unless the user asked for another language.
- For relative-time prompts such as "today" or "recently", write absolute dates in the final answer.
Output Requirements
- Prefer concise summaries with links.
- Default markdown output should be stable and easy to scan: title, summary, then sources.
- Preserve uncertainty when the search result is thin or conflicting.
- If sources are present, include them.
- Convert relative date language into explicit dates whenever possible.
- If the API result is insufficient, say so instead of inventing facts.
Files
scripts/ark_web_search.py: ARK Responses API runner with web_search, dry-run support, streaming support, and source extraction.
references/ark-responses-api.md: Notes on request shape, model drift, tool naming drift, and maintenance references.
Maintenance Notes
- Prefer overriding the model with
--model or ARK_MODEL. ARK model availability changes over time.
--timeout is per attempt. Use --retries for quick retry behavior on transient failures.
- Some ARK environments reject
search_context_size with HTTP 400. This script now retries automatically without that field if the server reports it as unsupported.
- The default system prompt asks the model to return summary body only. Title and source sections are added by the script to keep output stable.
- The Volcengine docs have shown both
web_search and web_search_preview historically. This skill defaults to web_search and should only change if official docs for the target environment require it.
- If response parsing breaks after an upstream API change, update the normalization logic in
scripts/ark_web_search.py and keep references/ark-responses-api.md in sync.
1---2name: volcengine-ark-web-search3description: Use when you need fresh web results through Volcengine ARK Responses API, especially for today's news, recent updates, fact checks, topic monitoring, or Chinese-language search workflows powered by ARK_API_KEY.4---56# Volcengine Ark Web Search78## Overview910Use this skill when the task needs up-to-date public web information and the runtime should go through Volcengine ARK Responses API instead of the model's built-in browsing. The bundled script wraps ARK `responses` with the `web_search` tool, defaults to Chinese-friendly output, and is suitable for repeatable automation or local agent workflows.1112Default markdown output is stabilized into three sections:1314- title15- summary16- sources1718## When to Use1920- The user asks for today's news, recent updates, current public coverage, or live fact checks.21- You want fresh web results but must route them through Volcengine ARK with `ARK_API_KEY`.22- You need a reusable local command that can be shared in scripts, cron jobs, or other skills.23- The answer should prefer Chinese output, explicit dates, and source links.24- You need to compare or verify public web information before answering.2526## When Not to Use2728- `ARK_API_KEY` is missing.29- The task is static and does not need current web information.30- You need browser automation, authenticated sessions, or site-specific interaction rather than search.31- A different provider is mandatory.3233## Quick Start34351. Confirm `ARK_API_KEY` is set.362. Run the bundled script.373. Summarize the returned answer with explicit dates and source links.3839Basic usage:4041```bash42python3 scripts/ark_web_search.py "What are today's AI news headlines?"43```4445Chinese query:4647```bash48python3 scripts/ark_web_search.py "今天有什么热点新闻"49```5051Custom model:5253```bash54python3 scripts/ark_web_search.py "OpenAI latest announcements" \55 --model doubao-seed-1-6-25061556```5758Structured JSON output:5960```bash61python3 scripts/ark_web_search.py "latest semiconductor policy news" \62 --format json63```6465Longer timeout with quick retries:6667```bash68python3 scripts/ark_web_search.py "OpenAI latest news" \69 --timeout 90 \70 --retries 271```7273Dry run without network:7475```bash76python3 scripts/ark_web_search.py "today's EV market news" \77 --dry-run78```7980## Core Workflow81821. Rewrite the user request into a direct search question when needed. Prefer explicit entities, topics, and time windows.832. Use the default system prompt unless the task requires raw passthrough behavior.843. Run `scripts/ark_web_search.py`.854. If the script returns enough signal, summarize in Chinese unless the user asked for another language.865. For relative-time prompts such as "today" or "recently", write absolute dates in the final answer.8788## Output Requirements8990- Prefer concise summaries with links.91- Default markdown output should be stable and easy to scan: title, summary, then sources.92- Preserve uncertainty when the search result is thin or conflicting.93- If sources are present, include them.94- Convert relative date language into explicit dates whenever possible.95- If the API result is insufficient, say so instead of inventing facts.9697## Files9899- `scripts/ark_web_search.py`: ARK Responses API runner with `web_search`, dry-run support, streaming support, and source extraction.100- `references/ark-responses-api.md`: Notes on request shape, model drift, tool naming drift, and maintenance references.101102## Maintenance Notes103104- Prefer overriding the model with `--model` or `ARK_MODEL`. ARK model availability changes over time.105- `--timeout` is per attempt. Use `--retries` for quick retry behavior on transient failures.106- Some ARK environments reject `search_context_size` with HTTP `400`. This script now retries automatically without that field if the server reports it as unsupported.107- The default system prompt asks the model to return summary body only. Title and source sections are added by the script to keep output stable.108- The Volcengine docs have shown both `web_search` and `web_search_preview` historically. This skill defaults to `web_search` and should only change if official docs for the target environment require it.109- If response parsing breaks after an upstream API change, update the normalization logic in `scripts/ark_web_search.py` and keep `references/ark-responses-api.md` in sync.