Files
autocomplete-model/extensions/zed
HarvmasterandClaude Opus 5.5 4c86c2a703
ci / build (push) Canceled after 0s
Daemon: OpenAI-compatible /v1/completions for Zed
Parses Qwen-format FIM prompts (prefix- or suffix-first, optional repo/file headers) back into
prefix/suffix and rebuilds them in the trained layout; mode from the model string (ac:symbols /
ac:simple); files located via workspaceRoots by path or content. extensions/zed/README.md documents
the Zed settings; untested against real Zed traffic yet.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01J39imRDT8L7xYbWzsVWd8A
2026-10-03 17:25:27 +00:00
..

Zed

Zed can't load third-party edit-prediction extensions, but its built-in open_ai_compatible_api provider can call the daemon's OpenAI-compatible endpoint. The daemon parses Zed's Qwen-format FIM prompt back into prefix/suffix and rebuilds it in the layout our models were trained on (suffix-first, repo header, symbols, token healing).

  1. Run the daemon standalone (see daemon/README.md). Add your project folders to "workspaceRoots" in its config, so symbols mode and the this. repair can find the files. Zed may not send the file path; the daemon then locates the file by content.
  2. In Zed's settings.json:
{
  "edit_predictions": {
    "provider": "open_ai_compatible_api",
    "open_ai_compatible_api": {
      "api_url": "http://127.0.0.1:7071/v1/completions",
      "model": "ac:symbols",          // the context-mode toggle: "ac:symbols" | "ac:simple"
      "prompt_format": "qwen"
    }
  }
}

The mode can also be switched with node daemon/src/acctl.ts mode simple.

Status: untested against real Zed traffic. The parser accepts prefix-first and suffix-first Qwen prompts, with or without <|repo_name|>/<|file_sep|> headers, and is covered by the daemon smoke test with a synthetic request. Still to check with a logging proxy:

  • whether Zed sends the file path
  • its prefix/suffix truncation
  • whether it streams and cancels superseded requests