Skip to content

Refactor to work with local model like LLMStudio - neet to change on…#9

Open
marekkacprzak wants to merge 3 commits into
tndata:mainfrom
marekkacprzak:main
Open

Refactor to work with local model like LLMStudio - neet to change on…#9
marekkacprzak wants to merge 3 commits into
tndata:mainfrom
marekkacprzak:main

Conversation

@marekkacprzak

Copy link
Copy Markdown

…ly appsettings.json - anthropic-cluster anthropic-api url to http://localhost:1234

@tndata

tndata commented Jul 15, 2026

Copy link
Copy Markdown
Owner

Thanks for this, Marek. There is real value in here, especially the hop-by-hop header handling and the idea of a configurable upstream. To get it merged smoothly, I would like to ask for a few changes, mainly around splitting this into focused PRs. Right now it bundles four independent changes, which makes it hard to review and test as a unit:

1. Please split into separate PRs. Ideally:

  • Header handling (CaptureTransformProvider hop-by-hop filtering). This is a solid improvement and I would happily merge it on its own.
  • Configurable upstream (the LM Studio feature). See notes below.
  • Docs (docs/API.md, docs/ARCHITECTURE.md). Worth reviewing on their own, and there is some overlap with the existing README and CLAUDE.md to reconcile.

2. The dark/light theme changes are already in main. We merged them via #6, so theme.css, theme.js, and the related CSS and HTML edits here are duplicates. That is what is causing the merge conflict. Rebasing on the latest main should drop them cleanly.

3. Please keep Anthropic as the default. The change switches the default upstream to http://localhost:1234, so a fresh checkout no longer works against the real Claude API out of the box. Could we keep https://api.anthropic.com as the default and make the local target an opt-in override? The CODING_AGENT_EXPLORER_UPSTREAM_URL env var is a nice way to do that. For an even smoother experience, we could reuse the runtime configuration pattern already used by the MCP Observer, so the upstream can be changed from the dashboard without a restart.

4. One question on the LM Studio path. Claude Code sends requests in the Anthropic Messages API format, but LM Studio's server is OpenAI-compatible. Since this PR changes the destination but does not translate the request and response bodies, I am curious how you got it working end to end. Could you share how you tested it? A screenshot of a successful exchange in the dashboard would be great. That will help me decide whether we should document a compatibility requirement, namely that the upstream must speak the Anthropic API.

Really appreciate the contribution, the header fix especially. Happy to review the split PRs as soon as they are up.

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.

2 participants