Compare commits

...

4 Commits

Author SHA1 Message Date
github-actions[bot]
04f33e584c release: v0.4.3 2025-12-13 03:22:29 +00:00
YeonGyu-Kim
8d76a57fe8 docs: add google_auth configuration section and update schema
- Add Google Auth subsection to Configuration in README.md/README.ko.md
- Add google_auth and lsp options to oh-my-opencode.schema.json

🤖 GENERATED WITH ASSISTANCE OF [OhMyOpenCode](https://github.com/code-yeongyu/oh-my-opencode)
2025-12-13 12:21:21 +09:00
github-actions[bot]
8db2bd3893 release: v0.4.2 2025-12-13 03:16:48 +00:00
YeonGyu-Kim
555abbc0d6 fix(google-auth): integrate into main package via config option
Fixes #30. OpenCode's plugin loader treats subpath exports like
"oh-my-opencode/google-auth" as separate npm packages, causing
BunInstallFailedError.

Solution: Enable Google auth via `google_auth: true` in
oh-my-opencode.json instead of a separate subpath plugin.

🤖 GENERATED WITH ASSISTANCE OF [OhMyOpenCode](https://github.com/code-yeongyu/oh-my-opencode)
2025-12-13 12:14:51 +09:00
6 changed files with 80 additions and 13 deletions

View File

@@ -43,7 +43,7 @@ OpenCode 가 낭만이 사라진것같은 오늘날의 시대에, 당신에게
- 이 플러그인은 [OpenCode Zen](https://opencode.ai/docs/zen/), Google, OpenAI, Anthropic 의 모델을 사용합니다.
- Anthropic 모델들을 사용하기 위해 [OpenCode 의 내장 Claude Code Max Plan 로그인 기능](https://opencode.ai/docs/providers/#anthropic)을 사용하세요.
- OpenAI 모델 (ChatGPT Plus/Pro)을 사용하기 위해 [OpenCode-OpenAI-Codex-Auth 플러그인](https://github.com/numman-ali/opencode-openai-codex-auth)을 설치하세요.
- Google Gemini 모델을 위해 `oh-my-opencode/google-auth` 플러그인을 추가하세요 (**내장 Antigravity OAuth**).
- Google Gemini 모델을 위해 `oh-my-opencode.json`에서 `google_auth: true`를 활성화하세요 (**내장 Antigravity OAuth**).
- 다른 프로바이더를 위해 [VibeProxy (macOS Only)](https://github.com/automazeio/vibeproxy) 또는 [CLIProxyAPI](https://github.com/router-for-me/CLIProxyAPI)를 대안으로 사용할 수 있습니다.
- **사실 밑의 내용은 읽지 않아도 됩니다. 그냥 설치하시면 됩니다. 모델 설정하고나면 추가로 공부하거나 알 필요가 없고, 설치하고 나면 그냥 더 좋아집니다.**
- **이 문서도 그냥 Claude Code, OpenCode, Cursor에 붙여넣고, 설치하고, 사용자의 개입이 필요할 때 알려달라고 프롬프팅하세요. 그럼 그냥 깔립니다.**
@@ -123,14 +123,11 @@ opencode auth login
#### 4.2 Google Gemini (내장 Antigravity OAuth)
먼저 google-auth 플러그인을 추가:
먼저 `~/.config/opencode/oh-my-opencode.json` (또는 프로젝트 레벨의 `.opencode/oh-my-opencode.json`)에서 Google auth를 활성화:
```json
{
"plugin": [
"oh-my-opencode",
"oh-my-opencode/google-auth"
]
"google_auth": true
}
```
@@ -444,6 +441,18 @@ Schema 자동 완성이 지원됩니다:
}
```
### Google Auth
Google Gemini 모델을 위한 내장 Antigravity OAuth를 활성화합니다:
```json
{
"google_auth": true
}
```
활성화하면 `opencode auth login` 실행 시 Google 프로바이더에서 "OAuth with Google (Antigravity)" 로그인 옵션이 표시됩니다.
### Agents
내장 에이전트 설정을 오버라이드할 수 있습니다:

View File

@@ -42,7 +42,7 @@ Even if you don't, invest a little time. Boost your skills and productivity by m
- This plugin utilizes models from [OpenCode Zen](https://opencode.ai/docs/zen/), Google, OpenAI, and Anthropic.
- For Anthropic models, use [OpenCode's built-in Claude Code Max Plan login](https://opencode.ai/docs/providers/#anthropic).
- For OpenAI models (ChatGPT Plus/Pro), install the [OpenCode-OpenAI-Codex-Auth plugin](https://github.com/numman-ali/opencode-openai-codex-auth).
- For Google Gemini models, add `oh-my-opencode/google-auth` plugin for **built-in Antigravity OAuth**.
- For Google Gemini models, enable `google_auth: true` in `oh-my-opencode.json` for **built-in Antigravity OAuth**.
- For other providers, [VibeProxy (macOS Only)](https://github.com/automazeio/vibeproxy) or [CLIProxyAPI](https://github.com/router-for-me/CLIProxyAPI) remain available as alternatives.
- **Truth be told, the rest is optional. Just install it. Once set up, no further learning is required. It simply evolves.**
- **Paste this document into Claude Code, OpenCode, or Cursor, instruct it to install, and ask for assistance if needed. It just installs.**
@@ -122,14 +122,11 @@ opencode auth login
#### 4.2 Google Gemini (Built-in Antigravity OAuth)
First, add the google-auth plugin:
First, enable Google auth in `~/.config/opencode/oh-my-opencode.json` (or `.opencode/oh-my-opencode.json` for project-level):
```json
{
"plugin": [
"oh-my-opencode",
"oh-my-opencode/google-auth"
]
"google_auth": true
}
```
@@ -442,6 +439,18 @@ Schema autocomplete is supported:
}
```
### Google Auth
Enable built-in Antigravity OAuth for Google Gemini models:
```json
{
"google_auth": true
}
```
When enabled, `opencode auth login` will show "OAuth with Google (Antigravity)" as a login option for the Google provider.
### Agents
Override built-in agent settings:

View File

@@ -155,6 +155,47 @@
}
}
},
"google_auth": {
"type": "boolean",
"description": "Enable built-in Antigravity OAuth for Google Gemini models. When true, adds 'OAuth with Google (Antigravity)' login option.",
"default": false
},
"lsp": {
"type": "object",
"description": "Additional LSP server configurations specific to Oh My OpenCode.",
"additionalProperties": {
"type": "object",
"properties": {
"command": {
"type": "array",
"items": { "type": "string" },
"description": "Command and arguments to start the LSP server"
},
"extensions": {
"type": "array",
"items": { "type": "string" },
"description": "File extensions this server handles (e.g., [\".ts\", \".tsx\"])"
},
"priority": {
"type": "number",
"description": "Server priority (higher = preferred)"
},
"env": {
"type": "object",
"additionalProperties": { "type": "string" },
"description": "Environment variables for the LSP server"
},
"initialization": {
"type": "object",
"description": "Custom initialization options"
},
"disabled": {
"type": "boolean",
"description": "Disable this LSP server"
}
}
}
},
"claude_code": {
"type": "object",
"description": "Toggle Claude Code compatibility features on/off. All default to true (enabled).",

View File

@@ -1,6 +1,6 @@
{
"name": "oh-my-opencode",
"version": "0.4.0",
"version": "0.4.3",
"description": "OpenCode plugin - custom agents (oracle, librarian) and enhanced features",
"main": "dist/index.js",
"types": "dist/index.d.ts",

View File

@@ -64,6 +64,7 @@ export const OhMyOpenCodeConfigSchema = z.object({
disabled_agents: z.array(AgentNameSchema).optional(),
agents: AgentOverridesSchema.optional(),
claude_code: ClaudeCodeConfigSchema.optional(),
google_auth: z.boolean().optional(),
})
export type OhMyOpenCodeConfig = z.infer<typeof OhMyOpenCodeConfigSchema>

View File

@@ -16,6 +16,7 @@ import {
createBackgroundNotificationHook,
createAutoUpdateCheckerHook,
} from "./hooks";
import { createGoogleAntigravityAuthPlugin } from "./auth/antigravity";
import {
loadUserCommands,
loadProjectCommands,
@@ -173,7 +174,13 @@ const OhMyOpenCodePlugin: Plugin = async (ctx) => {
const callOmoAgent = createCallOmoAgent(ctx, backgroundManager);
const googleAuthHooks = pluginConfig.google_auth
? await createGoogleAntigravityAuthPlugin(ctx)
: null;
return {
...(googleAuthHooks ? { auth: googleAuthHooks.auth } : {}),
tool: {
...builtinTools,
...backgroundTools,