deer-flow/scripts
Ryker_Feng cf02646489
feat(scripts): add redacted community support bundle generator (#3886)
* feat(scripts): add redacted community support bundle generator

Add `make support-bundle` (scripts/support_bundle.py) to help users file
high-signal, privacy-safe GitHub issues for local setup/config/runtime
problems.

The command produces:
- `*-issue-summary.md` to paste into the issue body
- `*-issue-draft.md` scaffold for AI-assisted filing (REQUIRED placeholders,
  never invents repro/expected/summary facts)
- an optional evidence zip under `.deer-flow/support-bundles/` containing a
  stable `triage.json` plus redacted environment/config/extensions/git/doctor
  evidence

Privacy: secrets are redacted across config values, URL userinfo, query
strings, CLI flags, custom headers, bearer/sk- tokens, and home paths. The
bundle never includes `.env`, raw conversation messages, or user file
contents; optional `--thread-id` adds file manifests only. `thread_id` input
is validated against path traversal.

Wire it into the Makefile, AGENTS.md, README/README_zh, CONTRIBUTING, and the
bug-report issue template. Covered by backend/tests/test_support_bundle.py.

* fix(scripts): redact MCP env values by default in support bundle

Address PR #3886 review (willem-bd, P2): the key-name allowlist let literal
secrets under non-standard env keys (e.g. SUPABASE_SERVICE_ROLE_KEY,
R2_ACCESS_KEY, hardcoded AIza… keys) leak verbatim into the bundle that users
are told is safe to share publicly.

Mask all MCP `env` values by default, keeping only `$VAR`/`${VAR}` references
visible, and broaden SECRET_KEY_RE (access_key, pwd, private_key). Add tests
for non-keyword env secrets, broadened key names, and end-to-end zip redaction.
2026-07-01 22:30:55 +08:00
..
wizard feat(community): add GroundRoute web search + fetch engine (#3675) 2026-06-21 15:55:10 +08:00
_detector_cli.py chore(blocking-io): fail-loud repo-root resolution and shared detector CLI shim (#3512) 2026-06-12 17:16:01 +08:00
check.py fix(check): windows pnpm version detection in check script (#2189) 2026-04-14 10:29:44 +08:00
check.sh feat(dx): Setup Wizard + doctor command — closes #2030 (#2034) 2026-04-10 17:43:39 +08:00
cleanup-containers.sh feat: send custom event 2026-02-06 17:48:15 +08:00
config-upgrade.sh Fix Windows startup and dependency checks (#1709) 2026-04-01 23:13:00 +08:00
configure.py fix: make check/config cross-platform for Windows (#1080) (#1093) 2026-03-13 21:33:12 +08:00
deploy.sh fix(security): mount host Docker socket only in aio (DooD) sandbox mode (#3517) 2026-06-14 11:03:50 +08:00
detect_blocking_io_static.py chore(blocking-io): fail-loud repo-root resolution and shared detector CLI shim (#3512) 2026-06-12 17:16:01 +08:00
detect_thread_boundaries.py chore(blocking-io): fail-loud repo-root resolution and shared detector CLI shim (#3512) 2026-06-12 17:16:01 +08:00
detect_uv_extras.py feat(channels): enhance Discord with mention-only mode, thread routing, and typing indicators (#2842) 2026-05-15 22:30:05 +08:00
docker.sh fix(security): mount host Docker socket only in aio (DooD) sandbox mode (#3517) 2026-06-14 11:03:50 +08:00
doctor.py feat: add fastCRW provider (#3585) 2026-06-21 09:30:55 +08:00
export_claude_code_oauth.py feat: add Claude Code OAuth and Codex CLI as LLM providers (#1166) 2026-03-22 22:39:50 +08:00
load_memory_sample.py feat: add memory management actions and local filters in memory settings (#1467) 2026-03-29 13:14:45 +08:00
run-with-git-bash.cmd fix: use Git Bash for Windows local startup (#1551) 2026-03-29 21:38:29 +08:00
sandbox_memory_profile.py chore: add sandbox memory profiling tools (#3249) 2026-06-03 22:02:27 +08:00
scan_changed_blocking_io.py chore(blocking-io): fail-loud repo-root resolution and shared detector CLI shim (#3512) 2026-06-12 17:16:01 +08:00
serve.sh fix: reap macOS nginx processes on stop (#3828) 2026-06-27 23:30:54 +08:00
setup-sandbox.sh fix(sandbox): make setup-sandbox.sh script executable (#3618) 2026-06-17 12:32:52 +08:00
setup_wizard.py feat(im): Add user-owned IM channel connections (#3487) 2026-06-12 15:24:58 +08:00
start-daemon.sh feat: unified serve.sh with gateway mode support (#1847) 2026-04-05 21:07:35 +08:00
support_bundle.py feat(scripts): add redacted community support bundle generator (#3886) 2026-07-01 22:30:55 +08:00
sync_labels.py feat(ci): PR/issue auto-labeling + declarative label sync (#3360) 2026-06-03 16:40:24 +08:00
tool-error-degradation-detection.sh refactor(lead-agent): make build_middlewares public to drop the last cross-module private import (#3458) 2026-06-09 11:56:28 +08:00
wait-for-port.sh Fix 'make dev' failure in Windows environment (#3236) 2026-06-09 22:37:54 +08:00