diff --git a/.github/workflows/droid.yml b/.github/workflows/droid.yml index d64e5cc..f2ca7df 100644 --- a/.github/workflows/droid.yml +++ b/.github/workflows/droid.yml @@ -32,12 +32,35 @@ jobs: uses: actions/checkout@v5 with: fetch-depth: 1 + # BYOK: register the DeepSeek V4 Flash custom model where the Droid CLI + # reads it (~/.factory/settings.json). The droid-action's `settings` + # input writes to ~/.factory/droid/settings.json, which the CLI does not + # read for customModels, so the model must be written here explicitly. + # The API key is referenced as ${DEEPSEEK_API_KEY} and expanded by the + # CLI from the step env at request time. + - name: Configure BYOK model (DeepSeek V4 Flash) + shell: bash + run: | + mkdir -p "$HOME/.factory" + cat > "$HOME/.factory/settings.json" <<'FACTORY_JSON' + { + "customModels": [ + { + "model": "deepseek-v4-flash", + "displayName": "DeepSeek V4 Flash (BYOK)", + "baseUrl": "https://api.deepseek.com/v1", + "apiKey": "${DEEPSEEK_API_KEY}", + "provider": "generic-chat-completion-api", + "maxOutputTokens": 16384 + } + ] + } + FACTORY_JSON - name: Run Droid Exec uses: Factory-AI/droid-action@main with: factory_api_key: ${{ secrets.FACTORY_API_KEY }} review_model: deepseek-v4-flash - settings: |- - {"customModels": [{"model": "deepseek-v4-flash", "displayName": "DeepSeek V4 Flash (BYOK)", "baseUrl": "https://api.deepseek.com/v1", "apiKey": "${DEEPSEEK_API_KEY}", "provider": "generic-chat-completion-api", "maxOutputTokens": 16384}]} + security_model: deepseek-v4-flash env: DEEPSEEK_API_KEY: ${{ secrets.DEEPSEEK_API_KEY }}