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-plugin
    
    패키지 이름을 opencode.jsontui.jsonplugin 배열에 추가.
  • OpenCode 2(베타판)의 경우:
    {
      "plugins": [
        {
          "package": "@prevalentware/opencode-goal-plugin",
          "options": { "auto_continue": true }
        }
      ]
    }
    
    항목을 opencode.json(서버) 및 ~/.config/opencode/cli.json(UI)에 배치.

일반 워크플로우

  1. 목표 시작:
    /goal 프론트엔드를 검토하고 표시된 UI 텍스트를 스페인어로 번역하기
    
  2. 에이전트가 작업을 수행하며 사이드바는 지속적으로 진행 상황을 표시.
  3. 목표가 완료되면 에이전트는 update_goal를 호출하고 status: "complete" 및 증거(예: 테스트 결과, PR 링크)를 제공.
  4. 목표를 달성할 수 없는 경우, 에이전트는 update_goal를 호출하고 status: "unmet" 및 차단 요소 설명을 제공.
  5. 언제든지 /goal pause, /goal resume, /goal clear로 목표를 일시정지, 재개, 삭제 가능.

설정 요약

  • auto_continue (기본값 true) – 세션이 일시정지 상태일 때 플러그인이 에이전트에게 자동으로 프롬프트를 계속 보내는지 여부.
  • max_auto_turns (기본값 25) – 자동 재개 프롬프트가 실행될 수 있는 최대 횟수.
  • default_token_budget – 새 목표에 대한 선택적 토큰 제한.
  • restricted_agents (기본값 "plan") – 계획 전용으로 취급되는 에이전트. 이들로부터 생성된 목표는 일시정지 상태로 시작.
  • allow_goal_execution_from_plantrue로 설정하면 계획 모드 제한을 비활성화(권장되지 않음).

안전 메커니즘

  • 예산 제한 – 토큰 또는 시간 예산이 소진되면 목표를 중단.
  • 진전 없음 탐지 – 설정 가능한 낮은 출력 연속 턴 수 후 목표가 일시정지.
  • 계획 모드 가드레일 – 계획 세션을 조용히 실행 세션으로 전환하는 것을 방지.

상태 지속성 목표 데이터는 XDG 데이터 디렉터리 아래의 JSON 파일에 저장(또는 ~/.local/share/...), 소유자 전용 권한으로 원자적으로 쓰여집니다. 충돌 시 이전 상태 또는 새로운 완전한 상태가 남아 신뢰할 수 있는 복구를 가능하게 합니다.

개발 및 배포 리포지토리는 빌드 및 테스트에 bun을 사용하며, GitHub Actions를 통해 신뢰된 게시를 통해 npm에 자동 배포됩니다. 패키지는 서버 훅용(./dist/server.js)과 TUI UI용(./src/tui.ts) 별도 모듈을 내보냅니다.


결론 – OpenCode로 수시간에 걸쳐 리팩터링, 마이그레이션, 테스트 수정 작업을 수행하고 AI가 단일이고 감사 가능한 목표에 집중되기를 원한다면, OpenCode Goal Plugin은 가볍고 구성 가능한 방법을 제공합니다.

관련

  • 프로젝트
  • 프로젝트
  • 프로젝트
  • 프로젝트
  • 프로젝트