Echolot
명령줄과 CI

echolot agent

스크립트와 CI를 위해 앱 없이 승인 대신 정책 파일로 내장 에이전트에게 작업을 실행시킵니다.

echolot agent는 어시스턴트와 같은 내장 에이전트에게 작업을 맡기고, 끝날 때까지 작업 공간의 도구로 일하게 합니다. 승인해 줄 사람이 없으므로 정책이 무엇을 할 수 있는지 정합니다. CI(“모든 요청을 확인하고 실패하는 것을 보고해 줘”)나 스크립트에서 사용하십시오.

echolot agent [<options>] <task>

<task>는 에이전트가 해야 할 일을 평소 쓰는 말로 쓴 것입니다.

작업 실행

export ANTHROPIC_API_KEY=…
echolot agent "Check every request of the Catalog folder and report what fails" -w Alpenglow.echolot

모델의 답변은 쓰는 대로 표준 출력으로 스트리밍됩니다. 끝나면 요약이 표준 오류로 나갑니다.

Agent finished: 9 tool calls, 18234 in, 1210 out.

-v는 모든 도구 호출과 그 결과도 표준 오류에 출력합니다(→ send_request …, ← send_request ok in 82 ms). --json은 대신 세션 전체를 JSON으로 출력합니다. 모든 메시지, 도구 호출과 결과, 토큰 사용량, 종료 방식이 포함됩니다.

제공업체와 모델

--provider키의 출처모델
anthropic(기본값)ANTHROPIC_API_KEY--model로 달리 지정하지 않으면 claude-opus-5-5.
openaiOPENAI_API_KEY--model이 필수입니다.
geminiGEMINI_API_KEY--model이 필수입니다.
openai-compatible설정되어 있으면 OPENAI_API_KEY. 필수는 아닙니다--model이 필수입니다. Ollama, LM Studio, OpenRouter 등 OpenAI API를 쓰는 서버용입니다. --base-url이 서버이며, 기본값은 이 Mac의 Ollama(http://127.0.0.1:11434/v1)입니다.

--key-env는 키를 담은 다른 환경 변수를 지정합니다. 키는 CI의 비밀 값에 보관하거나 명령을 실행할 때 가져오십시오.

op run --env-file agent-keys.env -- echolot agent "Save every product as CSV" \
  -w Alpenglow.echolot --provider openai --model gpt-5.5 --policy-file ci-policy.toml --json

사용자의 Mac에서 무료로 실행하려면:

echolot agent "List the requests that have no checks" -w Alpenglow.echolot \
  --provider openai-compatible --model qwen3:4b

정책

에이전트의 도구는 Echolot의 MCP 서버의 도구이며 안전 장치도 같습니다. 비밀 값은 모델에 전달되지 않고, 모델이 보는 모든 내용은 같은 가림 처리를 거칩니다. 각 종류의 작업으로 무엇을 할 수 있는지는 정책이 정합니다.

--policy실행되는 것
standard(기본값)읽기와 안전한 전송(GET 등). 기타 전송, 새로운 호스트, 작업 공간 변경은 거부됩니다.
readonly읽기만.
permissive전송과 작업 공간 변경. 삭제, 작업 공간이 모르는 호스트, 보호된 환경으로의 전송은 거부됩니다.

사람이 없으므로 “묻기”는 “거부”를 뜻합니다.

정책 파일은 작업 종류별로 기본 정책을 느슨하게 하거나 엄격하게 합니다. 작업 공간의 [agents] 섹션과 같은 규칙을 받으며, [agents]로 감싸도 되고 감싸지 않아도 됩니다.

# ci-policy.toml: 작업 공간의 호스트로는 무엇이든 보내게 하되, 작업 공간은 절대 변경하지 못하게 합니다
[rules]
unsafe-send = "allow"
workspace-write = "refuse"
destructive = "refuse"
작업포함하는 것
read요청, 응답, 환경 등의 읽기.
safe-sendGET처럼 아무것도 바꾸지 않는 요청의 전송.
unsafe-sendPOST나 DELETE처럼 무언가를 바꿀 수 있는 요청의 전송.
protected-send보호된 환경에서의 전송.
new-host작업 공간이 모르는 호스트로의 전송.
workspace-write요청, 폴더, 환경 등 파일의 생성과 변경.
destructive삭제.

각각 allow, ask, refuse를 받습니다. protected-send와 new-host는 더 엄격하게 할 수 있지만 무조건 허용할 수는 없습니다.

정책 파일은 사용자가 만든 것으로 취급되므로 정책을 느슨하게 할 수 있습니다. 작업 공간 자체의 [agents] 규칙은 --trust-workspace-policy를 지정하지 않으면 정책을 엄격하게만 합니다.

제한

--max-steps는 모델 턴이 그 수에 이르면 실행을 멈춥니다(기본값 30). --token-budget은 그만큼의 토큰을 사용하면 멈춥니다. 제한에 걸려 멈춘 실행은 1로 종료합니다.

옵션

옵션의미
-w, --workspace <folder>작업 공간 폴더. 기본값은 현재 폴더입니다.
--env <env>호출이 환경을 지정하지 않을 때 쓸 환경: .toml을 뺀 파일 이름.
--provider <provider>anthropic, openai, gemini, openai-compatible. 기본값은 anthropic입니다.
--model <model>모델. anthropic을 제외한 모든 제공업체에서 필수입니다.
--base-url <url>제공업체의 URL. openai-compatible 서버용입니다. 기본값은 Ollama의 URL입니다.
--key-env <name>API 키를 담은 환경 변수. 제공업체의 일반적인 변수가 아닐 때 지정합니다.
--policy <policy>기본 정책: standard, readonly, permissive. 기본값은 standard입니다.
--policy-file <file>작업별 규칙(allow, ask, refuse)이 든 TOML 파일. 작업 공간의 [agents] 섹션과 같습니다.
--trust-workspace-policy작업 공간의 [agents] 규칙이 정책을 엄격하게 할 뿐 아니라 느슨하게도 하게 합니다.
--toolsets <list>제공할 도구 그룹. 쉼표로 구분하며 all도 가능합니다. requests(항상), flows, workspace, environments, specs, mocks, mcp-servers, history, flow-editing. 기본값은 all입니다.
--max-steps <n>실행이 멈추기 전까지의 모델 턴 수. 기본값은 30입니다.
--token-budget <n>실행이 멈추기 전까지 사용할 수 있는 토큰 수.
--json대화 기록 대신 세션 전체를 JSON으로 출력합니다.
-v, --verbose모든 도구 호출과 그 결과를 표준 오류에 출력합니다.

도구 모음은 echolot mcp 페이지에 설명되어 있습니다.

종료 코드

코드조건
0모델이 작업을 마쳤습니다.
1실행이 실패했거나, 모델이 거부했거나, 단계 제한, 토큰 예산, 출력 제한에 도달했습니다.
64잘못된 옵션, 알 수 없는 제공업체나 정책, 빠진 --model, API 키 없음, 알 수 없는 환경.

작업 공간 데이터는 선택한 모델 제공업체로 전송됩니다. 데이터가 Mac에 머물러야 한다면 사용자의 Mac에 있는 서버와 함께 openai-compatible을 사용하십시오.

이 페이지에서