Skip to content
Apothem
Harnesses

GLM (Z.ai)

Adaptador de harness do Apothem para o GLM (Z.ai) como backend de modelo configurável.

Fornecedor: Z.ai Nome de instalação: glm Status: GA Configuração nativa: <project>/.apothem/providers/glm.toml

O adaptador glm configura o GLM (Z.ai) como um backend de modelo. Uma ferramenta que fala o protocolo compatível com a Anthropic ou compatível com a OpenAI é apontada para o GLM pela definição de uma URL base de backend e de uma chave, e você seleciona o adaptador com --harness glm como qualquer outro. Ele grava um arquivo de configuração de provedor que registra ambas as superfícies de compatibilidade, para que qualquer ferramenta compatível possa ser conectada à família de modelos GLM.

A Z.ai também distribui uma ferramenta de programação própria, o ZCode, que a documentação da Z.ai chama de "Agentic Development Environment". Este adaptador não configura o ZCode. O Apothem não verificou a superfície de configuração própria do ZCode, então o adaptador não grava nada para ele.

Instalação

apothem install --harness glm --project /path/to/project

O adaptador grava um único arquivo de provedor com escopo de projeto que registra os endpoints do backend do GLM e marcadores de posição configuráveis pelo operador.

Arquivos gravados: <project>/.apothem/providers/glm.toml

Mapeamento do perfil para a configuração nativa

O arquivo de provedor registra dois backends. O backend compatível com a Anthropic usa a URL base https://api.z.ai/api/anthropic; uma ferramenta que fala o protocolo da Anthropic é roteada para o GLM pela definição de ANTHROPIC_BASE_URL, ANTHROPIC_AUTH_TOKEN e, opcionalmente, API_TIMEOUT_MS. A tabela [backends.anthropic_compatible.env] do arquivo lista essas variáveis e também ANTHROPIC_DEFAULT_OPUS_MODEL, ANTHROPIC_DEFAULT_SONNET_MODEL e ANTHROPIC_DEFAULT_HAIKU_MODEL, que mapeiam os papéis opus, sonnet e haiku da ferramenta para modelos GLM. O backend compatível com a OpenAI usa a URL base https://api.z.ai/api/coding/paas/v4. O token de autenticação é um marcador de posição que você substitui pela sua própria chave da Z.ai — o Apothem nunca grava um segredo real. Os IDs de modelo são voláteis entre versões, então o Apothem não fixa nenhum; o arquivo carrega marcadores de posição <GLM_MODEL_ID> que você preenche a partir da documentação da Z.ai atual. Nada do perfil compartilhado vai para este arquivo; ele é um template fixo.

Mapeamento de papéis para modelos

As declarações da própria Z.ai sobre o mapeamento de papéis para modelos divergem, então o arquivo deixa os três valores ANTHROPIC_DEFAULT_*_MODEL como marcadores de posição e traz um comentário TODO(clarify) acima deles. Você decide qual mapeamento usar:

  • O exemplo manual de settings.json no guia de configuração compatível com a Anthropic do fornecedor mapeia opus e sonnet para glm-5.3[1m] e haiku para glm-5.3-flash[1m], e define CLAUDE_CODE_AUTO_COMPACT_WINDOW como 1000000.
  • O mapeamento padrão declarado no mesmo guia lista GLM-5.3-Flash para os três papéis.
  • A ferramenta @z_ai/coding-helper da Z.ai usa glm-5.3-flash por padrão, acrescenta [1m] aos três papéis e grava uma janela de compactação de 1048576.

O Apothem não fixa nenhum desses valores e não escolhe entre eles.

Notas de compatibilidade

O backend GLM não expõe nenhuma superfície para regras, comandos, skills ou hooks, então o adaptador grava apenas o arquivo de provedor do backend e nada mais. O Apothem não verificou se o ZCode expõe essas superfícies. Sua chave da Z.ai e suas escolhas de ID de modelo permanecem de propriedade do operador. As convenções da superfície do fornecedor das quais o adaptador depende estão fixadas em src/apothem/harnesses/glm/STANDARD-CONVENTION-PIN.md, com snapshot feito contra a documentação ao vivo da Z.ai.

O GLM executa a família de modelos GLM da Z.ai; consulte a referência de configuração do fornecedor para a superfície atual de backend, de modelo e de configuração compatível com a Anthropic.

Verificação

apothem verify --harness glm --project /path/to/project

O comando verify confirma que:

  1. A configuração nativa existe no caminho esperado.
  2. O arquivo de provedor está presente e não está vazio.
  3. A rotina de verificação específica do adaptador relata sucesso.

Atualização

apothem update --harness glm --project /path/to/project

O arquivo de provedor é seu a partir do momento em que existe. Tanto install quanto update gravam o template somente quando .apothem/providers/glm.toml está ausente, e nenhum dos dois jamais o sobrescreve depois disso, de modo que a sua referência de chave e as suas escolhas de modelo sobrevivem a cada nova execução. Para adotar um template mais recente, mova o seu arquivo para outro lugar, execute update e copie os seus valores para o novo arquivo.

Desinstalação

apothem uninstall --harness glm --project /path/to/project

Remove o arquivo de provedor somente quando o Apothem o criou e ele ainda é um template não editado, fazendo antes o backup dele sob a raiz de backups do Apothem. Um arquivo não editado gravado por uma versão anterior conta quando o registro de instalação do Apothem para o projeto mostra que ele gravou o arquivo: o manifesto registra o digest de cada template que o projeto já distribuiu. Sem um registro de instalação, apenas uma cópia exata do template atual é removida. Um arquivo que você criou ou editou é deixado no lugar. O YAML do perfil compartilhado e o motor do Apothem não são afetados.

Conformity gate

python -m apothem.conformity.gate --all .

Solução de problemas

SintomaCorreção
Arquivo de configuração não encontradoExecute novamente apothem install --harness glm --project /path/to/project
Falha na verificaçãoO arquivo de provedor está ausente ou vazio. Se estiver ausente, execute apothem update --harness glm --project /path/to/project. Se estiver vazio, mova .apothem/providers/glm.toml para outro lugar primeiro, depois execute update e verifique novamente
Conteúdo de configuração inesperadoEdite .apothem/providers/glm.toml diretamente; o Apothem nunca reescreve um arquivo existente, e o perfil compartilhado não acrescenta nada a ele. Para um template novo, mova o arquivo para outro lugar e execute apothem update --harness glm --project /path/to/project

Ajustes de configuração

SinalizadorPadrãoDescrição
--dry-runfalsePré-visualiza a instalação sem gravar arquivos.

Veja também

On this page