Description
Summary
On a fresh FlyBot install (dsh@0.2.0-rc.2 + github:ThinkFlowLab/FlyBot#main core/social/tree), selecting DeepSeek-V41-Flash for Chief fails with MISSING_CREDENTIAL. Opening Enter a DeepSeek API key shows the “Add an API key to get started” dialog, but an API key that was filled into the password field (via accessibility / host form fill) is cleared when clicking Save and continue, and nothing is saved.
This blocks automated / assisted setup, and makes the first-run key step fragile.
Environment
- FlyBot:
ThinkFlowLab/FlyBot#main(installed 2026-10-19) - DSH:
@deepseek-ai/dsh@0.2.0-rc.2 - Profile:
web - Node:
v22.19.0 - OS: Linux x86_64
- UI:
dsh web --port 3080(Chief)
Steps to reproduce
- Install core + social + tree from
FlyBot#main, startdsh web --port 3080. - Open Chief; pick DeepSeek-V41-Flash.
- Observe turn failure:
This Bot’s model has no API key yet/MISSING_CREDENTIAL. - Click Enter a DeepSeek API key → dialog “Add an API key to get started”.
- Fill the API key password field using an accessibility / programmatic fill (field becomes non-empty; Save and continue enables).
- Click Save and continue.
Expected
Dialog closes; DeepSeek provider credentials are stored; Chief can send turns with DeepSeek-V41-Flash.
Actual
- Dialog stays open (or key is lost).
- After the click, the API key field length is
0again. - Save and continue becomes disabled.
- No visible validation/error text; browser console had no useful errors in our check.
- Model remains unusable (
MISSING_CREDENTIAL).
Notes / hypothesis
Looks like a controlled React input that does not pick up programmatic value changes (DOM value updated, React state not), so submit/save either no-ops or resets the field. Typing by hand may work; programmatic fill does not survive Save.
Related UX: #405 (guidance under missing API key errors).
Ask
- Accept
input/changeevents (or controlledonChange) so accessibility / autofill / assistant fills persist. - Or document a reliable non-UI way to set the DeepSeek provider key for headless / first-run setup.
Activity
Birfy commentedon Oct 19, 2026
Maintenance triage (2026-10-19 23:06 Asia/Shanghai)
Where the bug lives. The "Add an API key to get started" dialog is dsh's own onboarding form. FlyBot only opens it (
openHarnessOnboarding('deepseek-official')inds-bot/src/client/sidebar.js, from the model menu's "Enter a DeepSeek API key" item). The controlled input that drops a programmatic fill is in the shell (deepseek-harness), so FlyBot cannot fix the input itself.Proposed approach.
dsh@0.2.0-rc.2) inds-bot/README.md, and link it from the missing-key guidance (Add a model configuration shortcut or guidance below missing API key errors #405).input/changeevents so autofill and assisted fills survive Save.Waiting for the owner to confirm the approach before
agent-ready.Birfy commentedon Oct 19, 2026
Owner decision (2026-10-20): Option (a) only: document how to set the DeepSeek key and link that doc from the key-dialog hint. No upstream deepseek-harness request for now.
Birfy commentedon Oct 19, 2026
Claimed by the maintenance run at 2026-10-20 04:55 Asia/Shanghai. Working on branch
Birfy/FlyBot:fix/451-deepseek-key-docper the Owner decision above.Birfy commentedon Oct 19, 2026
PR #460 implements the Owner decision (option a only): a new guide
docs/deepseek-api-key.md(dialog, DSH credentials file,DEEPSEEK_API_KEY), linked from the missing-key error and the no-model setup choices. No upstream deepseek-harness request.