OpenCode Working Memory는 OpenCode 에이전트에 작업 메모리를 부여하는 플러그인이다. OpenCode의 내장 컴팩션(compaction) 요청에 메모리 추출 명령을 끼워 넣는 방식으로, 추가 API 호출 없이 프로젝트 결정·선호도·아키텍처 결정을 세션 간에 보존한다.
어떤 문제를 해결하는가
OpenCode의 컴팩션은 대화를 관리 가능한 크기로 유지하지만, 중요한 컨텍스트가 시간이 지나면서 유실될 수 있다. Working Memory 플러그인은 워크스페이스 인식 메모리 레이어를 추가해 에이전트가 세션이 바뀌어도 중요한 사실을 기억하도록 돕는다.
기억 가능한 정보 예시:
- 프로젝트 컨벤션
- 사용자 선호도
- 아키텍처 결정
- 중요 파일 경로·참조
- 현재 활성 파일과 미결 오류
메모리 구조
세 레이어로 구성된다:
| 레이어 | 목적 | 수명 |
|---|---|---|
| 워크스페이스 메모리 | 결정·선호도·프로젝트 사실·참조 | 세션 간 영구 |
| 핫 세션 상태 | 활성 파일·열린 오류·미결 항목 | 현재 세션 |
| 프롬프트 컨텍스트 | 두 레이어를 시스템 메시지로 주입 | 각 턴 |
remember this ──► workspace memory ──► /memory
▲ │ searchable [M#] refs
│ ▼
compaction ─────► reinforce / replace ──► selective prompt context주요 특징
- Zero extra API calls: 메모리 추출이 OpenCode의 기존 컴팩션 요청에 통합됨
- 캐시 친화적 레이아웃: 워크스페이스 메모리와 핫 세션 상태를 별도의 고정(frozen) 프롬프트로 렌더링해 KV 캐시 재사용 극대화
- 품질 가드: 노이즈 필터링, 자격증명 리댁션, 중복 제거, 약한 메모리 자연 소멸
- **
/memoryTUI 메뉴**: OpenCode TUI에서 메모리 상태·검색 가능 - 명시적 저장:
remember this또는記住입력으로 중요 규칙·선호도를 직접 저장
설치
.opencode/opencode.json:
{
"$schema": "https://opencode.ai/config.json",
"plugin": ["opencode-working-memory"]
}.opencode/tui.json:
{
"$schema": "https://opencode.ai/tui.json",
"plugin": ["opencode-working-memory"]
}OpenCode 재시작 후 메모리가 자동 활성화되고 /memory 명령이 TUI에 나타난다.
적용 대상
- OpenCode를 장기 프로젝트에 사용하며 에이전트가 결정을 기억해주길 원하는 개발자
- 여러 세션에 걸쳐 일관된 컨텍스트를 유지해야 하는 팀
- API 호출을 최소화하면서 에이전트 메모리 기능을 원하는 경우
관련 문서
- opencode — OpenCode AI 코딩 에이전트
- agentic-memory — 에이전틱 메모리 개요
- agentmemory — AI 코딩 에이전트를 위한 영구 메모리 엔진
참고 자료
- sdwolf4103/opencode-working-memory — GitHub 공식 저장소