Agent Skillsdifferent-ai/openwork › daytona-secrets-volume

daytona-secrets-volume

GitHub

用于在Daytona环境中安全管理和注入AI提供商密钥等评估专用秘密。提供脚本将本地.env文件复制到只读卷,指导重启沙箱以加载配置,并强调验证时严禁打印敏感值,确保测试环境的安全性与合规性。

.opencode/skills/daytona-secrets-volume/SKILL.md different-ai/openwork

触发场景

需要在Daytona沙箱中配置OpenAI、Anthropic等API密钥 需要向Daytona可复用卷添加或更新.env秘密文件 需要重启Electron进程以重新加载新的秘密配置 需要在不泄露密钥的前提下验证秘密文件是否生效

安装

npx skills add different-ai/openwork --skill daytona-secrets-volume -g -y
更多选项

非标准路径

npx skills add https://github.com/different-ai/openwork/tree/dev/.opencode/skills/daytona-secrets-volume -g -y

不安装直接使用

npx skills use different-ai/openwork@daytona-secrets-volume

指定 Agent (Claude Code)

npx skills add different-ai/openwork --skill daytona-secrets-volume -a claude-code -g -y

安装 repo 全部 skill

npx skills add different-ai/openwork --all -g -y

预览 repo 内 skill

npx skills add different-ai/openwork --list

SKILL.md

Frontmatter
{
    "name": "daytona-secrets-volume",
    "description": "Daytona secrets, provider key, OpenAI key, Anthropic key, real model e2e, voice e2e, eval secrets, \/daytona-secrets, openwork-eval-secrets. Use for real provider tests in Daytona."
}

Daytona Secrets Volume

Use this skill when Daytona tests need provider keys or other eval-only secrets. Never commit secrets to the repo and never print secret values.

The Volume

The reusable Daytona volume is:

openwork-eval-secrets:/daytona-secrets

Electron sandboxes mount it automatically through .devcontainer/test-on-daytona.sh. The Electron starter sources every file matching:

/daytona-secrets/*.env

This is a Daytona reusable volume, not a host directory. You cannot inspect it directly from the local filesystem. To add, list, or test files, mount it into a temporary Daytona sandbox or use an existing sandbox that mounted the volume.

Add A Secret File

Create a local env file, then copy it into the volume:

bash .devcontainer/setup-daytona-secrets-volume.sh <local-env-file> <name>.env

Examples:

bash .devcontainer/setup-daytona-secrets-volume.sh .newtoken openai.env
bash .devcontainer/setup-daytona-secrets-volume.sh .anthropic anthropic.env
bash .devcontainer/setup-daytona-secrets-volume.sh .google google.env

The destination must be a simple .env filename such as openai.env. The script copies the file without printing secret values and sets restrictive permissions. Do not pass secrets as command-line arguments; put them in a local env file and pass only the filename.

Expected Env File Shape

Use normal shell env format:

OPENAI_API_KEY=...
ANTHROPIC_API_KEY=...
GOOGLE_CLIENT_ID=...
GOOGLE_CLIENT_SECRET=...

Only include variables needed by evals. Keep files small and purpose-specific.

Reload Existing Sandbox

If the sandbox is already running, restart Electron so it reloads /daytona-secrets/*.env:

daytona exec "$SANDBOX" -- "bash -lc 'pkill -f electron || true; pkill -f electron-dev || true; pkill -f opencode || true'"
sleep 3
daytona exec "$SANDBOX" -- "bash -lc 'cd /workspace && bash /opt/openwork-daytona/start-daytona-electron.sh --detach'"

Do not chain the kill and restart in one daytona exec command. The pkill pattern can terminate the exec wrapper itself.

Verify Without Printing Secrets

Check only filenames or whether expected variables are present:

daytona exec "$SANDBOX" -- 'ls -la /daytona-secrets'
daytona exec "$SANDBOX" -- "bash -lc 'set -a; source /daytona-secrets/openai.env; test -n \"${OPENAI_API_KEY:-}\"'"

Never run commands that print token values.

Common Gotchas

  • Updating the volume does not update a running Electron process. Restart Electron so /daytona-secrets/*.env is sourced again.
  • Server sandboxes do not automatically use Electron provider secrets unless the server helper explicitly mounts and sources them.
  • test -n "$OPENAI_API_KEY" is safe; env, printenv, or cat is not.
  • Secrets in this volume are for evals only. Do not copy them into repo files or workspace config unless the flow is explicitly testing UI-based provider save.

版本历史

  • ff5d298 当前 2026-08-20 11:35

同 Skill 集合

.opencode/skills/agent-first-screenshots/SKILL.md
.opencode/skills/browser-automation/SKILL.md
.opencode/skills/build-a-witness/SKILL.md
.opencode/skills/cloud-dashboard-walkthrough/SKILL.md
.opencode/skills/create-plugin/SKILL.md
.opencode/skills/daytona-chrome-cdp/SKILL.md
.opencode/skills/daytona-cloud-instance/SKILL.md
.opencode/skills/daytona-cloud-server/SKILL.md
.opencode/skills/daytona-dev/SKILL.md
.opencode/skills/daytona-electron-den/SKILL.md
.opencode/skills/daytona-electron-test/SKILL.md
.opencode/skills/daytona-flow-validator/SKILL.md
.opencode/skills/daytona-recording-artifacts/SKILL.md
.opencode/skills/daytona-seeded-cloud-demo/SKILL.md
.opencode/skills/daytona-windows-cert/SKILL.md
.opencode/skills/diagnose-a-red-run/SKILL.md
.opencode/skills/fraimz/SKILL.md
.opencode/skills/get-env-var/SKILL.md
.opencode/skills/openwork-models/SKILL.md
.opencode/skills/product-tutorial-pipeline/SKILL.md
.opencode/skills/prove-a-pr/SKILL.md
.opencode/skills/publish-evidence/SKILL.md
.opencode/skills/run-evals/SKILL.md
.opencode/skills/run-tests/SKILL.md
.opencode/skills/shadcn/SKILL.md
.opencode/skills/upload-photo/SKILL.md
.opencode/skills/write-a-spec/SKILL.md
.warden/skills/desktop-den-sync-review/SKILL.md
.warden/skills/diff-security-review/SKILL.md

元信息

文件数
0
版本
757601b
Hash
10deb338
收录时间
2026-08-20 11:35

首页 - Wiki
Copyright © 2011-2026 iteam. Current version is 2.155.2. UTC+08:00, 2026-09-17 00:15
浙ICP备14020137号-1