Skip to content

Releases: netwaif/agentlayer

v1.17.2

Choose a tag to compare

@netwaif netwaif released this 09 Oct 12:10

1.17.2

고침

  • 메뉴 막대 숫자가 팝업과 달랐던 문제 — 팝업은 봇의 스레드 창을 메인 행에 접어 세는데 메뉴 막대는 창마다 따로 세어 "새 완료 8"과 "✓ 9"처럼 어긋났다. 이제 메뉴 막대도 같은 셈법으로 세고, 접힌 행에는 "스레드 N"이 붙는다.
  • agentlayer status --json --fold — JSON에서도 같은 접기를 쓸 수 있다(기본은 원본 그대로).

v1.17.1

Choose a tag to compare

@netwaif netwaif released this 09 Oct 12:05

1.17.1

고침

  • 메뉴 막대 「바로 가기」 — iTerm 탭(tmux 클라이언트)이 여럿일 때 눌러도 아무 일이 없어 보이던 문제. 그 세션을 보고 있는 탭이 있으면 그 탭을 앞으로 가져오고, 없으면 최근 탭을 그 세션으로 바꿔 앞으로 가져온다.
  • 챕터가 오래되면 엉뚱한 곳으로 가던 문제 — tmux 스크롤백 한도(기본 2000줄)를 넘기면 챕터 줄이 기록에서 사라져 저장된 줄 번호의 다른 내용으로 뛰었다.

바뀐 동작 — 챕터 캡처

  • 챕터를 찍는 순간 그 줄부터 화면 아래까지(최대 500줄)를 캡처해 둔다(~/.local/state/agentlayer/chapters/snap/).
  • 클릭하면 그 줄이 아직 기록에 있으면 지금처럼 이동한다(이때 캡처를 현재 내용으로 갱신).
  • 기록에서 사라졌으면 캡처를 아래 분할 pane에 열어 준다. copy-mode 맨 위에서 시작하고, 마우스로 끌어 복사하거나 y로 복사할 수 있다. 닫기는 Enter.
  • ~/.tmux.conf의 챕터 블록을 다시 넣으면(agentlayer chapter tmux-conf) 클릭한 그 탭에서 열린다. 이전 블록도 그대로 동작한다.

v1.17.0

Choose a tag to compare

@netwaif netwaif released this 09 Oct 05:04

1.17.0

새 기능

  • 윈도우에서 코덱스 앱 연결 — WSL2의 Claude 세션에서 agentlayer send <세션 ID>가 윈도우용 코덱스 데스크톱 앱 세션에 들어간다. 코덱스 앱의 답은 승인창 뒤 WSL의 Claude 세션으로 돌아온다(baton 스킬 그대로).
  • 윈도우 Claude 앱의 WSL 세션 인식 — 윈도우용 Claude 데스크톱 앱에서 연 WSL 세션 안에서 agentlayer inbox open이 된다.
  • 챕터(스크롤백 북마크) — C-b g 메뉴·우클릭 메뉴로 찍고, 상태 줄 둘째 행에서 클릭해 돌아간다. agentlayer init이 안내한다.
  • agentlayer browser open [url] — URL 없이 부르면 에이전트 브라우저를 띄우고 창을 앞으로.

고침

  • 같은 PC의 헤르메스(remote add --local)에 디스코드가 없을 때 카드가 「수신 확인 전송 실패」로 멈추던 문제.
  • 챕터: 답이 출력 중일 때 찍은 챕터가 줄이 밀린 뒤 엉뚱한 곳으로 가던 문제 / C-b g→n 이름 짓기가 pane 번호에 따라 저장되지 않던 문제 / 챕터 없는 창의 둘째 행이 빈 줄이던 문제.
  • 메뉴 막대 앱: 사용량 패널이 「불러오는 중」에 멈추던 문제, 「에이전트 브라우저 → 열기」 오류.

v1.16.0 — 맥 메뉴 막대 관제탑

Choose a tag to compare

@netwaif netwaif released this 06 Oct 15:31

맥 메뉴 막대 관제탑 (AgentLayer.app)

터미널을 안 띄워도 메뉴 막대에서 세션 상태를 보고 조작합니다. TUI의 키 전부가 메뉴에 있습니다.

  • 아이콘: ● 작업 ◐ 대기 ✓ 새 완료 ✕ 오류 수 (대기·오류가 있으면 강조)
  • 세션 항목 클릭 = 바로 가기(iTerm2), 서브메뉴 = 읽음·중단·모델 변경·이어서하자·상세·git(lazygit)·브라우저 지목/캡처·dev 서버 프리뷰. 죽은 세션은 되살리기
  • 전체지시(입력창)·전체 이어서하자·전체 마감, 사용량(공급자 카드), 업무 보드 열기, 에이전트 브라우저(열기·콘솔 에러·재시작), 로그인 시 시작
  • 결과는 아이콘 아래 떠 있는 패널로(esc로 닫기)

설치 (맥)

brew install netwaif/tap/agentlayer   # 이미 있으면 brew upgrade netwaif/tap/agentlayer
agentlayer menubar install            # 같은 버전의 AgentLayer.app.zip을 내려받아 ~/Applications에 설치, 로그인 시 자동 시작

CLI 추가

  • agentlayer ctl read|git|preview <세션[:창]>, agentlayer usage [--json] — 메뉴 막대 앱이 쓰는 배관, 셸에서도 그대로 됩니다.

바이너리만 배포합니다(소스 저장소의 main은 그대로).

v1.15.0

Choose a tag to compare

@netwaif netwaif released this 06 Oct 06:23

v1.15.0

이 버전부터 바이너리만 배포합니다. 설치는 그대로 brew install netwaif/tap/agentlayer 또는 install.sh.

  • send --skill <이름|폴더> <원격> ["<할 일>"]: Claude 스킬 폴더를 그대로(여럿이면 zip) 원격 Hermes에 보낸다. 설치 위치·회신 규칙·디스코드 게시 위치를 바이너리가 본문에 적는다. 할 일이 없으면 "쓸 수 있는지 판단 → 설치 또는 이유".
  • 원격 직송 카드의 회신 규칙 통일: 답은 카드 완료 결과(inbox wait --remote가 전문을 받는다), 디스코드에는 수신 확인과 답 첫 줄.
  • pc-receive: 디스코드에서 "내 pc에서 … 가져올게"라고 예고하면 그 대화(스레드)로 답이 간다. remote setup이 Hermes에 명령·스킬을 깐다.
  • remote setup이 Hermes 프로필 폴더(profiles/<프로필>/skills·bin)에도 깐다. 게이트웨이가 돌고 있으면 다시 띄워야 새 스킬이 보인다는 안내 출력.
  • inbox wait --remote가 결과 첫 줄만이 아니라 전문을 보여 준다.
  • 카드 기동 확인 오경보(응답에 없어도 이미 실행 중이면 성공) 수정 — 같은 카드가 두 번 가던 문제.
  • 디스코드 관제 봇(agentlayer discord) 응답 지연 계측.

v1.14.0

Choose a tag to compare

@netwaif netwaif released this 03 Oct 08:32

v1.14.0 — 총괄 보고는 "총괄이 시킨 턴"에만

등록된 직원 세션(task assign)이 멈출 때마다 총괄 수신함에 보고가 가던 것을, agentlayer send가 지시를 넣은 뒤 첫 DONE까지로 좁혔다. 사용자가 그 세션과 직접 대화할 때마다 총괄이 깨어나 토큰을 쓰던 문제(2026-10-03).

  • send가 지시를 넣은 시각을 세션 기록(last_send_at)에 남긴다.
  • hook은 그 send 이후의 WAIT·ERR·첫 DONE만 보고한다. DONE 보고가 send를 소비하면(등록 파일 done_send_at) 다음 send까지 조용하다. 승인 대기 보고는 send를 소비하지 않으므로 승인 뒤 DONE은 그대로 보고된다.
  • 원격 직원(폴링 경로)은 변화 없음. wake-all·close-all·broadcast는 send로 치지 않는다.
  • 업그레이드 직후 이미 등록된 세션은 총괄이 다음 send를 할 때까지 보고하지 않는다(의도).

맥·Win11 WSL2 실측: 사용자 직접 턴 ×2 → 보고 0, send ×2 → 보고 각 1.

v1.13.1

Choose a tag to compare

@netwaif netwaif released this 03 Oct 04:05

v1.13.1 — Win11 WSL2 실기(10차)에서 잡은 수정 5건

Windows 11 + WSL2(Ubuntu 26.04)에서 설치·init·TUI·hook 전이·send·업무 보고·채널·수신함·worktree·보드까지 전부 실측했고(docs/linux-wsl2-verification.md 10차), 그 과정에서 나온 결함을 고쳤다. 전부 WSL2에서 수정본으로 재검증.

  • init: 깨끗한 환경(~/.gemini 없음)에서 1회차에 GEMINI.md 브라우저 지침이 빠지고 2회차에야 들어가던 것, --dry-run 목록이 실제와 다르던 것 — Gemini 계열 판정을 앞에서 한 번에 한다. gemini CLI가 없으면 Gemini CLI hook을 쓰지 않는다.
  • status: tmux 서버 자체가 없을 때(서버 종료·WSL 배포판 재기동) 사라진 세션이 영영 [DONE]으로 남던 것 — 서버 없음을 pane 0개로 동기화해 전부 [dead]가 된다.
  • wt new: tmux 밖에서 실행하면 worktree·브랜치만 남기고 실패하던 것 — 아무것도 만들지 않는다.
  • send: send <대상> --from X 본문처럼 대상 뒤에 쓴 플래그가 본문으로 전송되던 것(README 예시 꼴) — 메시지 시작 전까지는 어디서든 플래그. send --help 추가.
  • inbox open: Claude 세션 밖(셸)에서 실행하면 즉시 죽는 주소를 발급하던 것 — 거부한다(wait는 그대로).

WSL2 사용자 주의(README 추가)

WSL2 배포판은 wsl.exe 클라이언트가 하나도 안 붙어 있으면 약 1분 안에 내려가 tmux·에이전트·채널 서버가 전부 죽는다(.wslconfig vmIdleTimeout=-1로도 못 막음). Windows 터미널의 Ubuntu 탭을 하나 열어 두거나, 봇 상주용으로는 작업 스케줄러에 wsl.exe -d Ubuntu -- sleep infinity를 걸어 둔다.

v1.13.0

Choose a tag to compare

@netwaif netwaif released this 02 Oct 01:11

v1.13.0 — restore 체크리스트에서 꺼져 있는 봇 골라 띄우기

재부팅 뒤 agentlayer restore 체크리스트에 "꺼져 있는 봇" 묶음이 생겼습니다. 자동 기동을 꺼 둔 디스코드 봇을 그날 쓸 것만 골라 띄울 수 있습니다. 기존 세션 복원 동작은 그대로입니다.

  • 체크리스트 아래쪽에 꺼져 있는 봇이 세션 이름·엔진(claude·codex·gemini)·종류와 함께 나옵니다. 엔진을 가리지 않고 같은 방식으로 고릅니다.
  • 지난번에 고른 봇이 다음번 기본 체크가 됩니다(처음에는 전부 해제). 선택은 상태 폴더의 restore-bots.json에 기억합니다.
  • agentlayer restore --bots <세션,…>: 체크리스트 없이 꺼져 있는 봇만 띄웁니다. 이미 떠 있는 봇은 건너뜁니다.
  • agentlayer restore --no-bots: 봇 묶음을 숨깁니다.
  • agentlayer restore --dry-run: 꺼져 있는 봇 목록도 함께 보여 줍니다.
  • 기동에 실패한 봇은 ✖ 봇 <세션> 기동 실패: … 줄로 알립니다.

알려진 한계: 봇 목록 밖에서 유닛으로만 등록된 봇은 엔진이 ?로 표시될 수 있습니다(기동에는 영향 없음).

실기(2026-10-02): 재부팅 뒤 자동 기동으로 남긴 봇만 뜨고, 체크리스트에서 고른 봇이 떠서 디스코드에서 응답.

v1.12.2

Choose a tag to compare

@netwaif netwaif released this 01 Oct 07:41

v1.12.2 — 디스코드 → 헤르메스 → Claude 앱 세션(claude-letter)

디스코드에서 헤르메스에게 "Claude에게 … 전해 줘"라고 하면 Claude 앱 세션이 받고 답합니다. 기존 동작은 바뀌지 않았고 추가만 있습니다.

  • 서버 준비물 claude-letter: agentlayer remote add·remote setup <이름>이 회사용 company-letter 옆에 Claude용 편지 명령과 스킬을 나란히 깝니다(담당자 claude-app). 회사 총괄 편지함과 분리돼 서로 건드리지 않습니다.
  • agentlayer inbox wait --remote <이름> --app-mailbox: 그 원격의 Claude 앞 편지를 받습니다. 출력은 from: <원격>/<보낸이>, letter: <원격>:<카드ID>, 빈 줄, 본문.
  • agentlayer inbox reply <원격>:<카드ID> [--file <경로>]... <답|->: 편지 카드를 답으로 닫습니다. 헤르메스 쪽 대화에 완료 알림이 뜹니다(알림에는 답의 첫 줄만 보이므로 핵심을 첫 줄에).

실기(2026-10-01): 디스코드 → 헤르메스(claude-letter) → inbox wait --app-mailbox 수신 → inbox reply → 디스코드 알림. 회사 총괄 편지함과 경합 없음.

v1.12.1

Choose a tag to compare

@netwaif netwaif released this 01 Oct 04:33

v1.12.1 — send --from(발신자 이름)

tmux 밖(코덱스 데스크톱 앱, 앱에서 연 Claude 세션)에서 보낸 편지의 보낸이가 user로 찍히던 것을 고쳤습니다. 기존 동작은 바뀌지 않았고, user였던 경우만 더 정확한 이름으로 바뀝니다.

  • agentlayer send --from <이름> …(--from=값도 됨): 발신자 이름을 명시합니다. 받는 쪽 inbox wait의 from: 줄과 채널 meta.from에 그 값이 찍힙니다. 업무 등록 없는 원격 직송은 --from을 명시했을 때만 본문 첫 줄에 보낸이: <이름>을 붙입니다.
  • --from 없이 tmux 밖에서 보내면 부모 프로세스로 판정합니다. 코덱스면 codex, claude면 그 세션이 inbox open --name으로 등록한 별칭(없으면 claude), 그 밖은 예전처럼 user.
  • tmux 안 세션은 예전 그대로 세션 이름입니다.

실기(2026-10-01): 코덱스 데스크톱 앱에서 agentlayer send <주소> "…" → 받는 쪽 from: codex. 앱 밖 claude 세션 → from: claude, 별칭 등록 뒤 → 그 별칭, --from 총괄 → from: 총괄.