Agent Skills

dsh-runner

Автономный агент DeepSeek Harness (dsh) как внешний исполнитель задач: изолированная папка-workspace, полный JSONL-лог каждого шага, никакого доступа к файлам вне задачи.

Загружай этот скилл, когда нужно запустить агента на реальной задаче в отдельном окружении: починить баг в клоне репозитория, сгенерировать код по описанию, прогнать одну задачу на разных моделях и сравнить результат.

🎯 When to use

Use this skill when:

Do NOT use when:

📦 Files

🧰 Usage

0. Требования (один раз)

# Python 3.10+; SDK:
pip install deepseek-harness-sdk

# API-ключ: DEEPSEEK_API_KEY в env…
export DEEPSEEK_API_KEY=sk-...

# …ИЛИ ключ DeepSeek из auth.json opencode (провайдер `deepseek`) —
# dsh_task.py подхватит его автоматически:
# ~/.local/share/opencode/auth.json → ~/.config/opencode/auth.json

# ИЛИ свой OpenAI-совместимый endpoint (vLLM и т.п.):
# export DEEPSEEK_BASE_URL=http://127.0.0.1:8000/v1

# Модель (по умолчанию deepseek-v4-flash):
# export DSH_MODEL=deepseek-v4-flash

1. Одна задача в изолированном workspace

python3 skills/dsh-runner/scripts/dsh_task.py \
  --workspace /tmp/agent-ws/dj1 \
  --session-root /tmp/agent-sessions \
  --session-id fix-001 \
  "В репозитории падает тест test_player.test.ts. Найди причину и почини."

Агент клонирует/принимает workspace, решает задачу, возвращает:

Лог сессии: <session_root>/<sanitized-cwd>/<session-id>/session.jsonl.zstd (zstd-сжатый JSONL, где каждый запрос/вызов инструмента/ответ — отдельная запись; декодируется zstd -d -c <файл> | jq -s .).

2. Сравнение моделей на одной задаче

# Два прогона с разными моделями, отдельные session-id:
python3 skills/dsh-runner/scripts/dsh_task.py --workspace /tmp/ws --session-id cmp-a --model deepseek-v4-flash "задача"
python3 skills/dsh-runner/scripts/dsh_task.py --workspace /tmp/ws --session-id cmp-b --model anthropic/claude-sonnet-4-5 "задача"

# Сравни: final_response + размер JSONL-лога (токены) + время прогона

3. Web UI (интерактив)

npx @deepseek-ai/dsh web   # → http://127.0.0.1:3080

⚠️ Оговорки (важно)

🔬 Проверка результата

Runbook

Чек-листы «перед запуском», «после прогона», типовые ошибки и рабочие примеры конфигов — в references/runbook.md.

Boundaries

Evidence and completion gate

Run the documented command against the user’s actual input. Report the command, exit status, files changed or produced, and relevant stdout/stderr. Separate blocked or pre-existing failures from failures introduced by the current work. Do not call the result complete when the script was only described or when an artifact was not reopened and checked.