oh-my-opencode 1.1.9 → 1.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.ko.md CHANGED
@@ -452,13 +452,20 @@ Oh My OpenCode는 다음 위치의 훅을 읽고 실행합니다:
452
452
 
453
453
  에이전트들이 행복해지면, 당신이 제일 행복해집니다, 그렇지만 저는 당신도 돕고싶습니다.
454
454
 
455
- - **Ultrawork Mode**: 사용자가 "ultrawork" 또는 "ulw" 키워드를 입력하면 자동으로 에이전트 오케스트레이션 가이드를 주입합니다. 메인 에이전트가 모든 가용한 전문 에이전트(탐색, 사서, 계획, UI)를 백그라운드 작업을 통해 병렬로 최대한 활용하도록 강제하며, 엄격한 TODO 추적 및 검증 프로토콜을 따르게 합니다. 그냥 ultrawork 하세요. 말한 모든 기능이 최대로 활용되도록 에이전트가 최적화됩니다.
455
+ - **Keyword Detector**: 프롬프트의 키워드를 자동 감지하여 전문 모드를 활성화합니다:
456
+ - `ultrawork` / `ulw`: 병렬 에이전트 오케스트레이션으로 최대 성능 모드
457
+ - `search` / `find` / `찾아` / `検索`: 병렬 explore/librarian 에이전트로 검색 극대화
458
+ - `analyze` / `investigate` / `분석` / `調査`: 다단계 전문가 상담으로 심층 분석 모드
456
459
  - **Todo Continuation Enforcer**: 에이전트가 멈추기 전 모든 TODO 항목을 완료하도록 강제합니다. LLM의 고질적인 "중도 포기" 문제를 방지합니다.
457
460
  - **Comment Checker**: 학습 과정의 습관 때문일까요. LLM 들은 주석이 너무 많습니다. LLM 들이 쓸모없는 주석을 작성하지 않도록 상기시킵니다. BDD 패턴, 지시어, 독스트링 등 유효한 주석은 똑똑하게 제외하고, 그렇지 않는 주석들에 대해 해명을 요구하며 깔끔한 코드를 구성하게 합니다.
458
461
  - **Think Mode**: 확장된 사고(Extended Thinking)가 필요한 상황을 자동으로 감지하고 모드를 전환합니다. 사용자가 깊은 사고를 요청하는 표현(예: "think deeply", "ultrathink")을 감지하면, 추론 능력을 극대화하도록 모델 설정을 동적으로 조정합니다.
459
462
  - **Context Window Monitor**: [컨텍스트 윈도우 불안 관리](https://agentic-patterns.com/patterns/context-window-anxiety-management/) 패턴을 구현합니다.
460
463
  - 사용량이 70%를 넘으면 에이전트에게 아직 토큰이 충분하다고 상기시켜, 급하게 불완전한 작업을 하는 것을 완화합니다.
461
- - OpenCode 에서 누락되거나 부족하다고 느끼는 안정성 보강 기능들이 내장되어있습니다. 클로드 코드에서의 안정적인 경험을 그대로 가져갈 있습니다. 돌다가 세션이 망가지지 않습니다. 망가져도 복구됩니다.
464
+ - **Agent Usage Reminder**: 검색 도구를 직접 호출할 때, 백그라운드 작업을 통한 전문 에이전트 활용을 권장하는 리마인더를 표시합니다.
465
+ - **Anthropic Auto Compact**: Claude 모델이 토큰 제한에 도달하면 자동으로 세션을 요약하고 압축합니다. 수동 개입 없이 작업을 계속할 수 있습니다.
466
+ - **Session Recovery**: 세션 에러(누락된 도구 결과, thinking 블록 문제, 빈 메시지 등)에서 자동 복구합니다. 돌다가 세션이 망가지지 않습니다. 망가져도 복구됩니다.
467
+ - **Auto Update Checker**: oh-my-opencode의 새 버전이 출시되면 알림을 표시합니다.
468
+ - **Background Notification**: 백그라운드 에이전트 작업이 완료되면 알림을 받습니다.
462
469
 
463
470
  ## 설정
464
471
 
@@ -516,7 +523,19 @@ Google Gemini 모델을 위한 내장 Antigravity OAuth를 활성화합니다:
516
523
  }
517
524
  ```
518
525
 
519
- 사용 가능한 에이전트: `oracle`, `librarian`, `explore`, `frontend-ui-ux-engineer`, `document-writer`
526
+ 사용 가능한 에이전트: `oracle`, `librarian`, `explore`, `frontend-ui-ux-engineer`, `document-writer`, `multimodal-looker`
527
+
528
+ ### Hooks
529
+
530
+ `~/.config/opencode/oh-my-opencode.json` 또는 `.opencode/oh-my-opencode.json`의 `disabled_hooks`를 통해 특정 내장 훅을 비활성화할 수 있습니다:
531
+
532
+ ```json
533
+ {
534
+ "disabled_hooks": ["comment-checker", "agent-usage-reminder"]
535
+ }
536
+ ```
537
+
538
+ 사용 가능한 훅: `todo-continuation-enforcer`, `context-window-monitor`, `session-recovery`, `session-notification`, `comment-checker`, `grep-output-truncator`, `tool-output-truncator`, `directory-agents-injector`, `directory-readme-injector`, `empty-task-response-detector`, `think-mode`, `anthropic-auto-compact`, `rules-injector`, `background-notification`, `auto-update-checker`, `startup-toast`, `keyword-detector`, `agent-usage-reminder`
520
539
 
521
540
  ### MCPs
522
541
 
package/README.md CHANGED
@@ -453,13 +453,20 @@ All toggles default to `true` (enabled). Omit the `claude_code` object for full
453
453
 
454
454
  When agents thrive, you thrive. But I want to help you directly too.
455
455
 
456
- - **Ultrawork Mode**: Type "ultrawork" or "ulw" and agent orchestration kicks in. Forces the main agent to max out all available specialists (explore, librarian, plan, UI) via background tasks in parallel, with strict TODO tracking and verification. Just ultrawork. Everything fires at full capacity.
456
+ - **Keyword Detector**: Automatically detects keywords in your prompts and activates specialized modes:
457
+ - `ultrawork` / `ulw`: Maximum performance mode with parallel agent orchestration
458
+ - `search` / `find` / `찾아` / `検索`: Maximized search effort with parallel explore and librarian agents
459
+ - `analyze` / `investigate` / `분석` / `調査`: Deep analysis mode with multi-phase expert consultation
457
460
  - **Todo Continuation Enforcer**: Makes agents finish all TODOs before stopping. Kills the chronic LLM habit of quitting halfway.
458
461
  - **Comment Checker**: LLMs love comments. Too many comments. This reminds them to cut the noise. Smartly ignores valid patterns (BDD, directives, docstrings) and demands justification for the rest. Clean code wins.
459
462
  - **Think Mode**: Auto-detects when extended thinking is needed and switches modes. Catches phrases like "think deeply" or "ultrathink" and dynamically adjusts model settings for maximum reasoning.
460
463
  - **Context Window Monitor**: Implements [Context Window Anxiety Management](https://agentic-patterns.com/patterns/context-window-anxiety-management/).
461
464
  - At 70%+ usage, reminds agents there's still headroom—prevents rushed, sloppy work.
462
- - Stability features that felt missing in OpenCode are built in. The Claude Code experience, transplanted. Sessions don't crash mid-run. Even if they do, they recover.
465
+ - **Agent Usage Reminder**: When you call search tools directly, reminds you to leverage specialized agents via background tasks for better results.
466
+ - **Anthropic Auto Compact**: When Claude models hit token limits, automatically summarizes and compacts the session—no manual intervention needed.
467
+ - **Session Recovery**: Automatically recovers from session errors (missing tool results, thinking block issues, empty messages). Sessions don't crash mid-run. Even if they do, they recover.
468
+ - **Auto Update Checker**: Notifies you when a new version of oh-my-opencode is available.
469
+ - **Background Notification**: Get notified when background agent tasks complete.
463
470
 
464
471
  ## Configuration
465
472
 
@@ -517,7 +524,19 @@ Or disable via `disabled_agents` in `~/.config/opencode/oh-my-opencode.json` or
517
524
  }
518
525
  ```
519
526
 
520
- Available agents: `oracle`, `librarian`, `explore`, `frontend-ui-ux-engineer`, `document-writer`
527
+ Available agents: `oracle`, `librarian`, `explore`, `frontend-ui-ux-engineer`, `document-writer`, `multimodal-looker`
528
+
529
+ ### Hooks
530
+
531
+ Disable specific built-in hooks via `disabled_hooks` in `~/.config/opencode/oh-my-opencode.json` or `.opencode/oh-my-opencode.json`:
532
+
533
+ ```json
534
+ {
535
+ "disabled_hooks": ["comment-checker", "agent-usage-reminder"]
536
+ }
537
+ ```
538
+
539
+ Available hooks: `todo-continuation-enforcer`, `context-window-monitor`, `session-recovery`, `session-notification`, `comment-checker`, `grep-output-truncator`, `tool-output-truncator`, `directory-agents-injector`, `directory-readme-injector`, `empty-task-response-detector`, `think-mode`, `anthropic-auto-compact`, `rules-injector`, `background-notification`, `auto-update-checker`, `startup-toast`, `keyword-detector`, `agent-usage-reminder`
521
540
 
522
541
  ### MCPs
523
542
 
@@ -2,4 +2,3 @@ import type { AgentConfig } from "@opencode-ai/sdk";
2
2
  export declare const builtinAgents: Record<string, AgentConfig>;
3
3
  export * from "./types";
4
4
  export { createBuiltinAgents } from "./utils";
5
- export { BUILD_AGENT_PROMPT_EXTENSION } from "./build";
@@ -0,0 +1,2 @@
1
+ import type { AgentConfig } from "@opencode-ai/sdk";
2
+ export declare const lookAtAgent: AgentConfig;
@@ -0,0 +1,2 @@
1
+ import type { AgentConfig } from "@opencode-ai/sdk";
2
+ export declare const omoAgent: AgentConfig;
@@ -1,5 +1,5 @@
1
1
  import type { AgentConfig } from "@opencode-ai/sdk";
2
- export type BuiltinAgentName = "oracle" | "librarian" | "explore" | "frontend-ui-ux-engineer" | "document-writer" | "multimodal-looker";
2
+ export type BuiltinAgentName = "OmO" | "oracle" | "librarian" | "explore" | "frontend-ui-ux-engineer" | "document-writer" | "multimodal-looker";
3
3
  export type OverridableAgentName = "build" | BuiltinAgentName;
4
4
  export type AgentName = BuiltinAgentName;
5
5
  export type AgentOverrideConfig = Partial<AgentConfig>;
@@ -1,2 +1,2 @@
1
- export { OhMyOpenCodeConfigSchema, AgentOverrideConfigSchema, AgentOverridesSchema, McpNameSchema, AgentNameSchema, HookNameSchema, } from "./schema";
2
- export type { OhMyOpenCodeConfig, AgentOverrideConfig, AgentOverrides, McpName, AgentName, HookName, } from "./schema";
1
+ export { OhMyOpenCodeConfigSchema, AgentOverrideConfigSchema, AgentOverridesSchema, McpNameSchema, AgentNameSchema, HookNameSchema, OmoAgentConfigSchema, } from "./schema";
2
+ export type { OhMyOpenCodeConfig, AgentOverrideConfig, AgentOverrides, McpName, AgentName, HookName, OmoAgentConfig, } from "./schema";
@@ -41,6 +41,7 @@ export declare const HookNameSchema: z.ZodEnum<{
41
41
  "anthropic-auto-compact": "anthropic-auto-compact";
42
42
  "background-notification": "background-notification";
43
43
  "auto-update-checker": "auto-update-checker";
44
+ "startup-toast": "startup-toast";
44
45
  "keyword-detector": "keyword-detector";
45
46
  }>;
46
47
  export declare const AgentOverrideConfigSchema: z.ZodObject<{
@@ -420,6 +421,9 @@ export declare const ClaudeCodeConfigSchema: z.ZodObject<{
420
421
  agents: z.ZodOptional<z.ZodBoolean>;
421
422
  hooks: z.ZodOptional<z.ZodBoolean>;
422
423
  }, z.core.$strip>;
424
+ export declare const OmoAgentConfigSchema: z.ZodObject<{
425
+ disable_build: z.ZodOptional<z.ZodBoolean>;
426
+ }, z.core.$strip>;
423
427
  export declare const OhMyOpenCodeConfigSchema: z.ZodObject<{
424
428
  $schema: z.ZodOptional<z.ZodString>;
425
429
  disabled_mcps: z.ZodOptional<z.ZodArray<z.ZodEnum<{
@@ -452,6 +456,7 @@ export declare const OhMyOpenCodeConfigSchema: z.ZodObject<{
452
456
  "anthropic-auto-compact": "anthropic-auto-compact";
453
457
  "background-notification": "background-notification";
454
458
  "auto-update-checker": "auto-update-checker";
459
+ "startup-toast": "startup-toast";
455
460
  "keyword-detector": "keyword-detector";
456
461
  }>>>;
457
462
  agents: z.ZodOptional<z.ZodObject<{
@@ -786,10 +791,14 @@ export declare const OhMyOpenCodeConfigSchema: z.ZodObject<{
786
791
  hooks: z.ZodOptional<z.ZodBoolean>;
787
792
  }, z.core.$strip>>;
788
793
  google_auth: z.ZodOptional<z.ZodBoolean>;
794
+ omo_agent: z.ZodOptional<z.ZodObject<{
795
+ disable_build: z.ZodOptional<z.ZodBoolean>;
796
+ }, z.core.$strip>>;
789
797
  }, z.core.$strip>;
790
798
  export type OhMyOpenCodeConfig = z.infer<typeof OhMyOpenCodeConfigSchema>;
791
799
  export type AgentOverrideConfig = z.infer<typeof AgentOverrideConfigSchema>;
792
800
  export type AgentOverrides = z.infer<typeof AgentOverridesSchema>;
793
801
  export type AgentName = z.infer<typeof AgentNameSchema>;
794
802
  export type HookName = z.infer<typeof HookNameSchema>;
803
+ export type OmoAgentConfig = z.infer<typeof OmoAgentConfigSchema>;
795
804
  export { McpNameSchema, type McpName } from "../mcp/types";