Eca does not work with OpenCode via the openai-responses, nor with openai-chat

Fechada
#652 1 comentário 0 reações 0 responsáveis Ver no GitHub

Mantenedores costumam responder em até 2 dias

Ninguém assumiu esta issue ainda.

Avaliação

Dificuldade
4/5
Tempo estimado
3-5 dias
Facilidade para iniciantes
25/100
Tipo de issue
Bug
Clareza
Precisa de esclarecimento
Status de atividade
Ativa
Stack de tecnologia
clojure
Domínio
api, backend

Direção de pesquisa

The payload names no source file or test. Start with the provider configuration in the report (api set to openai-responses, url https://opencode.ai/inference/) and the request path /inference/v1/responses in the OpenCode log, which show what ECA sends. Done would mean the request is accepted by OpenCode with a documented provider setup, or a clear explanation of why the model rejects this protocol.

Escrita pelo modelo de indexação a partir do texto da issue.

Descrição

bug

To upvote this issue, give it a thumbs up. See this list for the most upvoted issues.

When using eca-emacs with OpenCode I get the error message:

Short description

[OPENAI] Unexpected response status: %s body: %s 400 {"type":"error","error":{"type":"ModelProtocolUnsupported","message":"Model does not support this protocol."}}

To reproduce

  • Start eca (eca-desktop or eca-emacs) with the following configuration. The session-id is hardcoded just to see if it works
{
  "providers": {
    "opencode": {
      "api": "openai-responses",
      "url": "https://opencode.ai/inference/",
      "key": "<my-token>",
      "extraHeaders": {
        "User-Agent": "eca-emacs/1.0",
	"x-opencode-session": "e64b8abe-c1d6-4ac9-89c2-8f5ac9a3886c"
      },
      "models": {
	"big-pickle": {}
      }
    }
  }
}
  • The model list is updated. Select a model e.g. claude-sonnet-5.5
  • Type in a small prompt like "Summarize current project".

The above error appears. The session id and all the data appear correctly in the logs on OpenCode. The error message there is

{
  "event": {
    "id": "<id>",
    "requestID": "<id>",
    "workspaceID": "org_<workspace id>",
    "startedAt": 1792165205881,
    "finishedAt": 1792165206017,
    "durationMs": 136,
    "outcome": "rejected",
    "category": "inference",
    "protocol": "openai-responses",
    "product": "standard",
    "path": "/inference/v1/responses",
    "method": "POST",
    "stream": true,
    "sessionID": "e64b8abe-c1d6-4ac9-89c2-8f5ac9a3886c",
    "userAgent": "eca-emacs/1.0",
    "userID": "user_<my-user-id>",
    "requestedModel": "claude-sonnet-5-5",
    "model": "claude-sonnet-5-5",
    "provider": "opencode",
    "statusCode": 400,
    "errorCode": "inference_failed",
    "errorMessage": "The inference request failed.",
    "reasoningMode": "effort",
    "reasoningEffort": "medium",
    "country": "CZ",
    "region": "Plzeň Region",
    "city": "Pilsen",
    "requestHeaders": {
      "content-length": "26163",
      "content-type": "application/json",
      "user-agent": "eca-emacs/1.0",
      "x-opencode-session": "e64b8abe-c1d6-4ac9-89c2-8f5ac9a3886c"
    },
    "metadata": {},
    "attemptCount": 0,
    "attempts": []
  }
}

Expected behavior

I expect the assistant to respond with the project summary.

Doctor

ECA version: 0.165.0

Server cmd: /home/joh/.emacs.d/eca/eca server

Workspaces: /home/joh/Devel/Lights/lumio

Default model: opencode/big-pickle (API key (oc_**********XtS))

Logged providers: None
Relevant env vars: 
XDG_ACTIVATION_TOKEN=kwi*****-79
DEBUGINFOD_URLS=https://debuginfod.archlinux.org

Additional notes

  • Maybe this is related to #649.
  • I tried also to use openai-chat. The setup above was the only one that let me discover the available models.
Linguagem predominante
Clojure
Estrelas
1k
Forks
82
Merge médio
1d 21h
PRs com merge (30d)
25

Preparar o ambiente

Este projeto não oferece contêiner de desenvolvimento, Dockerfile nem guia de contribuição, então a configuração fica por sua conta: comece pelo README e veja nosso guia da primeira contribuição para os passos gerais.

Primeiros passos

  1. Leia a issue inteira e depois o guia de contribuição do projeto.
  2. Comente na issue dizendo que vai assumir — evita que duas pessoas façam o mesmo trabalho.
  3. Faça um fork do repositório e trabalhe em uma branch.
  4. Abra um pull request que referencie o número da issue.

Mais de editor-code-assistant/eca

Todas as issues de editor-code-assistant/eca

Issues semelhantes

Mais issues de Clojure

Receba novas issues na sua caixa de entrada

Um resumo curto de issues do GitHub para quem está começando.