You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
description: Sync qwen-code packages/desktop with modelstudioai/openwork using commit-by-commit path migration, not subtree split or tree overwrite. Use when exporting qwen-code desktop changes to OpenWork, importing OpenWork desktop changes into qwen-code, preserving target-owned overlay files such as README.md, resolving sync conflicts, or preparing sync PR branches between the two repositories.
4
+
---
5
+
6
+
# OpenWork Desktop Sync
7
+
8
+
Use this skill to sync desktop changes between this qwen-code repo and an
9
+
OpenWork checkout. The repository script owns the Git mechanics:
10
+
11
+
```bash
12
+
OPENWORK_DIR=/path/to/openwork bun run desktop-openwork-sync --mode export
13
+
```
14
+
15
+
Default overlay is `README.md`. Overlay paths are excluded from migrated
16
+
commits and stay target-owned.
17
+
18
+
```bash
19
+
OPENWORK_OVERLAY_PATHS='README.md'
20
+
```
21
+
22
+
## Contract
23
+
24
+
This is commit-by-commit path migration, not snapshot replacement. The script
25
+
walks source commits from `source-base..source-head`, rewrites paths between
26
+
qwen-code `packages/desktop` and the OpenWork repository root, then applies each
27
+
commit with `git apply -3`.
28
+
29
+
Commits that already came from the receiving repository are skipped by their
30
+
sync trailers. During import, qwen-code-origin export commits are skipped;
31
+
during export, OpenWork-origin import commits are skipped.
32
+
33
+
Merge commits are not migrated as merge commits. The script migrates the regular
34
+
commits inside the merged branch; when it later sees the merge wrapper, it
35
+
checks that the regular commits were already handled and that the merge tree
36
+
matches Git's automatic merge result. If the merge wrapper contains manual
37
+
resolution changes, the sync stops so the agent can convert that resolution into
38
+
a normal follow-up commit.
39
+
40
+
Target-side changes are preserved unless a migrated source commit touches the
41
+
same hunk. If that happens, Git leaves a normal conflict for the agent to
42
+
resolve. Do not use `git subtree split` or full tree replacement for normal
43
+
sync.
44
+
45
+
Successful sync commits include trailers such as `Qwen-Code-Commit` or
46
+
`OpenWork-Commit`. Later syncs can use the latest trailer as the next source
47
+
base. The first sync needs an explicit source base when no previous sync trailer
48
+
exists:
49
+
50
+
```bash
51
+
bun run desktop-openwork-sync --mode export --source-base <qwen-code-ref>
52
+
bun run desktop-openwork-sync --mode import --source-base <openwork-ref>
Copy file name to clipboardExpand all lines: docs/users/configuration/settings.md
-2Lines changed: 0 additions & 2 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -86,7 +86,6 @@ Settings are organized into categories. Most settings should be placed within th
86
86
|`general.sessionRecapAwayThresholdMinutes`| number | Minutes the terminal must be blurred before an auto-recap fires on focus-in. Only used when `showSessionRecap` is enabled. |`5`|
87
87
|`general.gitCoAuthor.commit`| boolean | Add a Co-authored-by trailer to git commit messages AND attach a per-file AI-attribution git note (`refs/notes/ai-attribution`) for commits made through Qwen Code. Disabling skips both. |`true`|
88
88
|`general.gitCoAuthor.pr`| boolean | Append a Qwen Code attribution line to pull request descriptions when running `gh pr create`. |`true`|
89
-
|`general.checkpointing.enabled`| boolean | Enable session checkpointing for recovery. |`false`|
90
89
|`general.defaultFileEncoding`| string | Default encoding for new files. Use `"utf-8"` (default) for UTF-8 without BOM, or `"utf-8-bom"` for UTF-8 with BOM. Only change this if your project specifically requires BOM. |`"utf-8"`|
91
90
|`general.cleanupPeriodDays`| number | Days to retain `~/.qwen/file-history/` session backups used by `/rewind`. Backups older than this are removed by a background pass that runs at most once per day. `0` = minimum retention (~1 hour): keeps sessions touched in the last hour plus the currently active one. Changes take effect after restart. |`30`|
92
91
@@ -638,7 +637,6 @@ For sandbox image selection, precedence is:
638
637
|`--telemetry-otlp-endpoint`|| Sets the OTLP endpoint for telemetry. || See [telemetry](../../developers/development/telemetry) for more information. |
639
638
|`--telemetry-otlp-protocol`|| Sets the OTLP protocol for telemetry (`grpc` or `http`). || Defaults to `grpc`. See [telemetry](../../developers/development/telemetry) for more information. |
640
639
|`--telemetry-log-prompts`|| Enables logging of prompts for telemetry. || See [telemetry](../../developers/development/telemetry) for more information. |
|`--acp`|| Enables ACP mode (Agent Client Protocol). Useful for IDE/editor integrations like [Zed](../integration-zed). || Stable. Replaces the deprecated `--experimental-acp` flag. |
643
641
|`--experimental-lsp`|| Enables experimental [LSP (Language Server Protocol)](../features/lsp) feature for code intelligence (go-to-definition, find references, diagnostics, etc.). || Experimental. Requires language servers to be installed. |
644
642
|`--extensions`|`-e`| Specifies a list of extensions to use for the session. | Extension names | If not provided, all available extensions are used. Use the special term `qwen -e none` to disable all extensions. Example: `qwen -e my-extension -e my-other-extension`|
0 commit comments