name: code-cache description: Semantic code caching for AI agents. Cache, retrieve, and reuse code from prior agent executions. metadata: {"openclaw":{"emoji":"🏄","homepage":"https://raysurfer.com","requires":{"env":["RAYSURFER_API_KEY"]},"primaryEnv":"RAYSURFER_API_KEY"}}
This skill enables semantic code caching via the Raysurfer API.
7w4.net小葱技能。
When your agent generates and executes code, Code Cache stores it. When a similar task comes up later, the agent can retrieve and run the cached code instead of regenerating it—saving time and tokens.
Get your API key from the Raysurfer dashboard and configure it:
# Via environment variable
export RAYSURFER_API_KEY=your_api_key_here
# Or via OpenClaw config
openclaw config set skills.entries.code-cache.apiKey "your_api_key_here"
/code-cache search <task description> [--top-k N] [--min-score FLOAT] [--show-code]
Search for cached code snippets that match a natural language task description.
Options:
- --top-k N — Maximum number of results (default: 5)
- --min-score FLOAT — Minimum verdict score filter (default: 0.3)
- --show-code — Display the source code of the top match
Example:
/code-cache search "Generate a quarterly revenue report"
/code-cache search "Fetch GitHub trending repos" --top-k 3 --show-code
/code-cache files <task description> [--top-k N] [--cache-dir DIR]
Retrieve code files ready for execution, with a pre-formatted prompt addition for your LLM.
Options:
- --top-k N — Maximum number of files (default: 5)
- --cache-dir DIR — Output directory (default: .code_cache)
Example:
/code-cache files "Fetch GitHub trending repos"
/code-cache files "Build a chart" --cache-dir ./cached_code
/code-cache upload <task> --files <path> [<path>...] [--failed] [--no-auto-vote]
Upload code from an execution to the cache for future reuse.
Options:
- --files, -f — Files to upload (required, can specify multiple)
- --failed — Mark the execution as failed (default: succeeded)
- --no-auto-vote — Disable automatic voting on stored code blocks
Example:
/code-cache upload "Build a chart" --files chart.py
/code-cache upload "Data pipeline" -f extract.py transform.py load.py
/code-cache upload "Failed attempt" --files broken.py --failed
/code-cache vote <code_block_id> [--up|--down] [--task TEXT] [--name TEXT] [--description TEXT]
Vote on whether cached code was useful. This improves retrieval quality over time.
Options:
- --up — Upvote / thumbs up (default)
- --down — Downvote / thumbs down
- --task — Original task description (optional)
- --name — Code block name (optional)
- --description — Code block description (optional)
Example:
/code-cache vote abc123 --up
/code-cache vote xyz789 --down --task "Generate report"
The skill wraps these Raysurfer API methods:
| Method | Description |
|---|---|
search(task, top_k, min_verdict_score) |
Unified search for cached code snippets |
get_code_files(task, top_k, cache_dir) |
Get code files ready for sandbox execution |
upload_new_code_snips(task, files_written, succeeded, auto_vote) |
Store new code after execution |
vote_code_snip(task, code_block_id, code_block_name, code_block_description, succeeded) |
Vote on snippet usefulness |
LLM agents repeat the same patterns constantly. Instead of regenerating code every time:
Learn more at raysurfer.com or read the documentation.
这是一个功能完整、文档详细的代码缓存工具。优点是使用简单、测试覆盖全面、代码结构清晰,能帮助 AI agent 复用之前成功生成的代码。缺点是需要额外配置 API key,学习成本略高,且严重依赖外部服务。总体来说质量不错,适合经常运行重复代码任务的开发者使用。