docs: separate Louie Web from Louie Desktop (127.0.0.1:10013) - #50
Conversation
Every server_url example in the docs pointed at Louie Web. A user running the Louie Desktop app had no documented address to connect to, and the one place that mentioned a local port used 8513 while calling it "the desktop/Tornado port". - New getting-started/connecting.md: per-deployment URLs, anonymous desktop sessions, louie:// thread deep links, LOUIE_URL, troubleshooting table. - Server tables in both auth guides name Web vs Desktop and carry the port. server_url added to the auth options reference, where it was missing. - Anonymous-auth examples moved to 127.0.0.1:10013 in docs and in the LouieClient/louie() docstrings that feed the API reference. - README's custom-server example called LouieClient(server_url=..., server=...): LouieClient is not exported from louieai, and server= has been rejected in favor of graphistry_server since the rename. Replaced with the public louie() API; LOUIE_URL default corrected to den.louie.ai. Verified: mkdocs build --strict passes, the Method 7 anchor resolves in the built site, and the three documented lui.url outputs (louie://n/<id> on desktop, frontend_url override, https on web) were run against the client. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_011PG7i3gnfqfmzfFEur56tF
The secret-detection gate flagged the literal password="your_pass" in the new page. Placeholder or not, the gate is right that docs shouldn't model hardcoding one — os.environ matches what the rest of the docs recommend. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_011PG7i3gnfqfmzfFEur56tF
… public API The new connecting page needs to show how to get browser links instead of louie:// deep links from a local server. That knob lived only on Cursor, so the example had to import louieai._client.LouieClient — a private module in public docs. louie() now takes frontend_url and forwards it to the Cursor. Passing frontend_url to louie() previously reached LouieClient through **kwargs and raised TypeError, so this only turns an error into a feature. Two tests cover it: the desktop default (louie://n/<id>) and the override. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_011PG7i3gnfqfmzfFEur56tF
|
Follow-up pushed while getting CI green:
Local re-verification after both: |
|
Status: green and waiting on a review. All 19 checks pass. On the RTD links: the new page cannot return 200 until this merges. Read the Docs builds Verified just now: The four 200s are the pages this PR edits; they will pick up the Web/Desktop wording on the same rebuild. |
Problem
Every
server_urlexample in the docs pointed at Louie Web. Someone running the Louie Desktop app had no documented address to connect to. The one place that did mention a local port usedhttp://localhost:8513while describing it as "the desktop/Tornado port" — so the only desktop-shaped guidance in the docs was also the wrong port.Desktop serves its API on
http://127.0.0.1:10013.Changes
New page — Connecting: Web vs Desktop (
getting-started/connecting.md, added to nav after Authentication):server_urlhttps://den.louie.aihttps://louie.your-company.comhttp://127.0.0.1:10013Plus anonymous desktop sessions,
louie://thread deep links and thefrontend_urloverride,LOUIE_URL, and a troubleshooting table (connection refused, auth mismatch, deep link when you wanted https, silently defaulting to the cloud).Existing docs disambiguated:
guides/authentication.mdandgetting-started/authentication.mdnow name Web vs Desktop and carry the desktop port.server_urladded to the auth options reference table — it was absent, despite being the setting that decides which server you reach.localhost:8513to127.0.0.1:10013./auth/anonymousis a Desktop feature, so the example now uses the Desktop port. Same inapi/client.md,api/notebook.md(LOUIE_URL), andindex.md.LouieClient.__init__,louie(), andCursor.url— these feed the API reference pages.Incidental fixes (found while editing the same blocks, called out in CHANGELOG):
LouieClient(server_url=..., server=...). Neither half worked:LouieClientis not exported fromlouieai, andserver=raises"server is no longer supported; use graphistry_server instead". Replaced with the publiclouie()API.LOUIE_URLdefaults tohttps://louie.ai; the actual default ishttps://den.louie.ai.Verification
mkdocs build --strictpasses; the#method-7-anonymous-desktop-authentication-optionalanchor I link to resolves in the built site (id=present insite/guides/authentication/index.html).lui.urlbehaviors the new page documents were run against the real client, not assumed:louie://n/D_abcfrontend_urloverride →http://localhost:5173/?dthread=D_abchttps://den.louie.ai/?dthread=D_abcruffclean;641 passed, 7 skippedacrosstests/unit+tests/test_doc_examples.py.tests/test_image_support.py::test_binary_element_with_url_renderingfails onmaintoo (renders "File unavailable" instead of<img>), so it is not from this branch.Docs-only plus docstrings — no behavior change.
🤖 Generated with Claude Code
https://claude.ai/code/session_011PG7i3gnfqfmzfFEur56tF