feat(skills): add agent-browser option for browser automation (#1090)

Add configurable browser automation allowing users to choose between
Playwright MCP (default) and Vercel's agent-browser CLI.

Changes:
- Add browser_automation_engine.provider config option
- Dynamic skill loading based on provider selection
- Comprehensive agent-browser CLI reference (inline in skills.ts)
- Propagate browserProvider to delegate_task and buildAgent
- Update documentation with provider comparison

Co-authored-by: Suyeol Jeon <devxoul@gmail.com>
Co-authored-by: YeonGyu Kim <code.yeongyu@gmail.com>
This commit is contained in:
YeonGyu-Kim
2026-01-25 15:02:41 +09:00
committed by GitHub
parent 9f830e7f98
commit 893bd8b153
17 changed files with 1155 additions and 38 deletions
+3 -1
View File
@@ -243,6 +243,7 @@ const OhMyOpenCodePlugin: Plugin = async (ctx) => {
"multimodal-looker"
);
const lookAt = isMultimodalLookerEnabled ? createLookAt(ctx) : null;
const browserProvider = pluginConfig.browser_automation_engine?.provider ?? "playwright";
const delegateTask = createDelegateTask({
manager: backgroundManager,
client: ctx.client,
@@ -250,10 +251,11 @@ const OhMyOpenCodePlugin: Plugin = async (ctx) => {
userCategories: pluginConfig.categories,
gitMasterConfig: pluginConfig.git_master,
sisyphusJuniorModel: pluginConfig.agents?.["sisyphus-junior"]?.model,
browserProvider,
});
const disabledSkills = new Set(pluginConfig.disabled_skills ?? []);
const systemMcpNames = getSystemMcpServerNames();
const builtinSkills = createBuiltinSkills().filter((skill) => {
const builtinSkills = createBuiltinSkills({ browserProvider }).filter((skill) => {
if (disabledSkills.has(skill.name as never)) return false;
if (skill.mcpConfig) {
for (const mcpName of Object.keys(skill.mcpConfig)) {