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
This commit is contained in:
@@ -0,0 +1,32 @@
|
||||
# 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](../../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`:
|
||||
|
||||
```jsonc
|
||||
{
|
||||
"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
|
||||
Reference in New Issue
Block a user