¿Postman instaló plugins en Claude Code y Codex sin avisar? Revisión y borrado en 3 pasos (plugins, hooks, MCP, config.toml)

Según el issue #14370 de GitHub y The New Stack, la app de escritorio de Postman (macOS 12.33.4 y 12.35.1) instaló su plugin en Claude Code y Codex durante una actualización de usuarios existentes y escribió un trusted_hash en ~/.codex/config.toml para que su propio hook SessionStart se ejecute. Esta guía explica qué pasó y la respuesta de Postman, una revisión en 3 pasos para Claude Code, Codex y Cursor, el comando oficial de borrado y lo que deja atrás, y nuestra reproducción con el instalador oficial de Postman en un directorio aislado.

13 分钟阅读
¿Postman instaló plugins en Claude Code y Codex sin avisar? Revisión y borrado en 3 pasos (plugins, hooks, MCP, config.toml)

En resumen: si usas la app de escritorio de Postman en Mac y además Claude Code, Codex o Cursor, dedica dos minutos a revisar la configuración de tus agentes.

  • Según el issue #14370 de GitHub, Postman 12.33.4 registró auto-existing-upgrade cuando un usuario existente la abrió, y después Claude Code y Codex tenían el plugin de Postman. El archivo ~/.codex/config.toml además tenía un registro trusted_hash para el hook de inicio de Postman. Otro usuario informa del mismo comportamiento con 12.35.1 en el mismo issue.
  • Un empleado de Postman respondió en el issue que el paquete conjunto buscaba facilitar la instalación del CLI y los plugins, que Postman hará más claro el opt-in (consentimiento explícito) y que está revisando la aprobación del hook y el comportamiento al iniciar sesión.
  • El 4 de noviembre reprodujimos las mismas entradas con el instalador npx oficial de Postman en un directorio aislado: el trusted_hash coincide carácter por carácter con el del issue, y el hook de inicio inyectó las instrucciones de Postman en sesiones de Claude Code y de Codex.
  • El comando oficial npx @postman/postman-plugin remove desinstala el plugin de ambos agentes, pero en nuestra prueba la entrada de marketplace de Codex y el registro trusted_hash siguieron en config.toml. Hay que quitarlos a mano.

Revisión más rápida:

bash
grep -n -i postman ~/.codex/config.toml ~/.claude/settings.json ~/.claude.json 2>/dev/null
claude plugin list
codex plugin list

Si aparece algo de Postman, sigue los 3 pasos de abajo.

Crear una API Key y conectar modelos en Claude Code, Codex y Cursor →

Qué pasó

Según el issue #14370 (abierto el 25 de octubre y marcado [SEVERE]), el autor abrió Postman 12.33.4 en macOS tras un tiempo sin usarlo. Después, Codex pedía una y otra vez iniciar sesión en un servidor MCP y cargaba skills de Postman en tareas de API. El registro de Postman, ~/Library/Application Support/Postman/logs/main.log, contenía estas dos líneas:

text
PostmanAgentPluginService~install: script completed
{"source":"auto-existing-upgrade","results":["claude-code:installed","codex:installed"],"installer":"script"}

Main: autoInstall.plugin.existing-user finished
{"outcome":"installed","platform":"darwin","exposed":true,"signedIn":true,...}

Cambios que recoge el informe:

UbicaciónLo que encontró el informe
Codex ~/.codex/config.toml[marketplaces.postman] (apunta a postmanlabs/postman-plugin), [plugins."postman@postman"] enabled = true y un trusted_hash bajo [hooks.state."postman@postman:..."]
Hook del plugin de CodexUn hook SessionStart (en startup, clear y compact) que inyecta en cada sesión «carga la skill postman:api-engineer antes de cualquier tarea de ingeniería de API no trivial»
MCP remotohttps://mcp.postman.com/mcp; sin iniciar sesión, el registro de Codex muestra Auth required
Claude Codepostman@claude-plugins-official activado en ~/.claude/settings.json, versión 2.0.1, ámbito user
CLIEl CLI de Postman y su carpeta lib en ~/.local/bin

El código del instalador citado en el informe tiene una función approvePostmanHook que, tras instalar el plugin, usa hooks/list y config/batchWrite de Codex para marcar el hook de Postman como confiable. El autor aclara que el informe muestra cambios en otras herramientas sin consentimiento y no muestra ningún envío de datos. The New Stack también señala que el issue no contiene pruebas de que Postman recopilara o transmitiera datos de API.

Lo que vino después:

  • Según un comentario del issue, otro usuario de macOS vio cómo Postman se actualizaba de 12.31.3 a 12.35.1; el registro volvió a mostrar auto-existing-upgrade y se instalaron el CLI y los plugins de Claude Code y Codex, con cursor:already-installed para Cursor. El config.toml de esa máquina no tenía trusted_hash.
  • Según otro comentario, el ~/.copilot/settings.json de GitHub Copilot CLI también tenía el marketplace y el plugin de Postman, y la opción de desinstalar del menú de Postman no los quitó de Copilot.
  • Según @daniiie7, al desempaquetar la app de Mac 12.35.1 se ve que un feature flag decide si se ejecuta la instalación automática, también en descargas nuevas.
  • Las publicaciones de @szchan111 y @Curingieul difundieron el caso entre desarrolladores de habla inglesa y china, y X lo muestra como noticia en tendencia.

Respuesta de Postman: el 3 de noviembre (hora de EE. UU.), el empleado de Postman zecoquit respondió en el issue que la app incluye el CLI de Postman y los plugins de agente porque muchos usuarios tenían problemas para instalarlos y conectarlos por separado, que esto se menciona en la página de descarga y en el flujo de actualización, y que los componentes se pueden desinstalar desde la app. Añade «we've heard you»: Postman hará más claro el opt-in, sobre todo para usuarios existentes, está revisando la aprobación del hook y el comportamiento al iniciar sesión, y publicará los cambios en el issue.

Quién debería revisar

  • Usas la app de escritorio de Postman en macOS con sesión iniciada y la abriste o actualizaste hace poco (los informes cubren 12.33.4 y 12.35.1).
  • Tienes Claude Code, Codex, Cursor o GitHub Copilot CLI en la misma máquina.
  • Codex te pide sin parar iniciar sesión en un servidor MCP de Postman o menciona skills de Postman en tareas de API.

Aunque no uses Postman, estas revisiones muestran qué ha añadido cualquier herramienta de terceros a tus agentes.

Nuestra reproducción

Entorno: 4 de noviembre de 2026, 17:20–17:25 hora de Pekín, Linux, Claude Code 2.1.318, codex-cli 0.166.0, @postman/postman-plugin 0.6.0 (el paquete npm que mantiene Postman), una clave de aicodewith, y HOME y CODEX_HOME apuntando a un directorio aislado nuevo, sin tocar ninguna configuración real.

No tenemos la versión de Mac de Postman, así que no reprodujimos el paso de «abrir la app de escritorio». El registro del issue dice "installer":"script". Usamos el instalador para agentes detectados de la documentación de Postman, npx @postman/postman-plugin install --agent claude-code,codex --yes. No podemos confirmar que la app ejecute el mismo script, pero las entradas escritas coinciden con las del informe.

PasoResultadoTiempo
npx @postman/postman-plugin install (Claude Code + Codex)Instalado en ambos; muestra Approved Postman's Codex session-start hook.11,6 s
Un codex exec tras instalarSe ejecuta hook: SessionStart, el registro de la sesión contiene el texto <EXTREMELY_IMPORTANT> de Postman y el MCP de Postman pide iniciar sesión3,0 s
Un claude -p tras instalarLa transcripción tiene un resultado de hook SessionStart:startup con el mismo texto2,7 s
npx @postman/postman-plugin remove --dry-runSolo vista previa, config.toml sin cambios1,3 s
npx @postman/postman-plugin removePlugin quitado de ambos; quedan la entrada de marketplace de Codex y el trusted_hash2,2 s
Tarea con codex exec tras la limpieza manualImprime clean-ok, sin hook ni texto de Postman11,8 s
Tarea con claude -p tras la limpieza manualImprime clean-ok-cc9,4 s

También instalamos el plugin una vez con los comandos nativos de Codex de la guía por agente de Postman. config.toml tenía entonces el plugin y el marketplace pero ningún trusted_hash, codex exec no ejecutó el hook y el registro de la sesión no tenía el texto de Postman. Coincide con la documentación: al instalar con el propio Codex, el hook empieza sin confianza y Codex te pide revisarlo. Así que si el hook se ejecuta en cada sesión depende de ese único registro trusted_hash.

Paso 1: revisar Claude Code

bash
# 1) Installed plugins (user and project scope)
claude plugin list

# 2) Plugins and marketplaces turned on in your user settings
grep -n -i -E 'postman|enabledPlugins|extraKnownMarketplaces|"hooks"' ~/.claude/settings.json

# 3) MCP servers, including the ones a plugin brings in
claude mcp list
grep -n -i postman ~/.claude.json

# 4) Install records with timestamps
cat ~/.claude/plugins/installed_plugins.json

Nuestra salida con el plugin de Postman instalado:

text
$ claude plugin list
Installed plugins:

  ❯ postman@claude-plugins-official
    Version: 2.0.1
    Scope: user
    Status: ✔ enabled

$ claude mcp list
plugin:postman:postman: https://mcp.postman.com/mcp (HTTP) - ! Needs authentication

Los dos bloques añadidos a ~/.claude/settings.json:

json
  "extraKnownMarketplaces": {
    "claude-plugins-official": {
      "source": {
        "source": "github",
        "repo": "anthropics/claude-plugins-official"
      }
    }
  },
  "enabledPlugins": {
    "postman@claude-plugins-official": true
  }

claude-plugins-official es el marketplace oficial de plugins de Anthropic y no supone un problema por sí mismo; lo importante es si enabledPlugins incluye algo que no instalaste tú. El hook SessionStart de Postman está en el hooks/hooks.json del propio plugin, no en la clave hooks de settings.json, así que mirar solo settings.json no lo muestra. Usa claude plugin list.

Paso 2: revisar config.toml de Codex

bash
codex plugin list
codex plugin marketplace list
codex mcp list

# Section names only (no keys are printed)
grep -n -E '^\[(marketplaces|plugins|hooks|mcp_servers)' ~/.codex/config.toml

# Hook trust records
grep -n -A2 'hooks.state' ~/.codex/config.toml

Con el plugin de Postman instalado:

text
$ codex plugin list
PLUGIN           STATUS              VERSION  SOURCE
postman@postman  installed, enabled  1.3.0    ~/.codex/.tmp/marketplaces/postman

$ codex plugin marketplace list
MARKETPLACE  ROOT
postman      ~/.codex/.tmp/marketplaces/postman

$ codex mcp list
Name         Url                          Bearer Token Env Var  Status   Auth
postman-mcp  https://mcp.postman.com/mcp  -                     enabled  Not logged in

Lo que se añadió a config.toml en nuestra reproducción (el trusted_hash coincide con el del issue):

toml
[marketplaces.postman]
source_type = "git"
source = "https://github.com/postmanlabs/postman-plugin.git"
ref = "main"

[plugins."postman@postman"]
enabled = true

[hooks.state]

[hooks.state."postman@postman:hooks/codex-hooks.json:session_start:0:0"]
trusted_hash = "sha256:b67ddd1ece328f5a6f9103ce011bb58adb8411daea644f284732cff85d15cbb3"
trusted_content_hash = "sha256:30a87cda8b01827030f3a7572a88bef9e2ff199d95bd50915b4dd5bb9d5e0023"

Lee las tres partes por separado:

  • [marketplaces.xxx]: el origen de los plugins, un repositorio Git.
  • [plugins."xxx@xxx"] enabled = true: el plugin está activo, así que se cargan sus skills y su servidor MCP.
  • [hooks.state."...:session_start:..."] con trusted_hash: el hook es confiable y se ejecuta en cada sesión. Un trusted_hash de un hook que nunca aprobaste en Codex es lo primero que hay que borrar.

Registro de codex exec con el plugin instalado:

text
$ codex exec --skip-git-repo-check "<prompt>"
ERROR rmcp::transport::worker: worker quit with fatal: Transport channel closed,
  when AuthRequired(... "https://mcp.postman.com/.well-known/oauth-protected-resource/mcp" ...)
hook: SessionStart
hook: SessionStart Completed

El principio del texto que inyecta el hook (de hooks/session-start-context.md en el repositorio del plugin de Postman):

text
<EXTREMELY_IMPORTANT>
You have the Postman plugin.

Before responding to any non-trivial API engineering task — designing, implementing,
mocking, testing, monitoring, documenting, or deploying an API or Postman Flow — load
the `postman:api-engineer` skill and follow it. ...

Para saber si sesiones anteriores lo recibieron, busca en los registros de sesión:

bash
# Codex: sessions whose context received the hook text
grep -l 'EXTREMELY_IMPORTANT' ~/.codex/sessions/*/*/*/*.jsonl

# Claude Code: transcripts with a SessionStart hook result carrying that text
grep -l 'EXTREMELY_IMPORTANT' ~/.claude/projects/*/*.jsonl

En nuestra reproducción coincidieron las sesiones de ambos agentes tras la instalación y ninguna después de la limpieza.

Paso 3: revisar Cursor, Copilot CLI y el CLI de Postman

bash
# Cursor (paths used by Postman's installer source)
ls -d ~/.cursor/plugins/local/postman ~/.cursor/plugins/cache/cursor-public/postman 2>/dev/null

# GitHub Copilot CLI
grep -n -i postman ~/.copilot/settings.json 2>/dev/null

# Postman CLI dropped next to the desktop app
ls -l ~/.local/bin | grep -i postman

Las dos rutas de Cursor vienen del código del instalador del plugin de Postman: un clon local en ~/.cursor/plugins/local/postman y la copia del marketplace de Cursor en ~/.cursor/plugins/cache/cursor-public/postman. La ruta de Copilot CLI viene de un comentario del issue.

Cómo quitarlo

Opción 1: el comando oficial de Postman

Según la documentación de Postman, el instalador admite status, remove (alias uninstall) y --dry-run:

bash
# What is installed, per agent
npx @postman/postman-plugin status

# Preview the removal, nothing is changed
npx @postman/postman-plugin remove --dry-run

# Remove from every detected agent (alias: uninstall)
npx @postman/postman-plugin remove

# Or only some agents
npx @postman/postman-plugin remove --agent claude-code,codex

Nuestra salida de remove:

text
Found 2 coding agents. Postman in each:
  Claude Code         installed      postman@claude-plugins-official 2.0.1
  Codex               installed      postman@postman 1.3.0

Claude Code
  $ claude plugin uninstall postman@claude-plugins-official --scope user --json
  done: uninstalled postman@claude-plugins-official
Codex
  $ codex plugin remove postman@postman --json
  done: removed postman@postman

Summary:
  Claude Code         done     uninstalled postman@claude-plugins-official
  Codex               done     removed postman@postman

El empleado de Postman también dijo que los componentes se pueden quitar desde la app; según un comentario del issue, la opción del menú es Help → Postman CLI and Plugins → Uninstall Postman Coding Agent Plugin.

Opción 2: limpiar lo que queda

Tras el remove oficial, nuestro config.toml aún contenía:

toml
# ~/.codex/config.toml after "npx @postman/postman-plugin remove"
[marketplaces.postman]
source_type = "git"
source = "https://github.com/postmanlabs/postman-plugin.git"
ref = "main"

[hooks.state]

[hooks.state."postman@postman:hooks/codex-hooks.json:session_start:0:0"]
trusted_hash = "sha256:b67ddd1ece328f5a6f9103ce011bb58adb8411daea644f284732cff85d15cbb3"
trusted_content_hash = "sha256:30a87cda8b01827030f3a7572a88bef9e2ff199d95bd50915b4dd5bb9d5e0023"

Las carpetas ~/.claude/plugins/cache/claude-plugins-official/postman y ~/.codex/plugins/cache/postman también seguían ahí. Limpia en este orden:

bash
# --- Codex ---
codex plugin remove postman@postman          # if codex plugin list still shows it
codex plugin marketplace remove postman
cp ~/.codex/config.toml ~/.codex/config.toml.bak
# Open ~/.codex/config.toml and delete the whole table
#   [hooks.state."postman@postman:hooks/codex-hooks.json:session_start:0:0"]
# (the header line plus trusted_hash and trusted_content_hash)
rm -rf ~/.codex/plugins/cache/postman

# --- Claude Code ---
claude plugin uninstall postman@claude-plugins-official --scope user   # if still listed
rm -rf ~/.claude/plugins/cache/claude-plugins-official/postman

# --- Cursor ---
rm -rf ~/.cursor/plugins/local/postman
# then uninstall Postman from Cursor's own plugin marketplace view

# --- Postman CLI, only if you do not use it ---
ls -l ~/.local/bin | grep -i postman

Después vuelve a revisar y ejecuta una tarea real para confirmar que ambos agentes funcionan:

text
$ grep -n -i -E 'postman@|marketplaces\.postman|trusted_hash' ~/.codex/config.toml ~/.claude/settings.json
(no output, exit 1)

$ codex plugin list | grep -i 'postman@'
(no output, exit 1)

$ codex mcp list
No MCP servers configured yet. Try `codex mcp add my-tool -- my-command`.

$ claude plugin list
No plugins installed. Use `claude plugin install` to install a plugin.

$ codex exec --skip-git-repo-check "Create hello.py that prints 'clean-ok', run it with python3, and report its output."
exec
/bin/bash -lc 'python3 hello.py' in <test-dir>/ws
 succeeded in 0ms:
clean-ok
[exit 0, 11.8 s]

$ claude -p "Create hello2.py that prints 'clean-ok-cc', run it with python3, and report its output." \
    --allowedTools "Write,Bash(python3:*)"
Output: `clean-ok-cc`
[exit 0, 9.4 s]

extraKnownMarketplaces.claude-plugins-official en ~/.claude/settings.json es el marketplace oficial y puede quedarse; si nunca usas plugins de Claude Code, también puedes borrar ese bloque.

Evitar que se repita

  1. Compara la configuración tras actualizar una app de escritorio, un IDE o un CLI. Esta instantánea guarda solo nombres de secciones y plugins, nunca tu clave:
bash
# Snapshot without secrets: Codex section names, Claude Code plugin/marketplace/hook names
mkdir -p ~/.agent-audit
grep -E '^\[' ~/.codex/config.toml > ~/.agent-audit/codex.txt
python3 - > ~/.agent-audit/claude.txt <<'EOF'
import json, os
d = json.load(open(os.path.expanduser('~/.claude/settings.json')))
for k in ('enabledPlugins', 'extraKnownMarketplaces', 'hooks'):
    print(k, sorted(d.get(k, {})))
EOF

# After updating a desktop app, IDE or CLI, compare with the snapshot
diff ~/.agent-audit/codex.txt <(grep -E '^\[' ~/.codex/config.toml)

La comparación antes y después de la instalación nos dio:

text
$ diff ~/.agent-audit/codex.txt <(grep -E '^\[' ~/.codex/config.toml)
2a3,6
> [marketplaces.postman]
> [plugins."postman@postman"]
> [hooks.state]
> [hooks.state."postman@postman:hooks/codex-hooks.json:session_start:0:0"]

# Claude Code, before and after
enabledPlugins []                                  ->  ['postman@claude-plugins-official']
extraKnownMarketplaces []                          ->  ['claude-plugins-official']
  1. Confía solo en hooks que hayas aprobado tú. Si Codex tiene un trusted_hash que no reconoces, bórralo; en el próximo inicio Codex te pedirá revisar el hook.
  2. Apaga los servidores MCP que no uses. Un MCP remoto que pide iniciar sesión sin parar se contacta en cada inicio.
  3. Revisa también los archivos del proyecto. AGENTS.md y .claude/settings.json dentro de un repositorio también cambian el comportamiento del agente; consulta ¿Un AGENTS.md en Descargas puede secuestrar Codex y Claude Code?.
  4. Pon límites de permisos claros al agente. Si se cuela un hook no deseado, el sandbox y la política de aprobación siguen frenando acciones fuera de límites; consulta Sandbox de Codex y /permissions.

Mantener limpia la configuración con una clave de aicodewith

Un hook es un comando que se ejecuta con tu usuario, así que puede leer los archivos que tu usuario puede leer, incluida la configuración que guarda tu clave. Deja en esos archivos solo lo que reconozcas. Tras la limpieza, una configuración limpia de Codex solo necesita esto (Codex usa experimental_bearer_token en el config.toml global):

toml
# ~/.codex/config.toml
model = "gpt-6.1-sol"
model_provider = "aicodewith"

[model_providers.aicodewith]
name = "aicodewith"
base_url = "https://api.aicodewith.ai/chatgpt/v1"
wire_api = "responses"
experimental_bearer_token = "TU_API_KEY"

[projects."/path/to/your/repo"]
trust_level = "trusted"

~/.claude/settings.json de Claude Code:

json
{
  "env": {
    "ANTHROPIC_BASE_URL": "https://api.aicodewith.ai",
    "ANTHROPIC_AUTH_TOKEN": "TU_API_KEY"
  }
}

Si la limpieza descubrió un hook o plugin que no reconoces, quítalo, crea una clave nueva en la consola y actualiza ambos archivos.

Crear una API Key para Claude Code, Codex y Cursor →

Todas las opciones están en la guía de config.toml de Codex y en Cómo conectar Claude Code a una API de terceros.

Preguntas frecuentes

¿El plugin de Postman envía mis datos a algún sitio?

Según el autor del informe y The New Stack, el issue no contiene pruebas de que se recopilaran o transmitieran datos. El informe trata de plugins, un hook y un servidor MCP remoto añadidos a otras herramientas sin un consentimiento claro. Sin iniciar sesión, el MCP de Postman no se conecta; en nuestra reproducción mostraba Not logged in / Needs authentication.

Quité el plugin. ¿Importa que quede un trusted_hash?

Sin el plugin, el hook no tiene archivos que ejecutar. Pero el registro de confianza sigue en config.toml, y si el mismo hook se vuelve a instalar se ejecuta de inmediato sin preguntarte. Bórralo también.

Instalé el plugin de Postman yo mismo. ¿Debo quitarlo?

No. Si ejecutaste npx @postman/postman-plugin tú mismo, la documentación de Postman indica que el instalador aprueba el hook de Codex por ti. Si prefieres aprobarlo tú, instala con los comandos nativos codex plugin add.

Solo uso Cursor o Copilot CLI. ¿Debo revisar?

Sí. Según comentarios del issue, el registro de 12.35.1 incluía cursor:already-installed, y también aparecieron entradas de Postman en el settings.json de Copilot CLI.

Claude Code o Codex dejó de funcionar tras la limpieza. ¿Qué hago?

Comprueba que no borraste la configuración del proveedor: [model_providers.aicodewith] en Codex, ANTHROPIC_BASE_URL y ANTHROPIC_AUTH_TOKEN en Claude Code. Copia config.toml con cp antes de editarlo para poder restaurarlo.

Lecturas relacionadas

相关文章

Los subagentes en segundo plano de Claude Code gastan menos límite: desde 2.1.316 Haiku 5.5 escribe la línea de estado (actualizar, comprobar, configurar)

Los subagentes en segundo plano de Claude Code gastan menos límite: desde 2.1.316 Haiku 5.5 escribe la línea de estado (actualizar, comprobar, configurar)

Según la cuenta oficial de Anthropic @ClaudeDevs, la línea de estado que un subagente en segundo plano de Claude Code actualiza cada 30 segundos volvía a leer toda la conversación del subagente en cada actualización. Ahora Haiku 5.5 la escribe a partir de notas breves, así que cada actualización requiere cerca de un 99 % menos; las sesiones con subagentes en segundo plano gastan cerca de un 5 % menos del límite, es decir, cerca de un 6 % más de prompts. Requiere v2.1.316+. Esta guía explica a quién afecta, cómo actualizar y comprobar la versión, una prueba real con Claude Code 2.1.318 y una API Key, y cómo elegir el modelo de los subagentes con CLAUDE_CODE_SUBAGENT_MODEL, archivos de agente y /tasks.

Conductor cierra: cómo ejecutar varios agentes de Claude Code / Codex en paralelo sin él (guía de git worktree)

Conductor cierra: cómo ejecutar varios agentes de Claude Code / Codex en paralelo sin él (guía de git worktree)

Meta ha comprado Conductor. Según el anuncio oficial, Conductor Cloud pasa a solo lectura el 13 de noviembre y cierra el 20 de noviembre, cuando empieza a borrar los datos en la nube; la app local para Mac sigue recibiendo actualizaciones hasta principios de 2027. Esta guía explica el calendario y qué exportar, y luego muestra cómo hacer lo mismo sin Conductor - un git worktree por tarea, una sesión de Claude Code o Codex por worktree, una API Key, y después fusionar, verificar y limpiar - con pruebas de claude --worktree, codex --worktree, un conflicto de fusión y alternativas como Orca, Emdash y Claude Squad.

Cómo usar DeepSeek Harness Creator Mode: instalación, conexión de una API de terceros y primer plugin probado

Cómo usar DeepSeek Harness Creator Mode: instalación, conexión de una API de terceros y primer plugin probado

El 2 de noviembre la cuenta oficial de DeepSeek Harness presentó Creator Mode: describes una herramienta en una frase y el agente escribe el plugin, lo instala en Harness y comprueba que se cargó. Esta guía explica qué es Creator Mode, cómo arrancar Harness con npx, cómo conectar una API de terceros compatible con OpenAI (base URL + clave de aicodewith) para usar modelos Claude, GPT y DeepSeek, y construye un plugin todo_scan con Creator Mode, con salidas reales, errores comunes y los equivalentes en Claude Code / Codex.