Просмотр исходного кода

feat: restore experimental flag for websearch/codesearch tools (#5132)

Co-authored-by: opencode-agent[bot] <opencode-agent[bot]@users.noreply.github.com>
Co-authored-by: rekram1-node <[email protected]>
Ben Vargas 2 месяцев назад
Родитель
Сommit
419983c0f1
2 измененных файлов с 6 добавлено и 1 удалено
  1. 2 0
      packages/opencode/src/flag/flag.ts
  2. 4 1
      packages/opencode/src/tool/registry.ts

+ 2 - 0
packages/opencode/src/flag/flag.ts

@@ -18,6 +18,8 @@ export namespace Flag {
   export const OPENCODE_EXPERIMENTAL = truthy("OPENCODE_EXPERIMENTAL")
   export const OPENCODE_EXPERIMENTAL_WATCHER = OPENCODE_EXPERIMENTAL || truthy("OPENCODE_EXPERIMENTAL_WATCHER")
   export const OPENCODE_EXPERIMENTAL_DISABLE_COPY_ON_SELECT = truthy("OPENCODE_EXPERIMENTAL_DISABLE_COPY_ON_SELECT")
+  export const OPENCODE_ENABLE_EXA =
+    truthy("OPENCODE_ENABLE_EXA") || OPENCODE_EXPERIMENTAL || truthy("OPENCODE_EXPERIMENTAL_EXA")
 
   function truthy(key: string) {
     const value = process.env[key]?.toLowerCase()

+ 4 - 1
packages/opencode/src/tool/registry.ts

@@ -113,7 +113,10 @@ export namespace ToolRegistry {
     const result = await Promise.all(
       tools
         .filter((t) => {
-          if (t.id === "codesearch" || t.id === "websearch") return providerID === "opencode"
+          // Enable websearch/codesearch for zen users OR via enable flag
+          if (t.id === "codesearch" || t.id === "websearch") {
+            return providerID === "opencode" || Flag.OPENCODE_ENABLE_EXA
+          }
           return true
         })
         .map(async (t) => ({