Skip to content

local-llm-codes-in-process - #810

Merged
VeryComplexAndLongName merged 7 commits into
mainfrom
local-llm-codes-in-process
Oct 2, 2026
Merged

VeryComplexAndLongName merged 7 commits into
mainfrom
local-llm-codes-in-process

Conversation

@VeryComplexAndLongName

Copy link
Copy Markdown
Owner

Implements local-llm-codes-in-process (ADR 0038, accepted).

  • local-llm-acp is now an ACP agent inside packages/core, run in process through AcpSessionDriver. No coding-agent, no Python: nothing to install. Its tools (read, write, replace, list, search, run a command) stay inside the run's cwd by real path; commands have a time limit and an output cap; tool calls written as text (Qwen3-Coder XML, Hermes JSON) are read too.
  • The model is optional for local-llm and local-llm-acp: stage, then settings, then the model the server serves, then default. The first update names the model and where it came from.
  • openspec-ui.agents.ignoreSystemProxy / OPENSPEC_UI_IGNORE_SYSTEM_PROXY: the local agents and their availability check connect directly; CLI agents start without proxy variables and with NO_PROXY=*. Each agent's systemProxy capability says whether it applies.
  • openspec-ui.localLlm.agent.askBeforeCommands: ask before each command through the protocol's permission request.

Checks: typecheck, lint, test exit 0; openspec validate --strict and the merge gate pass. Live run (task 6.3) against SGLang on the LAN, no model named, proxy ignored with HTTPS_PROXY set: 24 tool calls, 56 s, change implemented and its tests pass.

Open: 6.4 is Human-only (Extension Development Host check).

🤖 Generated with Claude Code

VeryComplexAndLongName and others added 7 commits October 2, 2026 08:10
The local model's coding agent runs inside packages/core as an in-process
Agent Client Protocol agent, instead of starting the external coding-agent
process users would have to install. Its tools stay in the run's cwd by
real path, tool calls written as text are read, the model may be named and
is otherwise found, and agents can be told to ignore the system proxy.

Proposal only: no code.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…-codes-in-process)

local-llm-acp no longer starts the external coding-agent: an ACP agent in
packages/core reads, writes, searches and runs commands inside the run's
working directory, reads tool calls written as text, and is driven by the
same AcpSessionDriver as every ACP agent (ADR 0038).

- The model is optional for local-llm and local-llm-acp: the stage, the
  settings, then the model the server serves (/v1/models), then "default".
- openspec-ui.agents.ignoreSystemProxy (OPENSPEC_UI_IGNORE_SYSTEM_PROXY):
  the local agents connect directly with their own undici Agent; CLI
  agents start without proxy variables and with NO_PROXY=*.
- openspec-ui.localLlm.agent.askBeforeCommands asks before each command.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
The local gate run used `--cwd .`, which npm resolves against
packages/cli, so it checked nothing. Run with the absolute path it owes
6.4, the Human-only item, as CI does.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@VeryComplexAndLongName
VeryComplexAndLongName merged commit cc63798 into main Oct 2, 2026
10 checks passed
@VeryComplexAndLongName
VeryComplexAndLongName deleted the local-llm-codes-in-process branch October 2, 2026 07:14
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