2025년 12월 31일 수요일

Geimini CLI를 sandbox 모드로 사용하면서 redis, qdarnt로 장단기 기억 저장소를 먹이기 위한 모험

제미니 유료 결제를 하고 나서 이것저것 아이디어를 떠올리고 일부는 실행도 해봤다.

 

하다 보니 가장 신경 쓰이는 건 사고 못 치게 하는 것. 샌드박스 모드 기능은 준비되어 있다.

샌드박스 안에서는 내 허락을 구하지 않고 이것저것 다 할 수 있게 만들 수도 있다. 욜로 모드.

이 둘이 제대로 갖춰지면 충분히 잘 만들어진 기획서를 여러 md 파일들로 넘겨주고 몇 시간 동안 개입 없이 자동으로 돌리는 게 가능해진다. 

여기까진 있는 기능 쓰는 거니까 문제가 없었다.

 

거기에 MCP를 켜서 이것저것 해보려는 시점부터 문제가 생긴다.

어디선가 Qdant와 Redis를 붙여서 장단기 기억을 확장하는 데 쓴다는 글을 어디선가 얼핏 봐서 그거 나도 해보고 싶다고 생각했다.

그런데 Redis MCP는 uvx로 실행되고, 샌드박스로 쓰이는 도커 컨테이너 안에는 기본적으로 uvx가 없어서 넣어줘야 한다.

 

https://geminicli.com/docs/get-started/configuration/ 

https://geminicli.com/docs/cli/sandbox/

https://geminicli.com/docs/tools/mcp-server/ 

공식 문서를 찾아보면 샌드박스 환경에 쓰이는 sandbox.Dockerfile 파일 같은 걸 만들어주면 된다고 적혀있긴 한데 문서는 '그냥 이렇게 하면 됩니다'까지만 있고 안 되면 어떻게 해결하라거나 디버그 로그를 보려면 어떻게 하라는 게 없다.

 

더구나 샌드박스 안에서 Redis로 접속하는 구조가 되다 보니 127.0.0.1로 해결이 안 되는데 이걸 Redis MCP에 변수값으로 줄려면 ~/.gemini/settings.json 파일 안에 mcpServers 블럭을 넣어줘야 하는데 이것도 정확히 어떤 형식을 따라야 하는지 딱 복붙 예시를 주는 데가 없다. '여기까지 왔으면 이런 건 다 알고 있을 테니까 굳이 얘기 안 한다?' 뭐 그런 건가.

 

제미니 유료 결제를 하고 나서 이것저것 하기 위한 전단계가 꽤 지친다.