Files
deepseek-harness/packages/experimental/forge-bundle/README.md
T
Yichen Jiang 481641b1b9 feat(worktrees): add the retain-on-archive switch
`retainOnArchive`, a volatile field of the worktree service's Config, skips
cleanup admission while it is on; it is read at each archive, so a change
applies to later archives only. The service keeps its instance off the
generated Settings pages, and the Forge client draws the switch as the
`plugins.row.config` page of the bundle's `worktree` row, staged through
the shared Plugins form until one explicit save.

Docs: the worktree, Forge, and bundle READMEs, the archive-worktrees
upgrade guide, the config and client catalogs, and the
explicit-worktree-creation note.
2026-11-05 16:51:29 +08:00

4.2 KiB
Raw Blame History

description, kind
description kind
Enable the change request panel and worktree Sessions from the Plugins page. package-bundle

@deepseek-ai/dsh-experimental-forge-bundle

English | 中文

Summary

Review each Session's change requests, checks, and diffs, start a new Session in a Git worktree, or ask the model to create one during a conversation. Enable Change requests & worktrees on the Web or Desktop Plugins page; shipped profiles leave it disabled. GitHub status comes from the Host's signed-in gh CLI; local worktree creation does not require GitHub authentication.

Table of Contents


Use this package

Open Plugins and enable Change requests & worktrees in the Official group. In a Git workspace, check Worktree in the composer before the first message to start the Session in a new worktree. In a Session whose directory is inside a Git checkout, the header button opens the panel. GitHub pull requests that the Session creates with gh pr create, opens with gh pr view, gh pr edit, or gh pr checkout, or works on as its branch or updates with a later git push, appear as change requests without further steps. Run gh auth login --hostname <host> in a terminal to sign in; the panel shows the command when sign-in is missing. The panel package describes each control.

The same switch enables the model's create_worktree tool. Turning it off removes both the panel and the tool while retaining existing checkouts and branches. For profiles that already selected the standalone worktree bundle, follow the upgrade guide before enabling this bundle.


Understand the implementation

Maintainer details — click to expand

The bundle mounts the forge registry, GitHub provider, Session bindings, the worktree model tool, and the panel as six top-level rows. The tool and the panel share the one worktree service, so one worktree row override configures both, and one archive of a Session reclaims its checkout once; the row's Keep worktrees when archiving switch on the Plugins page turns the cleanup off for both. The panel records worktrees requested before a Session starts; model-created worktrees do not acquire the panel's recovery records, but both kinds take part in archive cleanup. The rows use the Session projection, working-directory, filesystem, subprocess, and sandbox services from base-backed profiles; archive cleanup also needs the Workspace registry and Session query of those profiles.


Further Exploration

Forge subsystem · Session bindings · Panel


Model Experience

Indirectly, through the create_worktree tool and the panel’s directory notice for Sessions that start in a worktree.

KV Cache effect

Enabling or disabling the bundle changes the model's tool schema list. Calls append tool results and directory context; see the tool's cache behavior.

Known Limitations and Deferred Work

  • GitHub is the only code host provider, and the bundle serves github.com only; a GitHub Enterprise host needs a profile patch that lists it in the forge-github row's hosts. No provider recognizes GitLab or other hosts.
  • The model has no tool for bound change requests yet.

Dev Note

Working context for maintainers — click to expand

None.