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

docs: add describe annotation to snapshot config field (#17861)

Co-authored-by: Aiden Cline <[email protected]>
Kyle Altendorf 1 месяц назад
Родитель
Сommit
544315dff7
2 измененных файлов с 23 добавлено и 1 удалено
  1. 6 1
      packages/opencode/src/config/config.ts
  2. 17 0
      packages/web/src/content/docs/config.mdx

+ 6 - 1
packages/opencode/src/config/config.ts

@@ -1052,7 +1052,12 @@ export namespace Config {
         })
         .optional(),
       plugin: z.string().array().optional(),
-      snapshot: z.boolean().optional(),
+      snapshot: z
+        .boolean()
+        .optional()
+        .describe(
+          "Enable or disable snapshot tracking. When false, filesystem snapshots are not recorded and undoing or reverting will not undo/redo file changes. Defaults to true.",
+        ),
       share: z
         .enum(["manual", "auto", "disabled"])
         .optional()

+ 17 - 0
packages/web/src/content/docs/config.mdx

@@ -424,6 +424,23 @@ Customize keybinds in `tui.json`.
 
 ---
 
+### Snapshot
+
+OpenCode uses snapshots to track file changes during agent operations, enabling you to undo and revert changes within a session. Snapshots are enabled by default.
+
+For large repositories or projects with many submodules, the snapshot system can cause slow indexing and significant disk usage as it tracks all changes using an internal git repository. You can disable snapshots using the `snapshot` option.
+
+```json title="opencode.json"
+{
+  "$schema": "https://opencode.ai/config.json",
+  "snapshot": false
+}
+```
+
+Note that disabling snapshots means changes made by the agent cannot be rolled back through the UI.
+
+---
+
 ### Autoupdate
 
 OpenCode will automatically download any new updates when it starts up. You can disable this with the `autoupdate` option.