prevalentWare/opencode-goal-plugin
OpenCode goal plugin for Codex-style goal mode, /goal slash commands, persistent objectives, and AI coding agent focus.
OpenCode Goal Plugin – 장기 작업에 집중하는 AI 코딩 에이전트 유지
무엇인가요 – OpenCode AI 코딩 환경용 플러그인으로, 목표 모드를 추가합니다. 사용자는 OpenCode UI(TUI, 데스크톱, 웹) 전체에 걸쳐 지속되며 세션 압축 후에도 유지되는 영구적인 /goal <목표>를 시작할 수 있습니다. 목표는 사이드바에 표시되며, 세션이 일시정지 상태일 때 자동으로 계속될 수 있고, 에이전트가 완료의 구체적 증거 또는 차단 요소를 제시하기 전까지 닫히지 않습니다.
주요 기능
/goal슬래시 명령어(생성, 보기, 편집, 일시정지, 재개, 삭제) – OpenCode의 모든 프론트엔드에서 작동.- 상태, 경과 시간, 토큰 사용량 및 목표를 표시하는 사이드바 인디케이터.
- 에이전트 측 도구:
get_goal,list_all_goals,create_goal,set_goal,update_goal,clear_goal등. - 세션별 지속 상태는
$XDG_DATA_HOME/opencode-goal-plugin/goals.json에 저장(소유자 전용 권한, 원자적 쓰기). session.idle/session.status시 자동 재개(안전 제한 포함: 토큰 예산, 시간 예산, 진전 없음 탐지, 최대 자동 턴 수).- 계획 모드 보안: plan 에이전트에서 생성된 목표는 일시정지 상태이며, 사용자가 명시적으로 허용하지 않으면 자동 재개되지 않습니다.
- OpenCode의 플러그인 설정 파일을 통해 자동 재개, 예산, 최대 턴 수, 제한된 에이전트 등 구성 가능한 옵션.
설치
- OpenCode 1(안정판)의 경우:
패키지 이름을opencode plugin @prevalentware/opencode-goal-plugin # 프로젝트 로컬 # 또는 전역으로 opencode plugin -g @prevalentware/opencode-goal-pluginopencode.json및tui.json의plugin배열에 추가. - OpenCode 2(베타판)의 경우:
항목을{ "plugins": [ { "package": "@prevalentware/opencode-goal-plugin", "options": { "auto_continue": true } } ] }opencode.json(서버) 및~/.config/opencode/cli.json(UI)에 배치.
일반 워크플로우
- 목표 시작:
/goal 프론트엔드를 검토하고 표시된 UI 텍스트를 스페인어로 번역하기 - 에이전트가 작업을 수행하며 사이드바는 지속적으로 진행 상황을 표시.
- 목표가 완료되면 에이전트는
update_goal를 호출하고status: "complete"및 증거(예: 테스트 결과, PR 링크)를 제공. - 목표를 달성할 수 없는 경우, 에이전트는
update_goal를 호출하고status: "unmet"및 차단 요소 설명을 제공. - 언제든지
/goal pause,/goal resume,/goal clear로 목표를 일시정지, 재개, 삭제 가능.
설정 요약
auto_continue(기본값 true) – 세션이 일시정지 상태일 때 플러그인이 에이전트에게 자동으로 프롬프트를 계속 보내는지 여부.max_auto_turns(기본값 25) – 자동 재개 프롬프트가 실행될 수 있는 최대 횟수.default_token_budget– 새 목표에 대한 선택적 토큰 제한.restricted_agents(기본값"plan") – 계획 전용으로 취급되는 에이전트. 이들로부터 생성된 목표는 일시정지 상태로 시작.allow_goal_execution_from_plan–true로 설정하면 계획 모드 제한을 비활성화(권장되지 않음).
안전 메커니즘
- 예산 제한 – 토큰 또는 시간 예산이 소진되면 목표를 중단.
- 진전 없음 탐지 – 설정 가능한 낮은 출력 연속 턴 수 후 목표가 일시정지.
- 계획 모드 가드레일 – 계획 세션을 조용히 실행 세션으로 전환하는 것을 방지.
상태 지속성
목표 데이터는 XDG 데이터 디렉터리 아래의 JSON 파일에 저장(또는 ~/.local/share/...), 소유자 전용 권한으로 원자적으로 쓰여집니다. 충돌 시 이전 상태 또는 새로운 완전한 상태가 남아 신뢰할 수 있는 복구를 가능하게 합니다.
개발 및 배포
리포지토리는 빌드 및 테스트에 bun을 사용하며, GitHub Actions를 통해 신뢰된 게시를 통해 npm에 자동 배포됩니다. 패키지는 서버 훅용(./dist/server.js)과 TUI UI용(./src/tui.ts) 별도 모듈을 내보냅니다.
결론 – OpenCode로 수시간에 걸쳐 리팩터링, 마이그레이션, 테스트 수정 작업을 수행하고 AI가 단일이고 감사 가능한 목표에 집중되기를 원한다면, OpenCode Goal Plugin은 가볍고 구성 가능한 방법을 제공합니다.
관련
- 프로젝트
- 프로젝트
- 프로젝트
- 프로젝트
- 프로젝트