Devotd Github
새 소식AI 에이전트

lsaint/aikito — 원격 로그 반복 출력 수정

aikito의 원격 CLI가 워커 로그를 따라가던 중 같은 줄을 반복 출력하던 문제를 파일 수정 시각 확인으로 고쳤다.

저장소 정보lsaint/aikito ↗

aikito의 원격 CLI가 워커 로그를 따라가던 중 같은 줄을 반복 출력하던 문제를 파일 수정 시각 확인으로 고쳤다.

GitHub 설명: Your durable workspace across AI agents.

스타
★ 134
포크
0
언어
Python
라이선스
MIT
최신 릴리스
v1.59.0
원문 보기 ↗GitHub에서 보기 ↗

lsaint/aikito는 여러 AI 에이전트가 공유하는 지속성 작업 공간(durable workspace)이라는 설명이 붙은 저장소다. 2026년 10월 29일 커밋 cb5302b은 "반복되는 원격 로그 출력 수정"이라는 메시지와 함께 src/aikito/remote_cli.py의 _follow_log 함수를 손댔다.

이 저장소의 원격 CLI는 워커가 남긴 로그 파일을 붙잡고 한 줄씩 읽어 표준 출력으로 옮기는 _follow_log 함수를 담고 있다. 함수는 readline이 값을 돌려주는 동안 계속 루프를 돌기 때문에 같은 내용이 두 번 이상 출력될 수 있었다. 이번 패치는 줄을 출력하기 직전에 os.fstat로 파일 디스크립터의 수정 시각(st_mtime_ns)을 읽어 두는 코드를 한 줄 추가했다.

검증은 tests/test_remote_service.py에 새로 들어온 test_follow_log_does_not_replay_after_append 테스트가 맡는다. 이 테스트는 time.sleep을 가짜로 대체해 반복 횟수를 세고, 첫 주기에 로그 파일에 새 줄을 덧붙인 뒤 os.utime으로 수정 시각을 1초 뒤로 민다. 함수를 끝까지 돌려 기존 줄인 "old line"이 출력에 남지 않는지, 새 줄 "new line"이 정확히 한 번만 나오는지 확인한다. 커밋 전체는 파일 2개, 30줄 추가, 삭제 0줄이다.

다만 커밋이 건드린 곳은 로그 따라가기 경로 한 곳뿐이고, 저장소 구조나 성능에 미친 영향은 자료에 없다. 같은 파일에는 로그 회전(rotation)을 다루는 test_follow_log_handles_rotation 테스트가 이미 남아 있어, 회전과 반복 출력이 어떻게 엇갈리는지는 이번 자료만으로 확정하기 어렵다. 커밋 메시지는 수정한 사실 하나만 밝힐 뿐 재현 조건과 성능 수치, 배포 버전은 밝히지 않는다. 국소적인 출력 경로 수정이었기 때문에 저장소 전체 동작이 달라졌다고 보기는 이르며, 반복 출력이 실제로 사라지는지는 코드로 짐작할 수 있을 뿐 남겨진 확인이 있다.