Un repositorio adoptado
Ejecútalo desde un repositorio que ya haya ejecutado repo-harness adopt. Consulta Configuración.
repo-harness incluye un servidor MCP que da a ChatGPT y Codex acceso de solo lectura a
tus repositorios registrados —archivos de flujo de trabajo MÁS el árbol del repositorio,
la búsqueda de texto y el contenido de los archivos— mientras que las escrituras quedan
acotadas a los artefactos de flujo de trabajo (planes, sprints, contratos, traspasos).
ChatGPT se conecta por HTTP con OAuth a través de un endpoint público /mcp; Codex se
conecta localmente por stdio sin túnel. El sidecar no es un agente de programación remoto
— prepara los artefactos de flujo de trabajo para el host del agente local.
Un repositorio adoptado
Ejecútalo desde un repositorio que ya haya ejecutado repo-harness adopt. Consulta Configuración.
repo-harness en el PATH
La CLI de repo-harness debe estar instalada y ser resoluble en el PATH de tu shell.
Modo Desarrollador de ChatGPT
Un espacio de trabajo de ChatGPT con acceso al Modo Desarrollador y a Conectores MCP personalizados.
Un endpoint público /mcp
Una URL HTTPS pública y estable de /mcp para el uso recurrente de ChatGPT. Codex local usa stdio sin túnel.
Lanza el servidor con perfil de planificador por HTTP en localhost:
repo-harness mcp serve --repo . --transport http --host 127.0.0.1 --port 8765 --profile plannerConfirma que está sano:
curl http://127.0.0.1:8765/healthLee la frase de paso de OAuth local — ChatGPT la pedirá durante la autorización:
jq -r .passphrase .repo-harness/mcp.oauth.jsonHaz una prueba rápida del descubrimiento de OAuth:
curl http://127.0.0.1:8765/.well-known/oauth-protected-resource/mcpChatGPT necesita una URL HTTPS pública que termine en /mcp. Prefiere un nombre de host
estable para el uso recurrente — la URL de un túnel rápido cambia, y ChatGPT trata cada
URL nueva como una aplicación de Conector distinta.
cloudflared tunnel logincloudflared tunnel create repo-harness-mcpcloudflared tunnel route dns repo-harness-mcp repo-harness-mcp.example.comcloudflared tunnel run --url http://127.0.0.1:8765 repo-harness-mcpLuego registra el endpoint estable en la configuración local ignorada:
repo-harness mcp setup chatgpt --repo . --endpoint <https-url>/mcpcloudflared tunnel --url http://127.0.0.1:8765Usa la URL HTTPS impresa con /mcp añadido como tu URL de Conector:
<https-tunnel-url>/mcprepo-harness./mcp..repo-harness/mcp.oauth.json.Codex se ejecuta localmente y no necesita túnel — habla stdio directamente. Genera la configuración automáticamente:
repo-harness mcp setup codex --repo . --scope projectEsto escribe .codex/config.toml con una entrada de servidor repo_harness por stdio y la
lista de herramientas permitidas.
repo-harness mcp serve --repo . --transport http --host 127.0.0.1 --port 8765 \ --profile orchestrator --enable-dev-runner --dev-runner-agents codexO mediante una anulación de entorno:
REPO_HARNESS_MCP_DEV_RUNNER=1 REPO_HARNESS_MCP_DEV_RUNNER_AGENTS=codex,claude \ repo-harness mcp serve --repo . --transport http --profile orchestratorCuando está activado, el servidor expone run_agent_goal. Lee únicamente
.ai/harness/handoff/codex-goal.md y ejecuta ese traspaso fijo a través de la CLI local
permitida. No es shell arbitrario.
El perfil planner es mayormente de lectura: puede leer tus repositorios registrados y
escribir únicamente artefactos de planificación — nunca código fuente de la aplicación,
manifiestos, lockfiles, configuración de CI, secretos ni archivos fuera de una raíz de
repositorio permitida.
harness_status, harness_doctor, read_workflow_file,
list_workflow_files, latest_handoff, latest_checksreader_status, list_allowed_roots,
open_workspace, tree, search_text, read_text — navega y busca por el repositorio,
no solo por los archivos de flujo de trabajowrite_prd_from_idea, write_checklist_sprint,
prepare_codex_goal_from_sprintLos globs de denegación permanecen activos incluso con las lecturas del repositorio
habilitadas: .env, claves privadas, claves SSH, credenciales, secretos, .git y la salida
de dependencias/compilación nunca se devuelven.
Un único Conector puede servir todos los repositorios que hayas adoptado. repo-harness adopt
y repo-harness init registran un repositorio en ~/.repo-harness/registered-repos.json;
discover_harness_repos los lista, y las herramientas de lectura aceptan un repo_path para
apuntar a uno específico. La lectura amplia de todo el disco está obsoleta — el antiguo
fullDiskRead: true ahora falla de forma cerrada; añade raíces adicionales fuera del
repositorio explícitamente con --allow-root.
La configuración de ámbito de usuario (repo-harness mcp setup chatgpt sin --repo, que
guarda la configuración y la autenticación bajo ~/.repo-harness/) funciona para los
despliegues en Modo Desarrollador. La autenticación HTTP admite OAuth — con rotación de tokens
de actualización offline_access — y un modo de compatibilidad url-token.
La cadena de planificación esperada: idea → write_prd_from_idea → write_checklist_sprint →
prepare_codex_goal_from_sprint → ejecución local de /goal en Codex.
/mcp.repo-harness mcp serve y vuelve a escanear las herramientas.write_checklist_sprint.repo-harness mcp setup codex --repo . --scope project.