Skip to content

User-facing doc refresh: default-on Chrome IEEE/Scholar + GUI Settings additions#10

Merged
JE-Chen merged 3 commits into
mainfrom
dev
May 19, 2026
Merged

User-facing doc refresh: default-on Chrome IEEE/Scholar + GUI Settings additions#10
JE-Chen merged 3 commits into
mainfrom
dev

Conversation

@JE-Chen
Copy link
Copy Markdown
Member

@JE-Chen JE-Chen commented May 19, 2026

Summary

Follow-up to #9. The previous PR shipped the engine work (visible-Chrome IEEE / Scholar, LLM-as-agent batch flow, OA resolver, doc restructure into subagents) but left the user-facing surfaces — README, Sphinx docs, GUI Settings, the 13 translated READMEs — pointing at the old ENABLE_* opt-in env vars and missing the new knobs.

  • README.md / docs/cli.md / docs/en/index.rst — env-var table flipped to the current DISABLE_* opt-out convention, added AUTOPAPERTOPPT_CHROME_PROFILE_DIR, AUTOPAPERTOPPT_DISABLE_WEBRUNNER, AUTOPAPERTOPPT_CORE_API_KEY rows, expanded CONTACT_EMAIL / S2_API_KEY notes for the OA resolver. CLI flags table picks up --no-pdf, --no-oa-resolve, --top-tier-only; drops the never-existed --all-venues. New "LLM-as-agent flow" section points at scripts/llm_*.py + the paper-summary-author runbook.
  • docs/zh-tw, docs/zh-cn, docs/mcp.md — surgical rename ENABLE_*DISABLE_*; surrounding Chinese prose preserved.
  • GUI Settings page — new fields for AUTOPAPERTOPPT_CORE_API_KEY (password-masked) and AUTOPAPERTOPPT_CHROME_PROFILE_DIR (directory picker via QFileDialog.getExistingDirectory). apply_saved_env() mirrors both into os.environ so the CLI sees the same values without a shell restart. Localised in all 14 GUI languages.
  • 13 non-English READMEs — same ENABLE_*DISABLE_* rename and three new env-var rows inserted after the Springer row, via scripts/_update_readme_envvars.py (re-runnable, idempotent — checks for existing rows before insert). Surrounding localised prose stays in each language.

Test plan

  • py -m pytest tests/ — 496 passed
  • py -m pytest tests/gui/ — 59 passed (GUI Settings additions covered by existing field-iteration tests)
  • py -m pytest tests/test_i18n.py tests/test_agents_md.py — all mirror tests green, every language still has every i18n key
  • py -m ruff check . — clean
  • Manual: launch the GUI (autopapertoppt-gui) and confirm the Settings page has the two new rows + the dir picker resolves to a writable path

JE-Chen added 3 commits May 19, 2026 17:42
The env-var convention flipped from opt-IN (AUTOPAPERTOPPT_ENABLE_*) to
opt-OUT (AUTOPAPERTOPPT_DISABLE_*) several commits ago, but the user-
facing docs still showed the old names + the old behaviour.

README.md:
  - Env-var table: replace ENABLE_IEEE_SCRAPING / ENABLE_SCHOLAR_SCRAPING
    with the current DISABLE_* opt-out variables; add CHROME_PROFILE_DIR
    + DISABLE_WEBRUNNER + CORE_API_KEY rows; expand CONTACT_EMAIL +
    S2_API_KEY notes to mention the OA resolver.
  - Features list: Scholar + IEEE are no longer "opt-in scrape"; they
    are default-on via visible Chrome (selenium). Add bullets for the
    LLM-as-agent flow scripts and the OA PDF resolver.
  - CLI flags table: drop --all-venues (never existed under that name);
    add --no-pdf, --no-oa-resolve, --top-tier-only.
  - New section "LLM-as-agent flow" pointing at scripts/llm_*.py and
    .claude/agents/paper-summary-author.md.

docs/cli.md:
  - --source row: name DISABLE_* opt-out vars instead of ENABLE_*; note
    IEEE_API_KEY as the anonymous-safe shortcut.
  - --lightweight row: add the LLM-as-agent flow as the preferred path
    when an LLM is in the editor.
  - Examples block: drop the ENABLE_IEEE_SCRAPING=1 prefix; add a
    CHROME_PROFILE_DIR example so VPN / SSO cookies survive across runs.

docs/en/index.rst:
  - Available source plugins table: rewrite ieee + scholar rows for
    default-on visible-Chrome behaviour with DISABLE_* opt-outs.
  - Mention CHROME_PROFILE_DIR for VPN persistence.
  - Replace --all-venues with --top-tier-only (opposite default).

docs/zh-tw/index.rst + docs/zh-cn/index.rst:
  - Surgical rename ENABLE_* -> DISABLE_* on every occurrence. Prose
    paragraphs around them stay in their original Chinese.

docs/mcp.md:
  - list_sources example JSON: reflect IEEE + Scholar being default-on
    with opt_out_env_var instead of needing an opt-in.
Two env vars introduced over the WebRunner / OA-resolver work didn't have
a UI surface yet, so users had to set them in the shell before launching
the GUI.

autopapertoppt/gui/pages/settings.py:
  - Add AUTOPAPERTOPPT_CORE_API_KEY as a new password-masked field in
    _SETTINGS_FIELDS (alongside the other API keys).
  - Add a dedicated CHROME_PROFILE_DIR row with a "Browse..." button that
    opens QFileDialog.getExistingDirectory (Path picker, not file picker
    -- profile is a directory). The dir survives across CLI invocations
    so VPN / SSO / Google sign-in cookies persist.
  - apply_saved_env() + _on_save() + _load_from_store() mirror the value
    into os.environ for the current process, matching the existing
    cookies-file pattern.

autopapertoppt/gui/i18n.py:
  - Add settings.core_key, settings.chrome_profile_dir, and
    settings.chrome_profile_dialog_title translations for all 14
    supported languages.

Existing 59 GUI tests still pass.
Each translated README mirrored the English env-var table, so the same
ENABLE_* -> DISABLE_* rename + three new rows (CHROME_PROFILE_DIR,
DISABLE_WEBRUNNER, CORE_API_KEY) applied surgically to all 13 files.

The variable names + the new rows' purpose text are English; full
translation of every nuance into 13 languages is out of scope, and the
existing translations already left the variable names in English.
The localized prose around each row is preserved.

scripts/_update_readme_envvars.py drives the substitution -- kept under
underscore prefix because it's a one-shot patch helper, not a recurring
CLI. Re-running it is a no-op (the new-row insert checks for an
existing row with the variable name before adding).
@JE-Chen JE-Chen merged commit 39b108d into main May 19, 2026
12 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant