wangchuan 5.9.1 → 5.10.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/bin/wangchuan.js +1 -1
- package/dist/bin/wangchuan.js.map +1 -1
- package/dist/src/commands/doctor.d.ts.map +1 -1
- package/dist/src/commands/doctor.js +3 -4
- package/dist/src/commands/doctor.js.map +1 -1
- package/dist/src/commands/init.js +7 -4
- package/dist/src/commands/init.js.map +1 -1
- package/dist/src/core/crypto.d.ts.map +1 -1
- package/dist/src/core/crypto.js +5 -1
- package/dist/src/core/crypto.js.map +1 -1
- package/dist/src/core/migrate.d.ts.map +1 -1
- package/dist/src/core/migrate.js +48 -4
- package/dist/src/core/migrate.js.map +1 -1
- package/dist/src/core/shared-registry.d.ts +3 -1
- package/dist/src/core/shared-registry.d.ts.map +1 -1
- package/dist/src/core/shared-registry.js +22 -4
- package/dist/src/core/shared-registry.js.map +1 -1
- package/dist/src/core/sync-restore.d.ts.map +1 -1
- package/dist/src/core/sync-restore.js +9 -2
- package/dist/src/core/sync-restore.js.map +1 -1
- package/dist/src/core/sync-shared.d.ts.map +1 -1
- package/dist/src/core/sync-shared.js +45 -15
- package/dist/src/core/sync-shared.js.map +1 -1
- package/dist/src/core/sync-stage.d.ts.map +1 -1
- package/dist/src/core/sync-stage.js +2 -0
- package/dist/src/core/sync-stage.js.map +1 -1
- package/dist/src/core/sync.d.ts.map +1 -1
- package/dist/src/core/sync.js +17 -2
- package/dist/src/core/sync.js.map +1 -1
- package/dist/src/i18n.d.ts.map +1 -1
- package/dist/src/i18n.js +3 -0
- package/dist/src/i18n.js.map +1 -1
- package/dist/test/migrate.test.js +45 -0
- package/dist/test/migrate.test.js.map +1 -1
- package/package.json +1 -1
- package/skill/SKILL.md +3 -3
- package/skill/references/environment.md +32 -1
- package/skill/references/resource-crud.md +1 -1
|
@@ -87,6 +87,51 @@ describe('ensureMigrated — v2 config reconciliation', () => {
|
|
|
87
87
|
const result = ensureMigrated(cfg);
|
|
88
88
|
assert.deepEqual(result.profiles.default.claude.syncFiles, latestClaudeFiles);
|
|
89
89
|
});
|
|
90
|
+
it('preserves user-added syncDirs not in built-in definitions', () => {
|
|
91
|
+
const defaults = buildDefaultProfiles();
|
|
92
|
+
const latestDirs = defaults.claude.syncDirs ?? [];
|
|
93
|
+
const userCustomDir = { src: 'my-custom-dir/', encrypt: false };
|
|
94
|
+
// User config has built-in dirs + one custom dir
|
|
95
|
+
const cfg = buildTestConfig({
|
|
96
|
+
claude: { syncDirs: [...latestDirs, userCustomDir] },
|
|
97
|
+
});
|
|
98
|
+
const result = ensureMigrated(cfg);
|
|
99
|
+
const dirs = result.profiles.default.claude.syncDirs ?? [];
|
|
100
|
+
// All built-in dirs present
|
|
101
|
+
for (const d of latestDirs) {
|
|
102
|
+
assert.ok(dirs.some(x => x.src === d.src), `built-in dir ${d.src} should be present`);
|
|
103
|
+
}
|
|
104
|
+
// User custom dir preserved
|
|
105
|
+
assert.ok(dirs.some(x => x.src === 'my-custom-dir/'), 'user custom syncDir should be preserved');
|
|
106
|
+
});
|
|
107
|
+
it('preserves user-added syncFiles not in built-in definitions', () => {
|
|
108
|
+
const defaults = buildDefaultProfiles();
|
|
109
|
+
const latestFiles = defaults.openclaw.syncFiles;
|
|
110
|
+
const userCustomFile = { src: 'MY_NOTES.md', encrypt: false };
|
|
111
|
+
const cfg = buildTestConfig({
|
|
112
|
+
openclaw: { syncFiles: [...latestFiles, userCustomFile] },
|
|
113
|
+
});
|
|
114
|
+
const result = ensureMigrated(cfg);
|
|
115
|
+
const files = result.profiles.default.openclaw.syncFiles;
|
|
116
|
+
for (const f of latestFiles) {
|
|
117
|
+
assert.ok(files.some(x => x.src === f.src), `built-in file ${f.src} should be present`);
|
|
118
|
+
}
|
|
119
|
+
assert.ok(files.some(x => x.src === 'MY_NOTES.md'), 'user custom syncFile should be preserved');
|
|
120
|
+
});
|
|
121
|
+
it('preserves user-added jsonFields not in built-in definitions', () => {
|
|
122
|
+
const defaults = buildDefaultProfiles();
|
|
123
|
+
const latestFields = defaults.claude.jsonFields ?? [];
|
|
124
|
+
const userCustomField = { src: 'custom.json', fields: ['foo'], repoName: 'custom-sync.json', encrypt: true };
|
|
125
|
+
const cfg = buildTestConfig({
|
|
126
|
+
claude: { jsonFields: [...latestFields, userCustomField] },
|
|
127
|
+
});
|
|
128
|
+
const result = ensureMigrated(cfg);
|
|
129
|
+
const fields = result.profiles.default.claude.jsonFields ?? [];
|
|
130
|
+
for (const f of latestFields) {
|
|
131
|
+
assert.ok(fields.some(x => x.src === f.src), `built-in field ${f.src} should be present`);
|
|
132
|
+
}
|
|
133
|
+
assert.ok(fields.some(x => x.src === 'custom.json'), 'user custom jsonField should be preserved');
|
|
134
|
+
});
|
|
90
135
|
it('result contains all agent names', () => {
|
|
91
136
|
const cfg = buildTestConfig();
|
|
92
137
|
const result = ensureMigrated(cfg);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"migrate.test.js","sourceRoot":"","sources":["../../test/migrate.test.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"migrate.test.js","sourceRoot":"","sources":["../../test/migrate.test.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
package/skill/SKILL.md
CHANGED
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: wangchuan
|
|
3
|
-
version: 1.5.
|
|
3
|
+
version: 1.5.1
|
|
4
4
|
description: >-
|
|
5
5
|
Encrypt and sync AI agent configs, memories, skills, and MCP servers across environments via a private Git repo.
|
|
6
6
|
Supports Claude, OpenClaw, Gemini, CodeBuddy, WorkBuddy, Cursor, and Codex.
|
|
7
|
-
TRIGGER when: user mentions syncing AI memories/configs, wangchuan/忘川, cross-machine agent setup, backup/restore agent settings, memory sync, skill distribution, MCP server sync, agent migration, master key export, sync status, watch daemon, environment management, snapshot, pushing/pulling memories, conflict resolution, syncing between agents, rolling back/restoring versions, switching environments, health check, customizing agent paths, or any commands: init, sync, status, watch, doctor, memory, env, snapshot, lang.
|
|
8
|
-
Triggers: 忘川、wangchuan、同步记忆、同步配置、同步技能、同步MCP、初始化忘川、备份记忆、恢复记忆、迁移agent、导出密钥、轮换密钥、同步状态、健康检查、多环境、快照、跨机器同步、agent记忆、配置路径、查看技能、删除技能、新增技能、修改技能、自定义agent、MCP服务器、新增MCP、删除MCP、修改MCP、查看MCP、写记忆、删除记忆、修改记忆、查看记忆、广播记忆、复制记忆、推送记忆、拉取记忆、同步到agent
|
|
7
|
+
TRIGGER when: user mentions syncing AI memories/configs, wangchuan/忘川, cross-machine agent setup, backup/restore agent settings, memory sync, skill distribution, MCP server sync, agent migration, master key export, sync status, watch daemon, workspace leakage, environment management, snapshot, pushing/pulling memories, conflict resolution, syncing between agents, rolling back/restoring versions, switching environments, health check, customizing agent paths, or any commands: init, sync, status, watch, doctor, memory, env, snapshot, lang.
|
|
8
|
+
Triggers: 忘川、wangchuan、同步记忆、同步配置、同步技能、同步MCP、初始化忘川、备份记忆、恢复记忆、迁移agent、导出密钥、轮换密钥、同步状态、健康检查、多环境、快照、跨机器同步、agent记忆、配置路径、查看技能、删除技能、新增技能、修改技能、自定义agent、MCP服务器、新增MCP、删除MCP、修改MCP、查看MCP、写记忆、删除记忆、修改记忆、查看记忆、广播记忆、复制记忆、推送记忆、拉取记忆、同步到agent、冲突、合并记忆、回退记忆、回滚、恢复版本、切换环境、忘川状态、新建环境、删除环境、查看环境、切换语言、升级忘川、更新忘川、后台同步、启动watch、环境泄漏、旧环境文件、sync memories、push memory、pull memory、rollback、switch environment、custom agent、MCP server、health status、rotate key、switch language、upgrade wangchuan、update wangchuan.
|
|
9
9
|
DO NOT TRIGGER when: general git operations, unrelated CLI tools, or AI model APIs.
|
|
10
10
|
---
|
|
11
11
|
|
|
@@ -64,7 +64,9 @@ When user says "新建忘川 xxx 环境" / "create xxx environment":
|
|
|
64
64
|
```bash
|
|
65
65
|
wangchuan env list
|
|
66
66
|
```
|
|
67
|
-
If the name already exists, inform the user and ask: "Environment 'xxx' already exists.
|
|
67
|
+
If the name already exists, inform the user and ask: "Environment 'xxx' already exists. Would you like to: (1) Import current env's memories into it, or (2) Just switch to it?"
|
|
68
|
+
- Import: `wangchuan env switch <name>` → then `wangchuan sync -y` to push current data
|
|
69
|
+
- Switch only: `wangchuan env switch <name>`
|
|
68
70
|
|
|
69
71
|
**Step 2: Ask about data initialization.**
|
|
70
72
|
Ask the user which option they prefer:
|
|
@@ -154,6 +156,35 @@ wangchuan env switch <target-env> # switch → auto-pulls target env's data
|
|
|
154
156
|
wangchuan env switch <original-env>
|
|
155
157
|
```
|
|
156
158
|
|
|
159
|
+
## Saving a snapshot
|
|
160
|
+
|
|
161
|
+
When user says "保存快照" / "save snapshot":
|
|
162
|
+
|
|
163
|
+
```bash
|
|
164
|
+
wangchuan snapshot save [name]
|
|
165
|
+
```
|
|
166
|
+
|
|
167
|
+
If no name provided, auto-generates a timestamp-based name. Report saved snapshot name.
|
|
168
|
+
|
|
169
|
+
## Listing snapshots
|
|
170
|
+
|
|
171
|
+
```bash
|
|
172
|
+
wangchuan snapshot list
|
|
173
|
+
```
|
|
174
|
+
|
|
175
|
+
Shows all saved snapshots with timestamps and sizes.
|
|
176
|
+
|
|
177
|
+
## Deleting a snapshot
|
|
178
|
+
|
|
179
|
+
When user says "删除快照" / "delete snapshot":
|
|
180
|
+
|
|
181
|
+
```bash
|
|
182
|
+
wangchuan snapshot list # show available
|
|
183
|
+
wangchuan snapshot delete <name> # delete selected
|
|
184
|
+
```
|
|
185
|
+
|
|
186
|
+
Confirm with user before deleting.
|
|
187
|
+
|
|
157
188
|
## Rolling back (snapshots and git history)
|
|
158
189
|
|
|
159
190
|
When user says "回退记忆" / "rollback" / "restore a previous version":
|
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
|
|
5
5
|
| Resource | Local path | Sharing model | Registry | Applicable agents |
|
|
6
6
|
|----------|-----------|---------------|----------|-------------------|
|
|
7
|
-
| **Skills** | `<workspace>/skills/<name>/` | Directory copy, shared-registry | `kind:'skill'` | OpenClaw, Claude, CodeBuddy, WorkBuddy,
|
|
7
|
+
| **Skills** | `<workspace>/skills/<name>/` | Directory copy, shared-registry | `kind:'skill'` | All 7 agents (OpenClaw, Claude, Gemini, CodeBuddy, WorkBuddy, Cursor, Codex) |
|
|
8
8
|
| **Custom agents** | `<workspace>/agents/<name>/` | Directory copy, shared-registry | `kind:'agent'` | Claude, Cursor, CodeBuddy, WorkBuddy (4) |
|
|
9
9
|
| **MCP servers** | JSON field `mcpServers` in config file | JSON key merge, single shared file in cloud | None (auto) | Claude (`.claude.json`), OpenClaw (`config/mcporter.json`), CodeBuddy/WorkBuddy/Cursor (`mcp.json`) (5) |
|
|
10
10
|
| **Memory** | `<workspace>/MEMORY.md` etc. | Per-agent file, manual copy/broadcast | None | OpenClaw/CodeBuddy/WorkBuddy/Codex (`MEMORY.md`); Claude (`CLAUDE.md`); shared (`SHARED.md`) |
|