Skip to content

feat(web): 7566 default port + "web" install extra/command (api aliases kept) + panel chrome-lane fix#193

Merged
KylinMountain merged 2 commits into
mainfrom
feat/workbench-web-port-width
Jul 20, 2026
Merged

feat(web): 7566 default port + "web" install extra/command (api aliases kept) + panel chrome-lane fix#193
KylinMountain merged 2 commits into
mainfrom
feat/workbench-web-port-width

Conversation

@KylinMountain

Copy link
Copy Markdown
Collaborator

Two small Workbench/API polish changes on top of the merged workbench frontend.

1. Default port 7566 + name the install extra/command "web"

The API server also serves the Knowledge Workbench UI, so web reads truer than api for what people install and run.

  • [web] is now the canonical extra, with an openkb-web console script.
  • [api] (self-referential alias openkb[web]) and openkb-api still work — no breakage for anyone already using them.
  • python -m openkb.api (the module path) is unchanged.
  • Default API port moved 8000 → 7566 ("KB" = ASCII 75,66) to cut collisions with other local dev servers. Updated: the argparse default, the default CORS origins, the Vite dev-proxy target, the connection-dialog placeholder, and the README + rest-api example.
  • A server already running on 8000 keeps its port; the new default only applies to freshly started servers.

2. Fix ArtifactPanel header buttons hidden under the global chrome pills

The docked artifact panel's header action buttons (open-in-tab / download / close) sit at the panel's top-right — exactly where App.tsx's global floating chrome cluster (theme + i18n toggles, absolute right-3 z-40) renders, whose higher stacking context covered the download/close buttons. Reserve the ~112px chrome lane with pr-28 on the header, matching the existing convention used by KbList's header row and KbDetail's gear row.

Verification

  • npm run build (tsc + vite + i18n guard) green
  • uv re-resolves the new extras cleanly; uv.lock shows only the new web extra wiring, no dependency version changes
  • uv run pytest → 1219 passed
  • Manually restarted via openkb-web → serves on :7566, web UI + real KBs load correctly

https://claude.ai/code/session_01XMxbhmAkxxVV8CFWCZDBaG

The API server also serves the Knowledge Workbench UI, so `web` reads truer
than `api` for what people install and run. Make `[web]` the canonical extra
and add an `openkb-web` console script; keep `[api]` (as a self-referential
alias) and `openkb-api` working for backwards compatibility. README and the
rest-api example now lead with the `web` names. `python -m openkb.api` (the
module path) is unchanged.

Also move the default API port off the crowded 8000 to 7566 ("KB" = ASCII
75,66) to cut collisions with other local dev servers. Updated: the argparse
default, the default CORS origins, the Vite dev-proxy target, the
connection-dialog placeholder, and the README/examples. A server already
running on 8000 keeps its port; the new default only applies to freshly
started servers.

Claude-Session: https://claude.ai/code/session_01XMxbhmAkxxVV8CFWCZDBaG
…global chrome pills

The docked artifact panel's header action buttons (open-in-tab / download /
close) sit at the panel's top-right — exactly where App.tsx's global floating
chrome cluster (theme + i18n toggles, `absolute right-3 z-40`) renders. The
cluster's higher stacking context covered the download and close buttons.

Reserve the ~112px chrome lane on the header with `pr-28`, matching the
existing convention used by KbList's header row and KbDetail's gear row, so
the panel buttons always clear the pills.

Claude-Session: https://claude.ai/code/session_01XMxbhmAkxxVV8CFWCZDBaG
@KylinMountain
KylinMountain merged commit 9036c2c into main Jul 20, 2026
4 checks passed
@KylinMountain
KylinMountain deleted the feat/workbench-web-port-width branch July 22, 2026 03:44
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