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:
- title
- summary
- sources
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_KEYis 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_KEYis 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 withweb_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
--modelorARK_MODEL. ARK model availability changes over time. --timeoutis per attempt. Use--retriesfor quick retry behavior on transient failures.- Some ARK environments reject
search_context_sizewith HTTP400. 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_searchandweb_search_previewhistorically. This skill defaults toweb_searchand 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.pyand keepreferences/ark-responses-api.mdin sync.