Skip to main content
O OpenScience lê uma entrada de provedor de um arquivo JSON. Uma compilação padrão não requer alteração no código-fonte. O OpenScience pode definir start_within na configuração, então uma agent key é opcional aqui. A chave ainda é o caminho mais simples, pois muda sem a necessidade de reiniciar. Consulte agent keys.

Configure isso com um agente

Abra o bloco abaixo e copie-o para qualquer agente de codificação. O prompt nunca pede sua API key: o agente configura todo o resto e, em seguida, imprime a linha de exportação para você executar.

Configurar OpenScience

  1. Exporte a chave no shell que inicia o OpenScience.
  1. Escreva a entrada do provedor em openscience.json.
  1. Inicie o OpenScience com o diretório de configuração definido.
Deixe start_within fora de options quando sua chave contiver o prazo. Nós apenas preenchemos um padrão armazenado quando o campo está ausente, então um valor aqui sobrescreveria a chave em cada solicitação. Defina "start_within": "default" em cada modelo, em vez disso, quando você não estiver usando uma agent key. Essa é a linha de base segura, porque um modelo escolhido sem seleção de sessão então roteia de forma padrão em vez de competir acidentalmente.

Onde o arquivo vai

O OpenScience mescla configurações de vários locais, e uma fonte posterior prevalece.
  • A configuração global do usuário no diretório de configuração do OpenScience.
  • OPENSCIENCE_CONFIG, um caminho para um arquivo de configuração.
  • synsc.jsonc, synsc.json, openscience.jsonc e openscience.json encontrados subindo até a raiz do worktree, a menos que OPENSCIENCE_DISABLE_PROJECT_CONFIG esteja definido.
  • OPENSCIENCE_CONFIG_CONTENT, contendo o JSON embutido.
  • Esses mesmos quatro nomes dentro de cada diretório .openscience ou .synsc nesse caminho, além de qualquer diretório nomeado por OPENSCIENCE_CONFIG_DIR.
As duas variáveis de caminho não são intercambiáveis. OPENSCIENCE_CONFIG nomeia um arquivo. OPENSCIENCE_CONFIG_DIR nomeia um diretório e trata tudo como configuração, escaneando-o em busca de comandos, agentes e plugins. Use o formato de diretório quando o pacote contiver mais do que JSON.

Carregar um plugin colocando-o

O OpenScience escaneia cada diretório de configuração em busca de {plugin,plugins}/*.{ts,js} e carrega o que encontra como um arquivo local. Coloque o arquivo em plugins/flex.js e deixe plugin fora do JSON.
Escrever o caminho em plugin não funciona. O OpenScience lê cada entrada lá sem um prefixo file:// como um nome de pacote npm e o passa para bun add, então "./plugins/flex.js" falha na instalação e derruba a inicialização do plugin. A varredura é de um nível de profundidade, e ela pega todo .js e .ts que está diretamente em plugins/. Mantenha os módulos compartilhados fora desse diretório, ou o OpenScience os carregará como plugins também. Na primeira vez que o OpenScience carrega a configuração de um diretório, ele escreve package.json, bun.lock, node_modules/ e um .gitignore cobrindo-os nele. Espere por esses arquivos e mantenha-os fora do Git.

Confirmar a aplicação da chave

Toda resposta vem com x-flexinference-defaults-applied. O OpenScience não mostra os cabeçalhos de resposta no workspace, então leia a solicitação no dashboard em Logs.

Solução de problemas

Um plugin nunca foi carregado. Nomeá-lo em plugin o envia para bun add como um nome de pacote, o que falha e derruba a inicialização do plugin. Coloque o arquivo em plugins/flex.js dentro do diretório de configuração e deixe plugin fora do JSON. Um módulo auxiliar foi carregado como um plugin. A varredura pega todo .js e .ts que está diretamente em plugins/. Mova os módulos compartilhados para fora desse diretório. As solicitações nunca nos alcançam. O campo model de nível superior é o que seleciona o provedor. Sem ele, o OpenScience permanece em seu padrão integrado. 401 invalid_api_key. FLEXINFERENCE_API_KEY não está definido no shell que iniciou o OpenScience. Exporte-o antes de iniciar. 400 flex_unsupported_for_anthropic. Uma duração em options atingiu um modelo claude-* em sua própria chave Anthropic. A corrida que uma duração Claude executa requer chaves gerenciadas. Remova a duração e deixe a chave carregar o prazo. O prazo da chave nunca é aplicado. Um start_within nas options de um modelo prevalece sobre a chave, porque nós apenas preenchemos um padrão armazenado quando o campo está ausente. Remova-o da entrada. Consulte errors para cada recusa que retornamos, agent keys para aquelas que não são específicas do OpenScience, e OpenCode para as opções de prazo por modelo e por variante, que o OpenScience compartilha.