wezard 2.0.0 → 2.0.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/.claude-plugin/marketplace.json +1 -1
- package/.claude-plugin/plugin.json +1 -1
- package/CLAUDE.md +7 -8
- package/README.md +10 -11
- package/cli/wezard.sh +0 -62
- package/config.example.jsonc +3 -9
- package/dist/cli/init.js +12 -21
- package/dist/cli/init.js.map +1 -1
- package/dist/daemon/approval.js +2 -4
- package/dist/daemon/approval.js.map +1 -1
- package/dist/daemon/cc-session.js +136 -0
- package/dist/daemon/cc-session.js.map +1 -0
- package/dist/daemon/detail.js +1 -1
- package/dist/daemon/detail.js.map +1 -1
- package/dist/daemon/inbound.js +59 -102
- package/dist/daemon/inbound.js.map +1 -1
- package/dist/daemon/index.js +98 -86
- package/dist/daemon/index.js.map +1 -1
- package/dist/daemon/memory-steward.js +82 -0
- package/dist/daemon/memory-steward.js.map +1 -0
- package/dist/daemon/mirror-bridge.js +149 -36
- package/dist/daemon/mirror-bridge.js.map +1 -1
- package/dist/daemon/session-name.js +4 -27
- package/dist/daemon/session-name.js.map +1 -1
- package/dist/daemon/spawn-tmux.js +35 -13
- package/dist/daemon/spawn-tmux.js.map +1 -1
- package/dist/daemon/wizard-memory.js +21 -26
- package/dist/daemon/wizard-memory.js.map +1 -1
- package/dist/daemon/wizard.js +31 -11
- package/dist/daemon/wizard.js.map +1 -1
- package/dist/mcp/server.js +63 -153
- package/dist/mcp/server.js.map +1 -1
- package/dist/shared/chat-http.js +3 -1
- package/dist/shared/chat-http.js.map +1 -1
- package/dist/shared/chat-render.js +0 -1
- package/dist/shared/chat-render.js.map +1 -1
- package/dist/shared/cli-backends.js +2 -7
- package/dist/shared/cli-backends.js.map +1 -1
- package/dist/shared/config.js +4 -6
- package/dist/shared/config.js.map +1 -1
- package/dist/shared/detail-store.js +1 -1
- package/dist/shared/detail-store.js.map +1 -1
- package/dist/shared/role-render.js +4 -1
- package/dist/shared/role-render.js.map +1 -1
- package/dist/shared/role-view.js +23 -5
- package/dist/shared/role-view.js.map +1 -1
- package/dist/shared/world.js +11 -1
- package/dist/shared/world.js.map +1 -1
- package/hooks/pre-tool-use.sh +4 -4
- package/package.json +1 -2
- package/web/chat.css +45 -28
- package/web/chat.js +45 -26
- package/commands/wrc.md +0 -7
- package/dist/daemon/cc-bridge.js +0 -183
- package/dist/daemon/cc-bridge.js.map +0 -1
- package/dist/daemon/sessions.js +0 -4
- package/dist/daemon/sessions.js.map +0 -1
|
@@ -8,45 +8,22 @@
|
|
|
8
8
|
// 3. transcript 首条用户消息首句 — 注册表意外缺失时的语义兜底;
|
|
9
9
|
// 4. sessionId 尾八位 — 保底可辨识串。
|
|
10
10
|
// (jsonl 的 summary 行实测 0/20 覆盖 — CC 2.1.x 不写, 不可用。)
|
|
11
|
-
import { closeSync, openSync, readSync
|
|
12
|
-
import { homedir } from "node:os";
|
|
13
|
-
import { join } from "node:path";
|
|
11
|
+
import { closeSync, openSync, readSync } from "node:fs";
|
|
14
12
|
import { tagOfKey } from "../shared/session-label.js";
|
|
13
|
+
import { readRegistry } from "./cc-session.js";
|
|
15
14
|
const NAME_MAX = 16;
|
|
16
15
|
const TRUNC = (s, n) => (s.length > n ? `${s.slice(0, n - 1)}…` : s);
|
|
17
16
|
// ── CC 活跃会话注册表 ────────────────────────────────────────────────
|
|
18
17
|
// 目录很小 (每个活跃 claude 进程一个 json), 每次全量扫 + 短 TTL 缓存足够。
|
|
19
18
|
// pid 文件在进程退出后清理, 长缓存反而会拿到死名字。
|
|
20
|
-
const
|
|
21
|
-
join(homedir(), ".claude", "sessions"),
|
|
22
|
-
join(homedir(), ".claude-internal", "sessions"),
|
|
23
|
-
];
|
|
19
|
+
const REGISTRY_HOMES = ["~/.claude", "~/.claude-internal"];
|
|
24
20
|
const REGISTRY_TTL_MS = 30_000;
|
|
25
21
|
let registry = null;
|
|
26
22
|
const scanRegistry = () => {
|
|
27
23
|
const now = Date.now();
|
|
28
24
|
if (registry && now - registry.at < REGISTRY_TTL_MS)
|
|
29
25
|
return registry.bySession;
|
|
30
|
-
const bySession = new Map();
|
|
31
|
-
for (const dir of SESSIONS_DIRS) {
|
|
32
|
-
let files;
|
|
33
|
-
try {
|
|
34
|
-
files = readdirSync(dir);
|
|
35
|
-
}
|
|
36
|
-
catch {
|
|
37
|
-
continue;
|
|
38
|
-
}
|
|
39
|
-
for (const f of files) {
|
|
40
|
-
if (!f.endsWith(".json"))
|
|
41
|
-
continue;
|
|
42
|
-
try {
|
|
43
|
-
const row = JSON.parse(readFileSync(join(dir, f), "utf8"));
|
|
44
|
-
if (row.sessionId && row.name)
|
|
45
|
-
bySession.set(row.sessionId, row.name);
|
|
46
|
-
}
|
|
47
|
-
catch { /* 半写状态的文件, 跳过 */ }
|
|
48
|
-
}
|
|
49
|
-
}
|
|
26
|
+
const bySession = new Map(REGISTRY_HOMES.flatMap(readRegistry).filter((r) => r.name).map((r) => [r.sessionId, r.name]));
|
|
50
27
|
registry = { at: now, bySession };
|
|
51
28
|
return bySession;
|
|
52
29
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"session-name.js","sourceRoot":"","sources":["../../daemon/session-name.ts"],"names":[],"mappings":"AAAA,gCAAgC;AAChC,EAAE;AACF,aAAa;AACb,mDAAmD;AACnD,qEAAqE;AACrE,6DAA6D;AAC7D,4CAA4C;AAC5C,4CAA4C;AAC5C,+BAA+B;AAC/B,oDAAoD;AACpD,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,QAAQ,EAAE,
|
|
1
|
+
{"version":3,"file":"session-name.js","sourceRoot":"","sources":["../../daemon/session-name.ts"],"names":[],"mappings":"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"}
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
//
|
|
3
3
|
// Goal: from a WeCom inbound, materialize a fresh `claude` process inside a
|
|
4
4
|
// shared tmux session and attach the resulting jsonl to the WeCom chat —
|
|
5
|
-
// no human-in-the-loop
|
|
5
|
+
// no human-in-the-loop attach needed.
|
|
6
6
|
//
|
|
7
7
|
// Layout: ONE shared tmux session named `cfg.wrc.tmuxPrefix` (default
|
|
8
8
|
// `wezard`); each chat gets its own window inside it. The pane id (`%N`)
|
|
@@ -33,6 +33,7 @@ import { augmentedPath } from "../shared/exec-path.js";
|
|
|
33
33
|
import { sleep } from "../shared/std.js";
|
|
34
34
|
import { activateBackend, CLI_BACKEND_DEFAULTS, primaryBackend } from "../shared/cli-backends.js";
|
|
35
35
|
import { selectModel } from "./model-select.js";
|
|
36
|
+
import { hasRegistry, sessionOnPane } from "./cc-session.js";
|
|
36
37
|
// A spawn has no transcript to derive a backend from, so the caller picks one
|
|
37
38
|
// (`cli`) and we fall back to the primary (`wrc.defaultCli`). Everything the
|
|
38
39
|
// pane needs — binary, transcript root, project-dir encoding, trust-marker file
|
|
@@ -145,18 +146,37 @@ const capturePaneBottom = async (pane, rows) => {
|
|
|
145
146
|
const r = await runTmux(["capture-pane", "-t", pane, "-p", "-S", `-${rows}`]);
|
|
146
147
|
return r.ok ? r.stdout : "";
|
|
147
148
|
};
|
|
148
|
-
// Active verification that the
|
|
149
|
-
//
|
|
150
|
-
//
|
|
151
|
-
//
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
149
|
+
// Active verification that the AI session inside the pane is up and waiting
|
|
150
|
+
// for input. On success returns true; on timeout returns false (caller decides
|
|
151
|
+
// whether to treat as fatal).
|
|
152
|
+
//
|
|
153
|
+
// 判据按可信度取: 后端写注册表 (cc-session) 时, 以「这个 pane 上的会话 status=idle」
|
|
154
|
+
// 为准 —— 进程自己报的就绪, 不读 pane。注册表行一出现就说明 claude 已接管 pty,
|
|
155
|
+
// 之后只管等它 idle; 只有行还没出现 (shell 还在 source rc / 被交互提示卡住 /
|
|
156
|
+
// 后端根本不写注册表) 时 pane 才是唯一的证人, 这时才 capture 去认提示框与 TUI。
|
|
157
|
+
const waitForTuiReady = async (pane, cmd, backend, log) => {
|
|
158
|
+
const registry = hasRegistry(backend.homeDir);
|
|
159
|
+
const t0 = Date.now();
|
|
160
|
+
const deadline = t0 + MIN_SETTLE_MS + TUI_READY_TIMEOUT_MS;
|
|
155
161
|
let retriedEnter = false;
|
|
156
162
|
let resent = false;
|
|
163
|
+
let sawSession = false;
|
|
157
164
|
while (Date.now() < deadline) {
|
|
165
|
+
await sleep(POLL_MS);
|
|
166
|
+
if (registry) {
|
|
167
|
+
const s = sessionOnPane(backend.homeDir, pane);
|
|
168
|
+
if (s?.status === "idle")
|
|
169
|
+
return true;
|
|
170
|
+
if (s) {
|
|
171
|
+
sawSession = true;
|
|
172
|
+
continue;
|
|
173
|
+
}
|
|
174
|
+
}
|
|
175
|
+
// Shell rc needs time to source before capture-pane shows anything meaningful.
|
|
176
|
+
if (Date.now() - t0 < MIN_SETTLE_MS)
|
|
177
|
+
continue;
|
|
158
178
|
const cap = await capturePaneBottom(pane, 20);
|
|
159
|
-
if (TUI_READY_RE.test(cap))
|
|
179
|
+
if (!registry && TUI_READY_RE.test(cap))
|
|
160
180
|
return true;
|
|
161
181
|
// Shell prompt eating our Enter: an interactive blocker (omz update, etc.)
|
|
162
182
|
// swallowed it. Dismiss with "N" + Enter, then re-send the full command.
|
|
@@ -170,14 +190,16 @@ const waitForTuiReady = async (pane, cmd, log) => {
|
|
|
170
190
|
// If after half the budget we still see nothing, maybe Enter was lost in
|
|
171
191
|
// shell rc sourcing. Retry Enter once (safe: if claude already started, an
|
|
172
192
|
// extra Enter on an empty input box is a no-op).
|
|
173
|
-
if (!retriedEnter && !resent &&
|
|
193
|
+
if (!retriedEnter && !resent && Date.now() - t0 > MIN_SETTLE_MS + TUI_READY_TIMEOUT_MS / 2) {
|
|
174
194
|
log.warn({ pane }, "spawn-tmux: TUI not seen at half-budget, retrying Enter");
|
|
175
195
|
await runTmux(["send-keys", "-t", pane, "Enter"]);
|
|
176
196
|
retriedEnter = true;
|
|
177
197
|
}
|
|
178
|
-
await sleep(POLL_MS);
|
|
179
198
|
}
|
|
180
|
-
|
|
199
|
+
// 注册表认得这个会话却迟迟不 idle (启动期对话框? 状态字段改了名?) —— 最后让 pane 裁决一次。
|
|
200
|
+
if (sawSession && TUI_READY_RE.test(await capturePaneBottom(pane, 20)))
|
|
201
|
+
return true;
|
|
202
|
+
log.warn({ pane, registry, sawSession }, "spawn-tmux: TUI ready timeout, proceeding anyway");
|
|
181
203
|
return false;
|
|
182
204
|
};
|
|
183
205
|
const claudeConfigCandidates = (claudeBin) => {
|
|
@@ -351,7 +373,7 @@ export const spawnTmuxClaude = async ({ cfg, log, resumeSessionId, windowName, c
|
|
|
351
373
|
// claude does NOT create the transcript jsonl until it processes the first
|
|
352
374
|
// user input, so we don't wait for the file — mirror tail tolerates a
|
|
353
375
|
// missing jsonl and starts emitting once claude writes the first line.
|
|
354
|
-
const tuiReady = await waitForTuiReady(tmuxPane, cmd, log);
|
|
376
|
+
const tuiReady = await waitForTuiReady(tmuxPane, cmd, backend, log);
|
|
355
377
|
// Model selection needs the TUI actually up (it types `/model …` into the
|
|
356
378
|
// input box) — skip it if readiness never confirmed, same as any other
|
|
357
379
|
// post-launch step would have to.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"spawn-tmux.js","sourceRoot":"","sources":["../../daemon/spawn-tmux.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"spawn-tmux.js","sourceRoot":"","sources":["../../daemon/spawn-tmux.ts"],"names":[],"mappings":"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"}
|
|
@@ -8,50 +8,45 @@
|
|
|
8
8
|
// ~/.wezard/memory/chats/<base>.md
|
|
9
9
|
// ~/.wezard/memory/workspaces/<cwd 编码>.md
|
|
10
10
|
//
|
|
11
|
+
// 共享记忆只有一个写入者: wizard 的 `wizard_remember({scope})` 不再直写 md, 而是往
|
|
12
|
+
// 同名的收件箱 (`memory/inbox/<chats|workspaces>/<key>.jsonl`) 投一条提议; 定时整理者
|
|
13
|
+
// (memory-steward.ts) 把提议按 新增/改写/删除/不动 合并进 md。直接追加的老路在几十个
|
|
14
|
+
// wizard 同写一份文件时只会越来越长、互相矛盾, 而每个新 wizard 出生都要把它整份吃下。
|
|
15
|
+
// 人照旧可以直接改 md —— 人不是并发写者。
|
|
16
|
+
//
|
|
11
17
|
// 读写失败一律吞掉: 记忆是锦上添花, 读不到就当没有, 写不进就回报失败, 都不该拖垮 spawn。
|
|
12
|
-
import { appendFileSync, mkdirSync, readFileSync
|
|
18
|
+
import { appendFileSync, mkdirSync, readFileSync } from "node:fs";
|
|
13
19
|
import { dirname, join } from "node:path";
|
|
14
20
|
import { expandHome } from "../shared/paths.js";
|
|
15
21
|
/** 任意 key → 一个安全的文件名。`chat:wr4…` → `chat_wr4…`, `/Users/a/b` → `-Users-a-b`。 */
|
|
16
22
|
const fileKey = (k) => k.trim().replace(/\/+$/, "").replace(/\//g, "-").replace(/[^\p{L}\p{N}_.-]+/gu, "_").slice(0, 200) || "_";
|
|
17
23
|
/** 记忆根目录: stateDir 的兄弟 (`~/.wezard/state` → `~/.wezard/memory`)。 */
|
|
18
24
|
export const memoryRoot = (stateDir) => join(dirname(expandHome(stateDir)), "memory");
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
catch {
|
|
26
|
-
return "";
|
|
27
|
-
}
|
|
28
|
-
};
|
|
29
|
-
/** 追加一条 `- note`。 */
|
|
30
|
-
export const appendMemory = (path, note) => {
|
|
25
|
+
const scopeDir = (scope) => (scope === "chat" ? "chats" : "workspaces");
|
|
26
|
+
export const memoryPath = (stateDir, scope, key) => join(memoryRoot(stateDir), scopeDir(scope), `${fileKey(key)}.md`);
|
|
27
|
+
/** 提议收件箱: 与 md 同名、同子目录, 整理者据此把一份收件箱对回它的 md。 */
|
|
28
|
+
export const inboxPath = (stateDir, scope, key) => join(memoryRoot(stateDir), "inbox", scopeDir(scope), `${fileKey(key)}.jsonl`);
|
|
29
|
+
/** 投一条提议; 一行一个 json, 追加写 —— 多个 wizard 并发投也不会互相覆盖。 */
|
|
30
|
+
export const proposeMemory = (path, p) => {
|
|
31
31
|
try {
|
|
32
32
|
mkdirSync(dirname(path), { recursive: true });
|
|
33
|
-
appendFileSync(path,
|
|
33
|
+
appendFileSync(path, `${JSON.stringify(p)}\n`);
|
|
34
34
|
return true;
|
|
35
35
|
}
|
|
36
36
|
catch {
|
|
37
37
|
return false;
|
|
38
38
|
}
|
|
39
39
|
};
|
|
40
|
-
/**
|
|
41
|
-
export const
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
const lines = cur.split("\n");
|
|
46
|
-
const kept = lines.filter((l) => !l.includes(needle));
|
|
47
|
-
if (kept.length === lines.length)
|
|
48
|
-
return 0;
|
|
40
|
+
/** 宪章里每份共享记忆的字数上限。超了只截头并指路 —— 压短是整理者的活, 不是渲染器的。 */
|
|
41
|
+
export const CHARTER_MEMORY_MAX = 4000;
|
|
42
|
+
export const clipForCharter = (text, path, max = CHARTER_MEMORY_MAX) => text.length <= max ? text : `${text.slice(0, max).replace(/\n[^\n]*$/, "")}\n- …(超长截断, 全文见 \`${path}\`)`;
|
|
43
|
+
/** 整份读出 (去掉首尾空白); 不存在 / 读失败 = ""。 */
|
|
44
|
+
export const readMemory = (path) => {
|
|
49
45
|
try {
|
|
50
|
-
|
|
51
|
-
return lines.length - kept.length;
|
|
46
|
+
return readFileSync(path, "utf8").trim();
|
|
52
47
|
}
|
|
53
48
|
catch {
|
|
54
|
-
return
|
|
49
|
+
return "";
|
|
55
50
|
}
|
|
56
51
|
};
|
|
57
52
|
//# sourceMappingURL=wizard-memory.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"wizard-memory.js","sourceRoot":"","sources":["../../daemon/wizard-memory.ts"],"names":[],"mappings":"AAAA,gDAAgD;AAChD,EAAE;AACF,gEAAgE;AAChE,oDAAoD;AACpD,sDAAsD;AACtD,0CAA0C;AAC1C,EAAE;AACF,qCAAqC;AACrC,4CAA4C;AAC5C,EAAE;AACF,qDAAqD;AACrD,OAAO,EAAE,cAAc,EAAE,SAAS,EAAE,YAAY,EAAE,
|
|
1
|
+
{"version":3,"file":"wizard-memory.js","sourceRoot":"","sources":["../../daemon/wizard-memory.ts"],"names":[],"mappings":"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"}
|
package/dist/daemon/wizard.js
CHANGED
|
@@ -52,7 +52,7 @@ export const loadWizardStore = (filePath) => {
|
|
|
52
52
|
};
|
|
53
53
|
// 进程内唯一的注册表。daemon 启动时绑一次, 之后任何模块都读得到 —— IM 侧的
|
|
54
54
|
// `/peers` 要把名字和职责印在每一行上, 为此给 installInboundRouter 再加一个参数
|
|
55
|
-
// 不值当 (同 bindCliBackends 的取舍)
|
|
55
|
+
// 不值当 (同 bindCliBackends 的取舍)。绑定之前读到 undefined 即退化。
|
|
56
56
|
let bound;
|
|
57
57
|
export const bindWizardStore = (store) => (bound = store);
|
|
58
58
|
export const wizardStore = () => bound;
|
|
@@ -70,6 +70,14 @@ export const settleName = (store, chatName, target) => {
|
|
|
70
70
|
const want = defaultNameOf(chatName, target);
|
|
71
71
|
return store && want ? store.claim(target, want) : want;
|
|
72
72
|
};
|
|
73
|
+
/** 默认会话重开 (`/new`) 时名字回到聊天名: 旧名是上一段会话的, 新会话按聊天重新出生。
|
|
74
|
+
* slot 或聊天无名时不动; 撞名照旧挂 `-N`。返回落定的名字。 */
|
|
75
|
+
export const reclaimChatName = (store, chatName, target) => {
|
|
76
|
+
const have = settleName(store, chatName, target);
|
|
77
|
+
return store && chatName && !tagOfKey(target) && have.toLowerCase() !== chatName.toLowerCase()
|
|
78
|
+
? store.rename(target, chatName)
|
|
79
|
+
: have;
|
|
80
|
+
};
|
|
73
81
|
/** 一次性迁移/补名: 默认会话先挑 (聊天名归它), 其余按出生先后。 */
|
|
74
82
|
export const settleAll = (store, targets, chatNameOf) => {
|
|
75
83
|
const born = (t) => store.get(t)?.bornAt ?? Number.MAX_SAFE_INTEGER;
|
|
@@ -107,9 +115,11 @@ export const renderCharter = (a) => {
|
|
|
107
115
|
`工作区: \`${a.self.cwd || "(未设置)"}\``,
|
|
108
116
|
`职责: ${a.self.description || "(未写 —— 用 wizard_identity 写一句, 别人靠它决定该不该找你)"}`,
|
|
109
117
|
a.parent
|
|
110
|
-
? a.inherited
|
|
111
|
-
? `出身: **\`${addr(a.parent)}\`** 的分身 ——
|
|
112
|
-
:
|
|
118
|
+
? a.inherited && a.forkOf
|
|
119
|
+
? `出身: **\`${addr(a.parent)}\`** 克隆出的 **\`${addr(a.forkOf)}\`** 的分身 —— 从 \`${addr(a.forkOf)}\` 的 session 节点 fork 而来, **你继承了它当时的全部上下文**; 归 \`${addr(a.parent)}\` 管, 活是它派的`
|
|
120
|
+
: a.inherited
|
|
121
|
+
? `出身: **\`${addr(a.parent)}\`** 的分身 —— 从它的 session 节点 fork 而来, **你继承了它当时的全部上下文**(它读过的文件/文档你开局就有)`
|
|
122
|
+
: `出身: **\`${addr(a.parent)}\`** 生的子 wizard —— 白板起步, 不继承它的上下文`
|
|
113
123
|
: "出身: 本聊天的原生 wizard",
|
|
114
124
|
]),
|
|
115
125
|
"",
|
|
@@ -123,10 +133,20 @@ export const renderCharter = (a) => {
|
|
|
123
133
|
parts.push("## 我的记忆", "这些是你自己写下的、要跨会话活下来的东西:", bullet(a.memory), "");
|
|
124
134
|
}
|
|
125
135
|
if (a.chatMemory) {
|
|
126
|
-
parts.push("## 本群记忆", "这个群里所有 wizard 共享的记忆 (`wizard_remember({scope:\"chat\"})`
|
|
136
|
+
parts.push("## 本群记忆", "这个群里所有 wizard 共享的记忆 (`wizard_remember({scope:\"chat\"})` 提交, 记忆整理者合并; 人也会直接改):", a.chatMemory, "");
|
|
127
137
|
}
|
|
128
138
|
if (a.workspaceMemory) {
|
|
129
|
-
parts.push("## 本工作区记忆", "在这个目录下干活的所有 wizard 共享的记忆 (`wizard_remember({scope:\"workspace\"})`
|
|
139
|
+
parts.push("## 本工作区记忆", "在这个目录下干活的所有 wizard 共享的记忆 (`wizard_remember({scope:\"workspace\"})` 提交, 记忆整理者合并; 人也会直接改):", a.workspaceMemory, "");
|
|
140
|
+
}
|
|
141
|
+
if (a.steward) {
|
|
142
|
+
parts.push("## 我是这个群的管家", "人在这个群里**没点名**说的话都落到你这儿; 点了名 (`.name`) 的直达那个 wizard, 不经过你。", "你的活是**分派**, 不是亲手干 —— 上下文留给名册和来龙去脉, 别被大段代码和文件塞满:", bullet([
|
|
143
|
+
"一两句就能答的 (问进度、问谁在干什么、闲聊) → 自己答",
|
|
144
|
+
"对口某个已有 wizard 的职责 (`wizard_roster` 看职责与忙闲) → `send_peer({name, text, public:true})` 转给它: 它的回复直接进群, 你**不必等、不必转述**, 转完这一轮就结束; 它正忙就加 `when:\"idle\"`",
|
|
145
|
+
"没有对口的 → `spawn_wizard({name, description})` 从白板生一个 (名字取这件事的短名, description 是它往后的职责), **不带 task**; 就位后照上一条用 `send_peer({public:true})` 把活转给它 —— 这样它的回复进群",
|
|
146
|
+
"要读很多代码 / 改文件 / 跑很久的活 —— 哪怕你自己能做 —— 也转出去; 你一忙, 这个群里没点名的话就都排在你后面",
|
|
147
|
+
"名册里职责空着的 wizard 转活前先 `peek_peer` 看它在干嘛, 顺手让它补上职责 —— 职责是你分派的依据",
|
|
148
|
+
"人立的规矩、这个群的习惯、仓库的硬约束 → `wizard_remember({scope:\"chat\"|\"workspace\"})` 提交; 共享记忆的合并由定时的记忆整理者做, 不在你这儿",
|
|
149
|
+
]), "");
|
|
130
150
|
}
|
|
131
151
|
if (a.siblings.length > 0) {
|
|
132
152
|
parts.push("## 出生时同群的 wizard", bullet(a.siblings.map(nameLine)), "(这只是出生那一刻的快照。此后谁来了、谁收工了、谁改了职责, 会以一行 system-reminder", "挂在下一条进到你这儿的消息尾巴上 —— 不必去问。要当下完整的名册仍然是 `wizard_roster`; 名字全局唯一, 别的群的 wizard 一样叫得到。)", "");
|
|
@@ -135,10 +155,10 @@ export const renderCharter = (a) => {
|
|
|
135
155
|
"`wizard_whoami` 我是谁、上下文用了多少、我的分身有哪些",
|
|
136
156
|
"`wizard_identity` 改名字 / 写职责 (名字全局唯一, 撞名会自动加 `-N` 后缀并告诉你最终名字)",
|
|
137
157
|
"`wizard_roster` 全部 wizard 与 clone: 名字、home 群、工作区、职责、模型、忙闲、家谱",
|
|
138
|
-
"`
|
|
158
|
+
"`clone_wizard` 克隆出一个分身 —— fork 我 (或 `from` 点名的某个 wizard) 此刻的上下文, 开局就带着读过的一切, 留在被克隆者的工作区 · `spawn_wizard` 从白板生一个子 wizard —— 不带上下文, 可以去别的目录; 两者都归我管, `name` 起名 (全局唯一), `model` 挑模型 (跑腿的活给 haiku, 要判断的给 opus), 它们还能再生",
|
|
139
159
|
"`stop_wizard` 打断或终结一个分身/wizard (活干完了就收掉它)",
|
|
140
160
|
"`open_job` / `close_job` / `list_jobs` 一次要派出两个以上分身时的**工单**: 群里只出开工/收工两条气泡, 收工时整批回收临时分身",
|
|
141
|
-
"`wizard_remember` 写一条跨会话的记忆 —— `scope` 选 `self` (
|
|
161
|
+
"`wizard_remember` 写一条跨会话的记忆 —— `scope` 选 `self` (我自己的, 当场生效) / `chat` (本群共享) / `workspace` (本工作区共享); 后两者是**提议**, 由定时的记忆整理者去重、改写、合并后才生效",
|
|
142
162
|
"`wizard_handoff_self` 上下文快满时自己原地交接重开",
|
|
143
163
|
"`send_peer` 跟别的 wizard 说话, **默认私聊**; `public:true` 则在群里公开说 (见下) · 派活给一个正在忙的同伴用 `when:\"idle\"` · `peek_peer` 看它在干嘛 · `list_peers` 看同群有谁",
|
|
144
164
|
"`wait_peer` 等它干完 —— 派了一**批**活就用 `names` 一次等一组 (`need` 决定满几个就返回), 别一个一个等",
|
|
@@ -148,9 +168,9 @@ export const renderCharter = (a) => {
|
|
|
148
168
|
"`run_agent_graph` 把多个 wizard 串成一条会循环的流水线",
|
|
149
169
|
]), "", "## 怎么干活: 编排", "遇到一组「共享同一批上下文」的任务, 不要自己一件件做完, 也不要让每个分身各读一遍材料。", "**控制流在你手里** —— 没有别的调度器替你跑这件事: 你自己分路、自己派、自己等、自己汇总。", bullet([
|
|
150
170
|
"先在自己这里把**公共材料**读进上下文 (规范、目录结构、关键文件)",
|
|
151
|
-
"要派出两个以上的分身就先 `open_job(标题, 计划)` 拿一个工单 id —— 之后每个 `
|
|
152
|
-
"`
|
|
153
|
-
"撞名 (`
|
|
171
|
+
"要派出两个以上的分身就先 `open_job(标题, 计划)` 拿一个工单 id —— 之后每个 `clone_wizard` / `spawn_wizard` / `send_peer` 都带上 `job`",
|
|
172
|
+
"`clone_wizard({task})` 出需要的分身: 它们开局就带着这些材料, 只需告诉它各自那一份差异; 活写进 `task` 省一次往返。材料已经在某个同伴的上下文里, 就 `clone_wizard({from, task})` 从它分, 不必自己再读一遍",
|
|
173
|
+
"撞名 (`clone_wizard` / `spawn_wizard` 409) 别顺手 `send_peer` 糊弄过去: 响应里的 `alive`/`busy`/`idleForMs` 已经说清那是真在干活还是冷绑定。真活着就换个名字重新生, 别把不相关的活塞给一个已经有职责的 wizard; 冷绑定才值得复用, 但复用前先 `stop_wizard({mode:\"end\"})` 把它收掉腾出名字, 再用同一个名字重新 spawn —— 拿到干净的上下文",
|
|
154
174
|
"地址永远是名字本身 (`fix` 或 `.fix`), 全局唯一, 不分群; 永远别自己拼 key —— roster / 409 里的 `address` 原样传回来",
|
|
155
175
|
"派活时要求它**把结论收口成一行** `RESULT: …` (交付物写进文件就回传路径) —— `wait_peer` 会把这一行单独摘进 `result`, 免得你从八百字散文里找结论",
|
|
156
176
|
"一次 `wait_peer({names:[…]})` 把它们**一起**等回来。它们本来就在并行干活: 一个一个等, 墙钟是所有人之和; 一起等只花最慢那一个的时间 (`need` 可以让你先处理最先完事的那几个)",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"wizard.js","sourceRoot":"","sources":["../../daemon/wizard.ts"],"names":[],"mappings":"AAAA,2BAA2B;AAC3B,EAAE;AACF,sDAAsD;AACtD,0CAA0C;AAC1C,8DAA8D;AAC9D,+CAA+C;AAC/C,qBAAqB;AACrB,EAAE;AACF,sDAAsD;AACtD,4DAA4D;AAC5D,2DAA2D;AAC3D,EAAE;AACF,4CAA4C;AAC5C,+DAA+D;AAC/D,OAAO,EAAE,WAAW,EAAE,MAAM,6BAA6B,CAAC;AAC1D,OAAO,EAAE,YAAY,EAAE,UAAU,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,4BAA4B,CAAC;
|
|
1
|
+
{"version":3,"file":"wizard.js","sourceRoot":"","sources":["../../daemon/wizard.ts"],"names":[],"mappings":"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"}
|