@clawos-dev/clawd 0.2.443 → 0.2.445
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/cli.cjs +18 -18
- package/dist/dispatch/mcp-server.cjs +17 -17
- package/dist/persona-defaults/persona-clawd-butler/.claude/skills/clawd-orchestration/SKILL.md +3 -2
- package/dist/persona-defaults/persona-clawd-butler/.claude/skills/clawd-session-lens/SKILL.md +20 -8
- package/package.json +1 -1
package/dist/cli.cjs
CHANGED
|
@@ -8439,11 +8439,11 @@ var init_methods = __esm({
|
|
|
8439
8439
|
}
|
|
8440
8440
|
},
|
|
8441
8441
|
"session:externalScan": {
|
|
8442
|
-
summary: "\u626B\u63CF\u672C\u673A Claude Code / Codex \u5386\u53F2\u4F1A\u8BDD\uFF0C\u8FD4\u56DE\u53EF\u5BFC\u5165\u5019\u9009\u6E05\u5355\uFF08cwd/toolSessionId/\u65F6\u95F4\u6233/\u8F6E\u6570\uFF09\
|
|
8442
|
+
summary: "\u626B\u63CF\u672C\u673A Claude Code / Codex \u5386\u53F2\u4F1A\u8BDD\uFF0C\u8FD4\u56DE\u53EF\u5BFC\u5165\u5019\u9009\u6E05\u5355\uFF08cwd/toolSessionId/\u65F6\u95F4\u6233/\u8F6E\u6570\uFF09\uFF1Bowner-only\u3002\u88AB skip \u7684\u76F4\u63A5\u4E0D\u8FD4\u56DE\uFF1Asubagent \u652F\u7EBF / \u65E0 cwd / \u975E\u7528\u6237\u5165\u53E3\uFF08CC \u7684 entrypoint \u4E0D\u662F cli\xB7claude-desktop\uFF09/ \u975E\u7528\u6237\u65B0\u5EFA\xB7\u5DF2\u5F52\u6863\xB7\u7A7A\u4F1A\u8BDD\uFF08codex\uFF09/ \u96F6\u7528\u6237\u53D1\u8A00 / \u5DE5\u4F5C\u76EE\u5F55\u5DF2\u4E0D\u5B58\u5728 / cwd \u5728 ~/.clawd \u4E0B / \u5DF2\u5BFC\u5165\u8FC7\uFF08\u53BB\u91CD\u96C6\u5408 = \u6D3B\u7740\u7684 session \u222A \u5BFC\u5165\u53F0\u8D26\uFF0C\u5220\u4E86\u4F1A\u8BDD\u4E5F\u4E0D\u5931\u5FC6\uFF09\u3002**\u9664\u300C\u96F6\u7528\u6237\u53D1\u8A00\u300D\u5916\u4E0D\u518D\u8BBE\u8F6E\u6B21\u95E8\u69DB\uFF0C\u4E5F\u4E0D\u505A\u65F6\u95F4\u7A97\u8FC7\u6EE4**\u2014\u2014\u6309\u8FD4\u56DE\u7684 turns / \u65F6\u95F4\u6233\u7531\u8C03\u7528\u65B9\u81EA\u5DF1\u7B5B\uFF08UI \u7684\u6458\u8981\u7EDF\u8BA1\u540C\u7406\uFF09\u3002\u53E6\u6709\u6574\u6E90\u4E0D\u4EA7\u5019\u9009\u7684\u60C5\u51B5\uFF1A\u672C\u673A\u6CA1\u88C5 codex\u3001\u6216 codex \u5E93\u91CC\u5224\u4E0D\u51FA\u4F1A\u8BDD\u5165\u53E3\uFF08\u65E0 threads \u8868 / \u7F3A thread_source \u5217\uFF09\u65F6\uFF0C**codex \u4FA7\u6574\u4E2A\u8FD4\u7A7A**\uFF0C\u4E0D\u662F\u9010\u6761 skip",
|
|
8443
8443
|
args: SessionExternalScanArgs
|
|
8444
8444
|
},
|
|
8445
8445
|
"session:importExternal": {
|
|
8446
|
-
summary: "\u628A Claude Code / Codex \u65E2\u6709\u5386\u53F2\u4F1A\u8BDD\u5BFC\u5165\u4E3A clawd \u5F15\u7528\uFF1A\
|
|
8446
|
+
summary: "\u628A Claude Code / Codex \u65E2\u6709\u5386\u53F2\u4F1A\u8BDD\u5BFC\u5165\u4E3A clawd \u5F15\u7528\uFF1A\u5199 SessionFile + \u5F80\u5BFC\u5165\u53F0\u8D26 append \u4E00\u884C\uFF08\u53BB\u91CD\u547D\u4E2D\u7684\u4E0D\u843D\u8D26\uFF09\uFF0C**\u4E0D\u62C9\u8D77 runner\u3001\u4E0D\u6539\u539F\u59CB transcript**\uFF1B\u6309 toolSessionId \u8DE8 owned scope \u53BB\u91CD\uFF0C\u65B0\u5BFC\u5165\u4F1A\u5E7F\u64AD session:info\u3002\u53F0\u8D26 append-only \u4E14\u4E0D\u968F\u4F1A\u8BDD\u5220\u9664\u6D88\u5931\u2014\u2014\u5220\u6389\u4F1A\u8BDD\u4E0D\u7B49\u4E8E\u64A4\u9500\u5BFC\u5165\uFF0C\u60F3\u8BA9\u67D0\u6761\u91CD\u65B0\u53EF\u5BFC\u5165\u8981\u8D70 clawd-session-import --undo \u6E05\u8D26",
|
|
8447
8447
|
args: SessionImportExternalArgs
|
|
8448
8448
|
},
|
|
8449
8449
|
"session:list": {
|
|
@@ -8455,7 +8455,7 @@ var init_methods = __esm({
|
|
|
8455
8455
|
args: SessionIdArgs
|
|
8456
8456
|
},
|
|
8457
8457
|
"session:update": {
|
|
8458
|
-
summary: "\u6539\u4F1A\u8BDD\u5143\u6570\u636E\uFF0C\u4E0D\u5F71\u54CD\u8FDB\u7A0B\
|
|
8458
|
+
summary: "\u6539\u4F1A\u8BDD\u5143\u6570\u636E\uFF0C\u4E0D\u5F71\u54CD\u8FDB\u7A0B\u3002**patch \u91CC\u7684\u672A\u77E5\u952E\u4F1A\u88AB\u9759\u9ED8\u4E22\u5F03**\uFF08zod strip\uFF09\uFF0Chandler \u7167\u6837\u8FD4 ok\u2014\u2014\u5141\u8BB8\u54EA\u4E9B\u952E\u4EE5 argsSchema \u4E3A\u51C6\uFF08meta:methods \u4F20 method \u53C2\u6570\u5373\u53EF\u53D6\u5230\uFF09\uFF0C\u522B\u7167\u8BB0\u5FC6\u731C\u3002ephemeral \u53EA\u6536 false\uFF1A\u5FEB\u901F\u95EE\u7B54\u4F1A\u8BDD\u8F6C\u6B63\u53EA\u80FD\u6458\u4E0D\u80FD\u6253\uFF0C\u53CD\u5411\u6807\u8BB0\u4F1A\u8BA9\u4F1A\u8BDD\u4ECE\u6240\u6709 sidebar \u89C6\u91CE\u6D88\u5931\u4E14\u5220\u4E0D\u6389",
|
|
8459
8459
|
args: SessionUpdateArgs
|
|
8460
8460
|
},
|
|
8461
8461
|
"session:delete": {
|
|
@@ -8587,11 +8587,11 @@ var init_methods = __esm({
|
|
|
8587
8587
|
args: NO_ARGS
|
|
8588
8588
|
},
|
|
8589
8589
|
"project:list": {
|
|
8590
|
-
summary: "\u5217\u51FA
|
|
8590
|
+
summary: "\u5217\u51FA\u9879\u76EE\u6E05\u5355\uFF08owner-only\uFF09\u3002**\u771F\u503C = Codex \u7684 local-projects \u222A \u672C\u673A projects.json \u53E0\u52A0\u5C42**\uFF1A\u6309\u5F52\u4E00\u5316 path \u53BB\u91CD\u3001Codex \u4FA7\u7684 name \u4F18\u5148\uFF08\u7528\u6237\u5728 Codex \u91CC\u6539\u8FC7\u7684\u66F4\u6743\u5A01\uFF09\uFF0CCodex \u91CC createdAt=0 \u7684\u81EA\u52A8\u6536\u5F55\u6761\u76EE\u8DF3\u8FC7\uFF1B\u6CA1\u914D Codex state \u6587\u4EF6\u65F6\u9000\u5316\u4E3A\u53EA\u6709\u672C\u5730\u53E0\u52A0\u5C42\u3002\u4E09\u6761\u8DEF\u5F84\u5224\u636E\u4E00\u5F8B\u8FC7\u6EE4\uFF1A~/.clawd \u5B50\u6811 / home \u6839 / \u6587\u4EF6\u7CFB\u7EDF\u6839\u3002\u4F1A\u8BDD\u5F52\u7EC4\u5728 UI \u4FA7\u505A",
|
|
8591
8591
|
args: NO_ARGS
|
|
8592
8592
|
},
|
|
8593
8593
|
"project:create": {
|
|
8594
|
-
summary: "\u65B0\u5EFA project\uFF1A\u6821\u9A8C\u76EE\u5F55\
|
|
8594
|
+
summary: "\u65B0\u5EFA project\uFF08owner-only\uFF09\u3002**path \u4E0E name \u81F3\u5C11\u4F20\u4E00\u4E2A**\uFF0C\u4E24\u6761\u5206\u652F\u526F\u4F5C\u7528\u4E0D\u540C\uFF1A\u7ED9 path = \u5728\u73B0\u6210\u76EE\u5F55\u4E0A\u767B\u8BB0\uFF08\u53EA\u6821\u9A8C\u662F\u76EE\u5F55\uFF0C\u4E0D\u52A8\u78C1\u76D8\uFF09\uFF1B**\u53EA\u7ED9 name = \u5728 ~/Documents/ChatGPT/<name>/ \u5EFA\u76EE\u5F55\u5E76 git init**\uFF08\u649E\u540D\u52A0\u6570\u5B57\u540E\u7F00 `x 2`\uFF1Bgit init \u5931\u8D25\u4F1A\u6E05\u6389\u521A\u5EFA\u7684\u76EE\u5F55\u518D\u62A5\u9519\uFF09\u3002\u843D\u8FDB\u672C\u673A projects.json \u53E0\u52A0\u5C42\uFF08\u8DEF\u5F84\u987B\u8FC7 project:list \u90A3\u4E09\u6761\u5224\u636E\uFF0C\u5426\u5219\u62A5\u9519\uFF09\uFF0C**\u4E0D\u5199 Codex registry**\uFF08Codex \u4FA7\u9760\u81EA\u7136\u6536\u5F55\uFF09",
|
|
8595
8595
|
args: ProjectCreateArgs,
|
|
8596
8596
|
argsConstraints: {
|
|
8597
8597
|
anyOf: [{ required: ["path"] }, { required: ["name"] }]
|
|
@@ -8685,7 +8685,7 @@ var init_methods = __esm({
|
|
|
8685
8685
|
},
|
|
8686
8686
|
// ---- master:*(授权查表,Master 经 clawd-rpc 桥调)----
|
|
8687
8687
|
"master:authorityCheck": {
|
|
8688
|
-
summary: "\u67E5 Master \u7684\u6388\u6743\u8BBE\u5B9A\uFF08\u5168\u5C40\u4E00\u5957\uFF09\uFF1A\u8FD4\u56DE ask / allow / deny\u3002\u8868\
|
|
8688
|
+
summary: "\u67E5 Master \u7684\u6388\u6743\u8BBE\u5B9A\uFF08\u5168\u5C40\u4E00\u5957\uFF09\uFF1A\u8FD4\u56DE ask / allow / deny + source\u3002**\u8BBE\u5B9A\u6587\u4EF6\u4E0D\u5B58\u5728 \u2192 \u7528\u51FA\u5382\u9ED8\u8BA4\u89C4\u5219\u8868**\uFF08source=default\uFF0C\u5F53\u524D\u56DB\u6761\u5BF9\u5916\u4E0D\u53EF\u9006\u52A8\u4F5C\u5168\u662F ask\uFF0C\u522B\u628A\u5B83\u5F53\u5F02\u5E38\u515C\u5E95\uFF09\uFF1B\u8BFB\u574F / \u7ED3\u6784\u4E0D\u5BF9 / action \u62FC\u9519 / id \u672A\u767B\u8BB0 \u2192 **fail-safe \u88C1\u51B3 ask**\uFF08source=fallback:<\u539F\u56E0>\uFF0C\u4E0D\u9759\u9ED8\u541E\uFF09",
|
|
8689
8689
|
args: AuthorityCheckArgsSchema
|
|
8690
8690
|
},
|
|
8691
8691
|
"github:status": {
|
|
@@ -8809,7 +8809,7 @@ var init_methods = __esm({
|
|
|
8809
8809
|
args: NO_ARGS
|
|
8810
8810
|
},
|
|
8811
8811
|
"persona:get": {
|
|
8812
|
-
summary: "\u53D6\u5355\u4E2A persona \u8BE6\u60C5\uFF0C**\
|
|
8812
|
+
summary: "\u53D6\u5355\u4E2A persona \u8BE6\u60C5\u2014\u2014\u552F\u4E00\u643A\u5E26\u4EBA\u683C\u6B63\u6587\u7684 method\uFF0C\u800C**\u6B63\u6587\u662F\u4E24\u5C42\u3001\u8981\u8BFB\u5168\u5F97\u4E24\u5C42\u90FD\u770B**\uFF1Apersonality\uFF08builtin CLAUDE.md\uFF09+ personalityLocal\uFF08\u8865\u5145\u5C42 .clawd/personality.local.md\uFF0C'' = \u6CA1\u5199\uFF09\uFF0CpersonalityManaged \u6807 builtin \u5C42\u5F52\u4E0D\u5F52 daemon \u6258\u7BA1\uFF08\u9884\u88C5 persona = \u4EA7\u54C1\u89C4\u683C\u3001\u53EA\u8BFB\uFF09\u3002\u53E6\u5E26 skills / plugins / sandboxSettings / codexSandbox\u3002\u54CD\u5E94\u628A PersonaFile \u5E73\u94FA\u5728\u5E27\u4E0A\uFF08\u65E0 persona \u5305\u88F9\u952E\uFF09\uFF1B\u67E5\u4E0D\u5230 / guest \u65E0\u6743\u9650\u629B PERSONA_NOT_FOUND",
|
|
8813
8813
|
args: PersonaIdArgsSchema
|
|
8814
8814
|
},
|
|
8815
8815
|
"persona:update": {
|
|
@@ -8845,16 +8845,16 @@ var init_methods = __esm({
|
|
|
8845
8845
|
args: PeerExecRunArgsSchema
|
|
8846
8846
|
},
|
|
8847
8847
|
"session:pty:input": {
|
|
8848
|
-
summary: "\u628A\u7528\u6237\u952E\u76D8\u5B57\u8282\u5199\u8FDB pty stdin\uFF08\u4EC5 CLAWD_CC_MODE=tui\uFF09\u3002\u9AD8\u9891\u5E27\uFF0C\u4E0D\u5165 reducer\u3002body: { sessionId, data\uFF08base64-utf8\uFF09 }"
|
|
8848
|
+
summary: "\u628A\u7528\u6237\u952E\u76D8\u5B57\u8282\u5199\u8FDB pty stdin\uFF08\u4EC5 CLAWD_CC_MODE=tui\uFF09\u3002\u9AD8\u9891\u5E27\uFF0C\u4E0D\u5165 reducer\u3002body: { sessionId, data\uFF08base64-utf8\uFF09 }\u3002**\u53C2\u6570\u7F3A\u5931 / \u7C7B\u578B\u4E0D\u5BF9 / \u975E tui / pty \u5DF2\u9000\u51FA\u90FD\u9759\u9ED8\u8FD4 ok:false \u800C\u4E0D\u62A5\u9519**\uFF08\u9AD8\u9891\u5E27\u4E0D\u80FD\u629B\u9519\u5237\u5C4F\uFF09\u2014\u2014\u62FF\u5230 false \u5206\u4E0D\u51FA\u662F\u54EA\u79CD\u539F\u56E0\u3002\u53EA\u6709\u8D8A\u6743\u8BBF\u95EE\u8BE5\u4F1A\u8BDD\u624D\u629B\u9519"
|
|
8849
8849
|
},
|
|
8850
8850
|
"session:pty:resize": {
|
|
8851
|
-
summary: "\u540C\u6B65\u7EC8\u7AEF\u5C3A\u5BF8\u7ED9 pty\uFF08\u4EC5 tui \u6A21\u5F0F\uFF09\u3002body: { sessionId, cols, rows }"
|
|
8851
|
+
summary: "\u540C\u6B65\u7EC8\u7AEF\u5C3A\u5BF8\u7ED9 pty\uFF08\u4EC5 tui \u6A21\u5F0F\uFF09\u3002body: { sessionId, cols, rows }\u3002**\u540C pty:input\uFF1A\u53C2\u6570\u4E0D\u5BF9 / \u627E\u4E0D\u5230 pty \u9759\u9ED8\u8FD4 ok:false\uFF0C\u4E0D\u62A5\u9519**"
|
|
8852
8852
|
},
|
|
8853
8853
|
"session:pty:snapshot": {
|
|
8854
|
-
summary: "\u62C9\u5F53\u524D pty \u5C4F\u5E55\u5168\u91CF\u5FEB\u7167\uFF08\u5207\u56DE\u4F1A\u8BDD / \u5237\u65B0\u65F6\u7528\uFF09\uFF0C\u8FD4\u56DE { data, atSeq, popupKind }\uFF1B\u975E tui \
|
|
8854
|
+
summary: "\u62C9\u5F53\u524D pty \u5C4F\u5E55\u5168\u91CF\u5FEB\u7167\uFF08\u5207\u56DE\u4F1A\u8BDD / \u5237\u65B0\u65F6\u7528\uFF09\uFF0C\u8FD4\u56DE { data, atSeq, popupKind }\u3002body: { sessionId }\u3002**\u7F3A sessionId \u9759\u9ED8\u8FD4 ok:false\uFF1B\u975E tui / pty \u5DF2\u9000\u51FA\u8FD4 ok:true \u4F46 data=null, atSeq=0** \u2014\u2014 \u4E24\u8005\u90FD\u4E0D\u62A5\u9519\uFF0C\u8981\u5206\u6E05\u5F97\u770B ok\u3002\u53EA\u6709\u8D8A\u6743\u8BBF\u95EE\u8BE5\u4F1A\u8BDD\u624D\u629B\u9519"
|
|
8855
8855
|
},
|
|
8856
8856
|
"attachment.signUrl": {
|
|
8857
|
-
summary: "\u7ED9\u5DF2\u5165\u7FA4\u7684\u6587\u4EF6\u7B7E\u53D1 HMAC \u4E0B\u8F7D URL\uFF08\u8DE8\u8BBE\u5907\u53EF\u76F4\u63A5\u6253\u5F00\uFF09",
|
|
8857
|
+
summary: "\u7ED9\u5DF2\u5165\u7FA4**\u4E14\u975E stale** \u7684\u6587\u4EF6\u7B7E\u53D1 HMAC \u4E0B\u8F7D URL\uFF08\u8DE8\u8BBE\u5907\u53EF\u76F4\u63A5\u6253\u5F00\uFF09\u3002**\u9ED8\u8BA4 24h \u8FC7\u671F**\uFF1BttlSeconds \u663E\u5F0F\u4F20 null = \u6C38\u4E0D\u8FC7\u671F\u3002\u4E0D\u5728\u6E05\u5355\u91CC\u548C stale \u62A5\u540C\u4E00\u4E2A\u9519\uFF0C\u5206\u4E0D\u51FA\u662F\u54EA\u79CD",
|
|
8858
8858
|
args: AttachmentSignUrlArgs
|
|
8859
8859
|
},
|
|
8860
8860
|
"attachment.groupAdd": {
|
|
@@ -8882,7 +8882,7 @@ var init_methods = __esm({
|
|
|
8882
8882
|
args: InboxPostMessageArgsSchema
|
|
8883
8883
|
},
|
|
8884
8884
|
"inbox:sendDm": {
|
|
8885
|
-
summary: "\u4EE5\u5F53\u524D\u4F1A\u8BDD\u7684\u8EAB\u4EFD\u53D1\u4E00\u6761 DM\uFF08\u53D1\u4FE1\u4EBA\u7531 session scope \u5F52\u56E0\uFF0C\u4E0D\u53EF\u4F2A\u9020\uFF09\u3002**owner \u9A71\u52A8\u7684\u4F1A\u8BDD\u5FC5\u586B peerDeviceId**\uFF0Cguest \u9A71\u52A8\u7684\u53EF\u7701",
|
|
8885
|
+
summary: "\u4EE5\u5F53\u524D\u4F1A\u8BDD\u7684\u8EAB\u4EFD\u53D1\u4E00\u6761 DM\uFF08\u53D1\u4FE1\u4EBA\u7531 session scope \u5F52\u56E0\uFF0C\u4E0D\u53EF\u4F2A\u9020\uFF09\u3002**owner \u9A71\u52A8\u7684\u4F1A\u8BDD\u5FC5\u586B peerDeviceId**\uFF0Cguest \u9A71\u52A8\u7684\u53EF\u7701\uFF08\u4E14\u53EA\u80FD\u53D1\u7ED9 owner\uFF09\u3002**sessionId \u786C\u5FC5\u586B\u4F46\u4E0D\u5728 args schema \u91CC**\uFF08clawd-rpc \u81EA\u52A8\u8865\uFF0C\u76F4\u8FDE\u987B\u81EA\u5E26\uFF09\uFF0C\u4E14\u5FC5\u987B\u662F persona \u4F1A\u8BDD\uFF0C\u5426\u5219\u62D2",
|
|
8886
8886
|
args: InboxSendDmArgsSchema
|
|
8887
8887
|
},
|
|
8888
8888
|
"contact:list": {
|
|
@@ -8950,7 +8950,7 @@ var init_methods = __esm({
|
|
|
8950
8950
|
args: ExtensionIdArgs
|
|
8951
8951
|
},
|
|
8952
8952
|
"extension.publish": {
|
|
8953
|
-
summary: "\u628A\u672C\u673A extension \u516C\u5F00\u5230\u5206\u4EAB\u9891\u9053\uFF0C\u4F9B\u8054\u7CFB\u4EBA\u62C9\u53D6\u3002owner-only",
|
|
8953
|
+
summary: "\u628A\u672C\u673A extension \u516C\u5F00\u5230**\u5206\u53D1\u6E20\u9053**\uFF08extension \u7684\u5206\u4EAB\u9762\uFF0C\u4E0E channel:* \u7684\u300C\u9891\u9053\u300D\u662F\u4E24\u56DE\u4E8B\uFF09\uFF0C\u4F9B\u8054\u7CFB\u4EBA\u62C9\u53D6\u3002owner-only\u3002**\u7ED9\u4E86 newVersion \u4F1A\u5148\u539F\u5B50\u6539\u5199\u8BE5 extension \u78C1\u76D8\u4E0A manifest.json \u7684 version**\uFF08\u683C\u5F0F\u4E0D\u5408 semver \u2192 INVALID_VERSION\uFF1B\u6B64\u524D\u53D1\u5E03\u8FC7\u7684\u8FD8\u8981\u6C42\u4E25\u683C\u5927\u4E8E\u4E0A\u4E00\u4E2A\u5DF2\u53D1\u5E03\u7248\u672C\uFF0C\u5426\u5219 VERSION_NOT_BUMPED\uFF0C\u9996\u6B21\u53D1\u5E03\u4E0D\u6BD4\u8F83\uFF09\uFF1Bnull = \u4E0D bump",
|
|
8954
8954
|
args: ExtensionPublishArgs
|
|
8955
8955
|
},
|
|
8956
8956
|
"extension.unpublish": {
|
|
@@ -8970,11 +8970,11 @@ var init_methods = __esm({
|
|
|
8970
8970
|
args: ExtensionFetchBundleArgs
|
|
8971
8971
|
},
|
|
8972
8972
|
"extension.install-from-channel": {
|
|
8973
|
-
summary: "\u5728\u81EA\u5DF1 daemon \u4E0A\
|
|
8973
|
+
summary: "\u5728\u81EA\u5DF1 daemon \u4E0A\u88C5\u4E00\u4E2A\u6765\u81EA**\u5206\u53D1\u6E20\u9053**\u7684 extension\uFF08channelRef \u6307\u7684\u662F\u5206\u53D1\u6E20\u9053\uFF0C\u4E0E channel:* \u7684\u300C\u9891\u9053\u300D\u65E0\u5173\uFF09\u3002**bundle \u5B57\u8282\u8981\u8C03\u7528\u65B9\u7ED9**\uFF08zipBase64\uFF09\u2014\u2014daemon \u4E0D\u81EA\u5DF1\u53BB\u5BF9\u7AEF\u53D6\uFF0C\u5B8C\u6574\u94FE\u8DEF\u662F extension.list-published \u2192 extension.fetchBundle \u2192 \u672C\u65B9\u6CD5",
|
|
8974
8974
|
args: ExtensionFromChannelArgs
|
|
8975
8975
|
},
|
|
8976
8976
|
"extension.update-from-channel": {
|
|
8977
|
-
summary: "\
|
|
8977
|
+
summary: "\u628A\u5DF2\u88C5 extension \u66F4\u65B0\u5230**\u5206\u53D1\u6E20\u9053**\u4E0A\u7684\u65B0\u7248\u672C\uFF1B\u4E0E install-from-channel \u540C\u6837\u8981\u8C03\u7528\u65B9\u81EA\u5E26 zipBase64\uFF0C\u53D6\u5B57\u8282\u4ECD\u8D70 extension.fetchBundle",
|
|
8978
8978
|
args: ExtensionFromChannelArgs
|
|
8979
8979
|
},
|
|
8980
8980
|
"auth:login:start": {
|
|
@@ -9010,7 +9010,7 @@ var init_methods = __esm({
|
|
|
9010
9010
|
args: GetProjectArgsSchema
|
|
9011
9011
|
},
|
|
9012
9012
|
"appBuilder:createProject": {
|
|
9013
|
-
summary: "\u7ED9\u4F1A\u8BDD\u7ED1\u5B9A\u65B0 project\uFF1A\u6821\u9A8C\u540D + \u4ECE
|
|
9013
|
+
summary: "\u7ED9\u4F1A\u8BDD\u7ED1\u5B9A\u65B0 project\uFF1A\u6821\u9A8C\u540D + \u4ECE PROJECT_PORT_MIN..MAX \u6BB5\uFF08\u5F53\u524D 6173-6272\uFF09\u5206\u914D\u672A\u5360\u7528\u7AEF\u53E3\uFF08\u8DE8 user \u5168\u5C40\u552F\u4E00\uFF0C\u6C60\u6EE1\u62A5\u9519\uFF09+ \u5EFA\u76EE\u5F55\u5199\u5143\u6570\u636E + **\u540C\u6B65 scaffold**\uFF08spawn \u811A\u672C\u628A nestjs-react \u6A21\u677F\u62F7\u8FDB\u53BB\uFF1B\u5931\u8D25\u4F1A\u5220\u6389\u521A\u5EFA\u7684\u76EE\u5F55\u518D\u629B INTERNAL\uFF0C\u4E0D\u7559\u534A\u6210\u54C1\uFF09\u3002**\u88C5\u4F9D\u8D56\u548C\u8D77 dev server \u90FD\u4E0D\u5728\u8FD9\u91CC**\uFF1A\u843D\u5730 stage=install-pending\uFF0C\u8C03\u7528\u65B9\u81EA\u5DF1 pnpm install + appBuilder:reportStage + appBuilder:startDevServer",
|
|
9014
9014
|
args: CreateProjectArgsSchema
|
|
9015
9015
|
},
|
|
9016
9016
|
"appBuilder:deleteProject": {
|
|
@@ -9018,7 +9018,7 @@ var init_methods = __esm({
|
|
|
9018
9018
|
args: DeleteProjectArgsSchema
|
|
9019
9019
|
},
|
|
9020
9020
|
"appBuilder:updateProjectPort": {
|
|
9021
|
-
summary: "\u6539 dev server \u7AEF\u53E3\uFF08\u6821\u9A8C\u6BB5\u5185
|
|
9021
|
+
summary: "\u6539 dev server \u7AEF\u53E3\uFF08\u6821\u9A8C\u5728 PROJECT_PORT_MIN..MAX \u6BB5\u5185\u3001\u5F53\u524D 6173-6272\uFF1B**\u649E\u8F66\u53EA\u67E5\u8C03\u7528\u65B9\u81EA\u5DF1\u540D\u4E0B\u7684 project**\uFF0C\u4E0D\u50CF createProject \u90A3\u6837\u8DE8 user \u67E5\uFF09\uFF1A\u505C\u65E7\u7AEF\u53E3 dev server + \u6539 .clawd-project.json + \u7F6E stage=stopped\u3002**\u4E0D\u81EA\u52A8\u62C9\u8D77\u65B0\u7AEF\u53E3\u7684 dev server**\u2014\u2014\u8981\u8D77\u5F97\u518D\u8C03 appBuilder:startDevServer\uFF08\u90A3\u6761\u624D\u8D70 readiness probe\uFF09",
|
|
9022
9022
|
args: UpdateProjectPortArgsSchema
|
|
9023
9023
|
},
|
|
9024
9024
|
"appBuilder:setProdUrl": {
|
|
@@ -63018,7 +63018,7 @@ function computeMethodAccess(args) {
|
|
|
63018
63018
|
}
|
|
63019
63019
|
|
|
63020
63020
|
// src/version.ts
|
|
63021
|
-
var version = "0.2.
|
|
63021
|
+
var version = "0.2.445".length > 0 ? "0.2.445" : "dev";
|
|
63022
63022
|
|
|
63023
63023
|
// src/cli-probe/probe.ts
|
|
63024
63024
|
var fs66 = __toESM(require("fs"), 1);
|
|
@@ -23499,11 +23499,11 @@ var METHOD_DOCS = {
|
|
|
23499
23499
|
}
|
|
23500
23500
|
},
|
|
23501
23501
|
"session:externalScan": {
|
|
23502
|
-
summary: "\u626B\u63CF\u672C\u673A Claude Code / Codex \u5386\u53F2\u4F1A\u8BDD\uFF0C\u8FD4\u56DE\u53EF\u5BFC\u5165\u5019\u9009\u6E05\u5355\uFF08cwd/toolSessionId/\u65F6\u95F4\u6233/\u8F6E\u6570\uFF09\
|
|
23502
|
+
summary: "\u626B\u63CF\u672C\u673A Claude Code / Codex \u5386\u53F2\u4F1A\u8BDD\uFF0C\u8FD4\u56DE\u53EF\u5BFC\u5165\u5019\u9009\u6E05\u5355\uFF08cwd/toolSessionId/\u65F6\u95F4\u6233/\u8F6E\u6570\uFF09\uFF1Bowner-only\u3002\u88AB skip \u7684\u76F4\u63A5\u4E0D\u8FD4\u56DE\uFF1Asubagent \u652F\u7EBF / \u65E0 cwd / \u975E\u7528\u6237\u5165\u53E3\uFF08CC \u7684 entrypoint \u4E0D\u662F cli\xB7claude-desktop\uFF09/ \u975E\u7528\u6237\u65B0\u5EFA\xB7\u5DF2\u5F52\u6863\xB7\u7A7A\u4F1A\u8BDD\uFF08codex\uFF09/ \u96F6\u7528\u6237\u53D1\u8A00 / \u5DE5\u4F5C\u76EE\u5F55\u5DF2\u4E0D\u5B58\u5728 / cwd \u5728 ~/.clawd \u4E0B / \u5DF2\u5BFC\u5165\u8FC7\uFF08\u53BB\u91CD\u96C6\u5408 = \u6D3B\u7740\u7684 session \u222A \u5BFC\u5165\u53F0\u8D26\uFF0C\u5220\u4E86\u4F1A\u8BDD\u4E5F\u4E0D\u5931\u5FC6\uFF09\u3002**\u9664\u300C\u96F6\u7528\u6237\u53D1\u8A00\u300D\u5916\u4E0D\u518D\u8BBE\u8F6E\u6B21\u95E8\u69DB\uFF0C\u4E5F\u4E0D\u505A\u65F6\u95F4\u7A97\u8FC7\u6EE4**\u2014\u2014\u6309\u8FD4\u56DE\u7684 turns / \u65F6\u95F4\u6233\u7531\u8C03\u7528\u65B9\u81EA\u5DF1\u7B5B\uFF08UI \u7684\u6458\u8981\u7EDF\u8BA1\u540C\u7406\uFF09\u3002\u53E6\u6709\u6574\u6E90\u4E0D\u4EA7\u5019\u9009\u7684\u60C5\u51B5\uFF1A\u672C\u673A\u6CA1\u88C5 codex\u3001\u6216 codex \u5E93\u91CC\u5224\u4E0D\u51FA\u4F1A\u8BDD\u5165\u53E3\uFF08\u65E0 threads \u8868 / \u7F3A thread_source \u5217\uFF09\u65F6\uFF0C**codex \u4FA7\u6574\u4E2A\u8FD4\u7A7A**\uFF0C\u4E0D\u662F\u9010\u6761 skip",
|
|
23503
23503
|
args: SessionExternalScanArgs
|
|
23504
23504
|
},
|
|
23505
23505
|
"session:importExternal": {
|
|
23506
|
-
summary: "\u628A Claude Code / Codex \u65E2\u6709\u5386\u53F2\u4F1A\u8BDD\u5BFC\u5165\u4E3A clawd \u5F15\u7528\uFF1A\
|
|
23506
|
+
summary: "\u628A Claude Code / Codex \u65E2\u6709\u5386\u53F2\u4F1A\u8BDD\u5BFC\u5165\u4E3A clawd \u5F15\u7528\uFF1A\u5199 SessionFile + \u5F80\u5BFC\u5165\u53F0\u8D26 append \u4E00\u884C\uFF08\u53BB\u91CD\u547D\u4E2D\u7684\u4E0D\u843D\u8D26\uFF09\uFF0C**\u4E0D\u62C9\u8D77 runner\u3001\u4E0D\u6539\u539F\u59CB transcript**\uFF1B\u6309 toolSessionId \u8DE8 owned scope \u53BB\u91CD\uFF0C\u65B0\u5BFC\u5165\u4F1A\u5E7F\u64AD session:info\u3002\u53F0\u8D26 append-only \u4E14\u4E0D\u968F\u4F1A\u8BDD\u5220\u9664\u6D88\u5931\u2014\u2014\u5220\u6389\u4F1A\u8BDD\u4E0D\u7B49\u4E8E\u64A4\u9500\u5BFC\u5165\uFF0C\u60F3\u8BA9\u67D0\u6761\u91CD\u65B0\u53EF\u5BFC\u5165\u8981\u8D70 clawd-session-import --undo \u6E05\u8D26",
|
|
23507
23507
|
args: SessionImportExternalArgs
|
|
23508
23508
|
},
|
|
23509
23509
|
"session:list": {
|
|
@@ -23515,7 +23515,7 @@ var METHOD_DOCS = {
|
|
|
23515
23515
|
args: SessionIdArgs
|
|
23516
23516
|
},
|
|
23517
23517
|
"session:update": {
|
|
23518
|
-
summary: "\u6539\u4F1A\u8BDD\u5143\u6570\u636E\uFF0C\u4E0D\u5F71\u54CD\u8FDB\u7A0B\
|
|
23518
|
+
summary: "\u6539\u4F1A\u8BDD\u5143\u6570\u636E\uFF0C\u4E0D\u5F71\u54CD\u8FDB\u7A0B\u3002**patch \u91CC\u7684\u672A\u77E5\u952E\u4F1A\u88AB\u9759\u9ED8\u4E22\u5F03**\uFF08zod strip\uFF09\uFF0Chandler \u7167\u6837\u8FD4 ok\u2014\u2014\u5141\u8BB8\u54EA\u4E9B\u952E\u4EE5 argsSchema \u4E3A\u51C6\uFF08meta:methods \u4F20 method \u53C2\u6570\u5373\u53EF\u53D6\u5230\uFF09\uFF0C\u522B\u7167\u8BB0\u5FC6\u731C\u3002ephemeral \u53EA\u6536 false\uFF1A\u5FEB\u901F\u95EE\u7B54\u4F1A\u8BDD\u8F6C\u6B63\u53EA\u80FD\u6458\u4E0D\u80FD\u6253\uFF0C\u53CD\u5411\u6807\u8BB0\u4F1A\u8BA9\u4F1A\u8BDD\u4ECE\u6240\u6709 sidebar \u89C6\u91CE\u6D88\u5931\u4E14\u5220\u4E0D\u6389",
|
|
23519
23519
|
args: SessionUpdateArgs
|
|
23520
23520
|
},
|
|
23521
23521
|
"session:delete": {
|
|
@@ -23647,11 +23647,11 @@ var METHOD_DOCS = {
|
|
|
23647
23647
|
args: NO_ARGS
|
|
23648
23648
|
},
|
|
23649
23649
|
"project:list": {
|
|
23650
|
-
summary: "\u5217\u51FA
|
|
23650
|
+
summary: "\u5217\u51FA\u9879\u76EE\u6E05\u5355\uFF08owner-only\uFF09\u3002**\u771F\u503C = Codex \u7684 local-projects \u222A \u672C\u673A projects.json \u53E0\u52A0\u5C42**\uFF1A\u6309\u5F52\u4E00\u5316 path \u53BB\u91CD\u3001Codex \u4FA7\u7684 name \u4F18\u5148\uFF08\u7528\u6237\u5728 Codex \u91CC\u6539\u8FC7\u7684\u66F4\u6743\u5A01\uFF09\uFF0CCodex \u91CC createdAt=0 \u7684\u81EA\u52A8\u6536\u5F55\u6761\u76EE\u8DF3\u8FC7\uFF1B\u6CA1\u914D Codex state \u6587\u4EF6\u65F6\u9000\u5316\u4E3A\u53EA\u6709\u672C\u5730\u53E0\u52A0\u5C42\u3002\u4E09\u6761\u8DEF\u5F84\u5224\u636E\u4E00\u5F8B\u8FC7\u6EE4\uFF1A~/.clawd \u5B50\u6811 / home \u6839 / \u6587\u4EF6\u7CFB\u7EDF\u6839\u3002\u4F1A\u8BDD\u5F52\u7EC4\u5728 UI \u4FA7\u505A",
|
|
23651
23651
|
args: NO_ARGS
|
|
23652
23652
|
},
|
|
23653
23653
|
"project:create": {
|
|
23654
|
-
summary: "\u65B0\u5EFA project\uFF1A\u6821\u9A8C\u76EE\u5F55\
|
|
23654
|
+
summary: "\u65B0\u5EFA project\uFF08owner-only\uFF09\u3002**path \u4E0E name \u81F3\u5C11\u4F20\u4E00\u4E2A**\uFF0C\u4E24\u6761\u5206\u652F\u526F\u4F5C\u7528\u4E0D\u540C\uFF1A\u7ED9 path = \u5728\u73B0\u6210\u76EE\u5F55\u4E0A\u767B\u8BB0\uFF08\u53EA\u6821\u9A8C\u662F\u76EE\u5F55\uFF0C\u4E0D\u52A8\u78C1\u76D8\uFF09\uFF1B**\u53EA\u7ED9 name = \u5728 ~/Documents/ChatGPT/<name>/ \u5EFA\u76EE\u5F55\u5E76 git init**\uFF08\u649E\u540D\u52A0\u6570\u5B57\u540E\u7F00 `x 2`\uFF1Bgit init \u5931\u8D25\u4F1A\u6E05\u6389\u521A\u5EFA\u7684\u76EE\u5F55\u518D\u62A5\u9519\uFF09\u3002\u843D\u8FDB\u672C\u673A projects.json \u53E0\u52A0\u5C42\uFF08\u8DEF\u5F84\u987B\u8FC7 project:list \u90A3\u4E09\u6761\u5224\u636E\uFF0C\u5426\u5219\u62A5\u9519\uFF09\uFF0C**\u4E0D\u5199 Codex registry**\uFF08Codex \u4FA7\u9760\u81EA\u7136\u6536\u5F55\uFF09",
|
|
23655
23655
|
args: ProjectCreateArgs,
|
|
23656
23656
|
argsConstraints: {
|
|
23657
23657
|
anyOf: [{ required: ["path"] }, { required: ["name"] }]
|
|
@@ -23745,7 +23745,7 @@ var METHOD_DOCS = {
|
|
|
23745
23745
|
},
|
|
23746
23746
|
// ---- master:*(授权查表,Master 经 clawd-rpc 桥调)----
|
|
23747
23747
|
"master:authorityCheck": {
|
|
23748
|
-
summary: "\u67E5 Master \u7684\u6388\u6743\u8BBE\u5B9A\uFF08\u5168\u5C40\u4E00\u5957\uFF09\uFF1A\u8FD4\u56DE ask / allow / deny\u3002\u8868\
|
|
23748
|
+
summary: "\u67E5 Master \u7684\u6388\u6743\u8BBE\u5B9A\uFF08\u5168\u5C40\u4E00\u5957\uFF09\uFF1A\u8FD4\u56DE ask / allow / deny + source\u3002**\u8BBE\u5B9A\u6587\u4EF6\u4E0D\u5B58\u5728 \u2192 \u7528\u51FA\u5382\u9ED8\u8BA4\u89C4\u5219\u8868**\uFF08source=default\uFF0C\u5F53\u524D\u56DB\u6761\u5BF9\u5916\u4E0D\u53EF\u9006\u52A8\u4F5C\u5168\u662F ask\uFF0C\u522B\u628A\u5B83\u5F53\u5F02\u5E38\u515C\u5E95\uFF09\uFF1B\u8BFB\u574F / \u7ED3\u6784\u4E0D\u5BF9 / action \u62FC\u9519 / id \u672A\u767B\u8BB0 \u2192 **fail-safe \u88C1\u51B3 ask**\uFF08source=fallback:<\u539F\u56E0>\uFF0C\u4E0D\u9759\u9ED8\u541E\uFF09",
|
|
23749
23749
|
args: AuthorityCheckArgsSchema
|
|
23750
23750
|
},
|
|
23751
23751
|
"github:status": {
|
|
@@ -23869,7 +23869,7 @@ var METHOD_DOCS = {
|
|
|
23869
23869
|
args: NO_ARGS
|
|
23870
23870
|
},
|
|
23871
23871
|
"persona:get": {
|
|
23872
|
-
summary: "\u53D6\u5355\u4E2A persona \u8BE6\u60C5\uFF0C**\
|
|
23872
|
+
summary: "\u53D6\u5355\u4E2A persona \u8BE6\u60C5\u2014\u2014\u552F\u4E00\u643A\u5E26\u4EBA\u683C\u6B63\u6587\u7684 method\uFF0C\u800C**\u6B63\u6587\u662F\u4E24\u5C42\u3001\u8981\u8BFB\u5168\u5F97\u4E24\u5C42\u90FD\u770B**\uFF1Apersonality\uFF08builtin CLAUDE.md\uFF09+ personalityLocal\uFF08\u8865\u5145\u5C42 .clawd/personality.local.md\uFF0C'' = \u6CA1\u5199\uFF09\uFF0CpersonalityManaged \u6807 builtin \u5C42\u5F52\u4E0D\u5F52 daemon \u6258\u7BA1\uFF08\u9884\u88C5 persona = \u4EA7\u54C1\u89C4\u683C\u3001\u53EA\u8BFB\uFF09\u3002\u53E6\u5E26 skills / plugins / sandboxSettings / codexSandbox\u3002\u54CD\u5E94\u628A PersonaFile \u5E73\u94FA\u5728\u5E27\u4E0A\uFF08\u65E0 persona \u5305\u88F9\u952E\uFF09\uFF1B\u67E5\u4E0D\u5230 / guest \u65E0\u6743\u9650\u629B PERSONA_NOT_FOUND",
|
|
23873
23873
|
args: PersonaIdArgsSchema
|
|
23874
23874
|
},
|
|
23875
23875
|
"persona:update": {
|
|
@@ -23905,16 +23905,16 @@ var METHOD_DOCS = {
|
|
|
23905
23905
|
args: PeerExecRunArgsSchema
|
|
23906
23906
|
},
|
|
23907
23907
|
"session:pty:input": {
|
|
23908
|
-
summary: "\u628A\u7528\u6237\u952E\u76D8\u5B57\u8282\u5199\u8FDB pty stdin\uFF08\u4EC5 CLAWD_CC_MODE=tui\uFF09\u3002\u9AD8\u9891\u5E27\uFF0C\u4E0D\u5165 reducer\u3002body: { sessionId, data\uFF08base64-utf8\uFF09 }"
|
|
23908
|
+
summary: "\u628A\u7528\u6237\u952E\u76D8\u5B57\u8282\u5199\u8FDB pty stdin\uFF08\u4EC5 CLAWD_CC_MODE=tui\uFF09\u3002\u9AD8\u9891\u5E27\uFF0C\u4E0D\u5165 reducer\u3002body: { sessionId, data\uFF08base64-utf8\uFF09 }\u3002**\u53C2\u6570\u7F3A\u5931 / \u7C7B\u578B\u4E0D\u5BF9 / \u975E tui / pty \u5DF2\u9000\u51FA\u90FD\u9759\u9ED8\u8FD4 ok:false \u800C\u4E0D\u62A5\u9519**\uFF08\u9AD8\u9891\u5E27\u4E0D\u80FD\u629B\u9519\u5237\u5C4F\uFF09\u2014\u2014\u62FF\u5230 false \u5206\u4E0D\u51FA\u662F\u54EA\u79CD\u539F\u56E0\u3002\u53EA\u6709\u8D8A\u6743\u8BBF\u95EE\u8BE5\u4F1A\u8BDD\u624D\u629B\u9519"
|
|
23909
23909
|
},
|
|
23910
23910
|
"session:pty:resize": {
|
|
23911
|
-
summary: "\u540C\u6B65\u7EC8\u7AEF\u5C3A\u5BF8\u7ED9 pty\uFF08\u4EC5 tui \u6A21\u5F0F\uFF09\u3002body: { sessionId, cols, rows }"
|
|
23911
|
+
summary: "\u540C\u6B65\u7EC8\u7AEF\u5C3A\u5BF8\u7ED9 pty\uFF08\u4EC5 tui \u6A21\u5F0F\uFF09\u3002body: { sessionId, cols, rows }\u3002**\u540C pty:input\uFF1A\u53C2\u6570\u4E0D\u5BF9 / \u627E\u4E0D\u5230 pty \u9759\u9ED8\u8FD4 ok:false\uFF0C\u4E0D\u62A5\u9519**"
|
|
23912
23912
|
},
|
|
23913
23913
|
"session:pty:snapshot": {
|
|
23914
|
-
summary: "\u62C9\u5F53\u524D pty \u5C4F\u5E55\u5168\u91CF\u5FEB\u7167\uFF08\u5207\u56DE\u4F1A\u8BDD / \u5237\u65B0\u65F6\u7528\uFF09\uFF0C\u8FD4\u56DE { data, atSeq, popupKind }\uFF1B\u975E tui \
|
|
23914
|
+
summary: "\u62C9\u5F53\u524D pty \u5C4F\u5E55\u5168\u91CF\u5FEB\u7167\uFF08\u5207\u56DE\u4F1A\u8BDD / \u5237\u65B0\u65F6\u7528\uFF09\uFF0C\u8FD4\u56DE { data, atSeq, popupKind }\u3002body: { sessionId }\u3002**\u7F3A sessionId \u9759\u9ED8\u8FD4 ok:false\uFF1B\u975E tui / pty \u5DF2\u9000\u51FA\u8FD4 ok:true \u4F46 data=null, atSeq=0** \u2014\u2014 \u4E24\u8005\u90FD\u4E0D\u62A5\u9519\uFF0C\u8981\u5206\u6E05\u5F97\u770B ok\u3002\u53EA\u6709\u8D8A\u6743\u8BBF\u95EE\u8BE5\u4F1A\u8BDD\u624D\u629B\u9519"
|
|
23915
23915
|
},
|
|
23916
23916
|
"attachment.signUrl": {
|
|
23917
|
-
summary: "\u7ED9\u5DF2\u5165\u7FA4\u7684\u6587\u4EF6\u7B7E\u53D1 HMAC \u4E0B\u8F7D URL\uFF08\u8DE8\u8BBE\u5907\u53EF\u76F4\u63A5\u6253\u5F00\uFF09",
|
|
23917
|
+
summary: "\u7ED9\u5DF2\u5165\u7FA4**\u4E14\u975E stale** \u7684\u6587\u4EF6\u7B7E\u53D1 HMAC \u4E0B\u8F7D URL\uFF08\u8DE8\u8BBE\u5907\u53EF\u76F4\u63A5\u6253\u5F00\uFF09\u3002**\u9ED8\u8BA4 24h \u8FC7\u671F**\uFF1BttlSeconds \u663E\u5F0F\u4F20 null = \u6C38\u4E0D\u8FC7\u671F\u3002\u4E0D\u5728\u6E05\u5355\u91CC\u548C stale \u62A5\u540C\u4E00\u4E2A\u9519\uFF0C\u5206\u4E0D\u51FA\u662F\u54EA\u79CD",
|
|
23918
23918
|
args: AttachmentSignUrlArgs
|
|
23919
23919
|
},
|
|
23920
23920
|
"attachment.groupAdd": {
|
|
@@ -23942,7 +23942,7 @@ var METHOD_DOCS = {
|
|
|
23942
23942
|
args: InboxPostMessageArgsSchema
|
|
23943
23943
|
},
|
|
23944
23944
|
"inbox:sendDm": {
|
|
23945
|
-
summary: "\u4EE5\u5F53\u524D\u4F1A\u8BDD\u7684\u8EAB\u4EFD\u53D1\u4E00\u6761 DM\uFF08\u53D1\u4FE1\u4EBA\u7531 session scope \u5F52\u56E0\uFF0C\u4E0D\u53EF\u4F2A\u9020\uFF09\u3002**owner \u9A71\u52A8\u7684\u4F1A\u8BDD\u5FC5\u586B peerDeviceId**\uFF0Cguest \u9A71\u52A8\u7684\u53EF\u7701",
|
|
23945
|
+
summary: "\u4EE5\u5F53\u524D\u4F1A\u8BDD\u7684\u8EAB\u4EFD\u53D1\u4E00\u6761 DM\uFF08\u53D1\u4FE1\u4EBA\u7531 session scope \u5F52\u56E0\uFF0C\u4E0D\u53EF\u4F2A\u9020\uFF09\u3002**owner \u9A71\u52A8\u7684\u4F1A\u8BDD\u5FC5\u586B peerDeviceId**\uFF0Cguest \u9A71\u52A8\u7684\u53EF\u7701\uFF08\u4E14\u53EA\u80FD\u53D1\u7ED9 owner\uFF09\u3002**sessionId \u786C\u5FC5\u586B\u4F46\u4E0D\u5728 args schema \u91CC**\uFF08clawd-rpc \u81EA\u52A8\u8865\uFF0C\u76F4\u8FDE\u987B\u81EA\u5E26\uFF09\uFF0C\u4E14\u5FC5\u987B\u662F persona \u4F1A\u8BDD\uFF0C\u5426\u5219\u62D2",
|
|
23946
23946
|
args: InboxSendDmArgsSchema
|
|
23947
23947
|
},
|
|
23948
23948
|
"contact:list": {
|
|
@@ -24010,7 +24010,7 @@ var METHOD_DOCS = {
|
|
|
24010
24010
|
args: ExtensionIdArgs
|
|
24011
24011
|
},
|
|
24012
24012
|
"extension.publish": {
|
|
24013
|
-
summary: "\u628A\u672C\u673A extension \u516C\u5F00\u5230\u5206\u4EAB\u9891\u9053\uFF0C\u4F9B\u8054\u7CFB\u4EBA\u62C9\u53D6\u3002owner-only",
|
|
24013
|
+
summary: "\u628A\u672C\u673A extension \u516C\u5F00\u5230**\u5206\u53D1\u6E20\u9053**\uFF08extension \u7684\u5206\u4EAB\u9762\uFF0C\u4E0E channel:* \u7684\u300C\u9891\u9053\u300D\u662F\u4E24\u56DE\u4E8B\uFF09\uFF0C\u4F9B\u8054\u7CFB\u4EBA\u62C9\u53D6\u3002owner-only\u3002**\u7ED9\u4E86 newVersion \u4F1A\u5148\u539F\u5B50\u6539\u5199\u8BE5 extension \u78C1\u76D8\u4E0A manifest.json \u7684 version**\uFF08\u683C\u5F0F\u4E0D\u5408 semver \u2192 INVALID_VERSION\uFF1B\u6B64\u524D\u53D1\u5E03\u8FC7\u7684\u8FD8\u8981\u6C42\u4E25\u683C\u5927\u4E8E\u4E0A\u4E00\u4E2A\u5DF2\u53D1\u5E03\u7248\u672C\uFF0C\u5426\u5219 VERSION_NOT_BUMPED\uFF0C\u9996\u6B21\u53D1\u5E03\u4E0D\u6BD4\u8F83\uFF09\uFF1Bnull = \u4E0D bump",
|
|
24014
24014
|
args: ExtensionPublishArgs
|
|
24015
24015
|
},
|
|
24016
24016
|
"extension.unpublish": {
|
|
@@ -24030,11 +24030,11 @@ var METHOD_DOCS = {
|
|
|
24030
24030
|
args: ExtensionFetchBundleArgs
|
|
24031
24031
|
},
|
|
24032
24032
|
"extension.install-from-channel": {
|
|
24033
|
-
summary: "\u5728\u81EA\u5DF1 daemon \u4E0A\
|
|
24033
|
+
summary: "\u5728\u81EA\u5DF1 daemon \u4E0A\u88C5\u4E00\u4E2A\u6765\u81EA**\u5206\u53D1\u6E20\u9053**\u7684 extension\uFF08channelRef \u6307\u7684\u662F\u5206\u53D1\u6E20\u9053\uFF0C\u4E0E channel:* \u7684\u300C\u9891\u9053\u300D\u65E0\u5173\uFF09\u3002**bundle \u5B57\u8282\u8981\u8C03\u7528\u65B9\u7ED9**\uFF08zipBase64\uFF09\u2014\u2014daemon \u4E0D\u81EA\u5DF1\u53BB\u5BF9\u7AEF\u53D6\uFF0C\u5B8C\u6574\u94FE\u8DEF\u662F extension.list-published \u2192 extension.fetchBundle \u2192 \u672C\u65B9\u6CD5",
|
|
24034
24034
|
args: ExtensionFromChannelArgs
|
|
24035
24035
|
},
|
|
24036
24036
|
"extension.update-from-channel": {
|
|
24037
|
-
summary: "\
|
|
24037
|
+
summary: "\u628A\u5DF2\u88C5 extension \u66F4\u65B0\u5230**\u5206\u53D1\u6E20\u9053**\u4E0A\u7684\u65B0\u7248\u672C\uFF1B\u4E0E install-from-channel \u540C\u6837\u8981\u8C03\u7528\u65B9\u81EA\u5E26 zipBase64\uFF0C\u53D6\u5B57\u8282\u4ECD\u8D70 extension.fetchBundle",
|
|
24038
24038
|
args: ExtensionFromChannelArgs
|
|
24039
24039
|
},
|
|
24040
24040
|
"auth:login:start": {
|
|
@@ -24070,7 +24070,7 @@ var METHOD_DOCS = {
|
|
|
24070
24070
|
args: GetProjectArgsSchema
|
|
24071
24071
|
},
|
|
24072
24072
|
"appBuilder:createProject": {
|
|
24073
|
-
summary: "\u7ED9\u4F1A\u8BDD\u7ED1\u5B9A\u65B0 project\uFF1A\u6821\u9A8C\u540D + \u4ECE
|
|
24073
|
+
summary: "\u7ED9\u4F1A\u8BDD\u7ED1\u5B9A\u65B0 project\uFF1A\u6821\u9A8C\u540D + \u4ECE PROJECT_PORT_MIN..MAX \u6BB5\uFF08\u5F53\u524D 6173-6272\uFF09\u5206\u914D\u672A\u5360\u7528\u7AEF\u53E3\uFF08\u8DE8 user \u5168\u5C40\u552F\u4E00\uFF0C\u6C60\u6EE1\u62A5\u9519\uFF09+ \u5EFA\u76EE\u5F55\u5199\u5143\u6570\u636E + **\u540C\u6B65 scaffold**\uFF08spawn \u811A\u672C\u628A nestjs-react \u6A21\u677F\u62F7\u8FDB\u53BB\uFF1B\u5931\u8D25\u4F1A\u5220\u6389\u521A\u5EFA\u7684\u76EE\u5F55\u518D\u629B INTERNAL\uFF0C\u4E0D\u7559\u534A\u6210\u54C1\uFF09\u3002**\u88C5\u4F9D\u8D56\u548C\u8D77 dev server \u90FD\u4E0D\u5728\u8FD9\u91CC**\uFF1A\u843D\u5730 stage=install-pending\uFF0C\u8C03\u7528\u65B9\u81EA\u5DF1 pnpm install + appBuilder:reportStage + appBuilder:startDevServer",
|
|
24074
24074
|
args: CreateProjectArgsSchema
|
|
24075
24075
|
},
|
|
24076
24076
|
"appBuilder:deleteProject": {
|
|
@@ -24078,7 +24078,7 @@ var METHOD_DOCS = {
|
|
|
24078
24078
|
args: DeleteProjectArgsSchema
|
|
24079
24079
|
},
|
|
24080
24080
|
"appBuilder:updateProjectPort": {
|
|
24081
|
-
summary: "\u6539 dev server \u7AEF\u53E3\uFF08\u6821\u9A8C\u6BB5\u5185
|
|
24081
|
+
summary: "\u6539 dev server \u7AEF\u53E3\uFF08\u6821\u9A8C\u5728 PROJECT_PORT_MIN..MAX \u6BB5\u5185\u3001\u5F53\u524D 6173-6272\uFF1B**\u649E\u8F66\u53EA\u67E5\u8C03\u7528\u65B9\u81EA\u5DF1\u540D\u4E0B\u7684 project**\uFF0C\u4E0D\u50CF createProject \u90A3\u6837\u8DE8 user \u67E5\uFF09\uFF1A\u505C\u65E7\u7AEF\u53E3 dev server + \u6539 .clawd-project.json + \u7F6E stage=stopped\u3002**\u4E0D\u81EA\u52A8\u62C9\u8D77\u65B0\u7AEF\u53E3\u7684 dev server**\u2014\u2014\u8981\u8D77\u5F97\u518D\u8C03 appBuilder:startDevServer\uFF08\u90A3\u6761\u624D\u8D70 readiness probe\uFF09",
|
|
24082
24082
|
args: UpdateProjectPortArgsSchema
|
|
24083
24083
|
},
|
|
24084
24084
|
"appBuilder:setProdUrl": {
|
package/dist/persona-defaults/persona-clawd-butler/.claude/skills/clawd-orchestration/SKILL.md
CHANGED
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: clawd-orchestration
|
|
3
|
-
description: 老板要 dispatch 任务给别的 persona、给联系人发 DM、排定时任务(shift/routine
|
|
3
|
+
description: 老板要 dispatch 任务给别的 persona、给联系人发 DM、排定时任务(shift/routine)、管授权联系人,或问频道 / 话题 / 拆线 / 验收 / 收敛 / Master 相关的事(「这个话题结了没」「第 2 条线怎么样」「把这几个分身编成一组干一件事」)时触发
|
|
4
4
|
---
|
|
5
5
|
|
|
6
6
|
# 任务调度 & DM & 定时 & 联系人管理
|
|
7
7
|
|
|
8
|
-
老板讲"派 xxx 干 yyy、给 xxx 发个消息、每天早上跑一下 zzz
|
|
8
|
+
老板讲"派 xxx 干 yyy、给 xxx 发个消息、每天早上跑一下 zzz、给某人授权/撤销授权、把这几个分身组织起来干一件事"就用这个 skill。
|
|
9
9
|
|
|
10
10
|
## 怎么答
|
|
11
11
|
|
|
@@ -17,6 +17,7 @@ description: 老板要 dispatch 任务给别的 persona、给联系人发 DM、
|
|
|
17
17
|
| 给某人发 DM | `${CLAWOS_API}/api/docs/orchestration/inbox-guide.md` |
|
|
18
18
|
| 排定时任务(`/schedule`、`/loop`、shift) | `${CLAWOS_API}/api/docs/orchestration/shift-guide.md` |
|
|
19
19
|
| 授权联系人 / 撤销授权 / 看谁授过我啥 | `${CLAWOS_API}/api/docs/orchestration/contacts-guide.md` |
|
|
20
|
+
| 频道 / 话题(多分身拆线并行 + 逐条验收) | `${CLAWOS_API}/api/docs/orchestration/channel-topic-guide.md` |
|
|
20
21
|
|
|
21
22
|
**能调的 MCP 工具**(daemon 已自动注入,直接调):
|
|
22
23
|
|
package/dist/persona-defaults/persona-clawd-butler/.claude/skills/clawd-session-lens/SKILL.md
CHANGED
|
@@ -9,7 +9,7 @@ description: 老板要看 session 内容时触发——汇总某个时段的会
|
|
|
9
9
|
|
|
10
10
|
## 怎么答
|
|
11
11
|
|
|
12
|
-
先 fetch `${CLAWOS_API}/api/docs/session/session-format.md` 一次——了解
|
|
12
|
+
先 fetch `${CLAWOS_API}/api/docs/session/session-format.md` 一次——了解 session 有哪些元信息字段、时间戳咋排、正文在哪。
|
|
13
13
|
|
|
14
14
|
然后按老板需求挑:
|
|
15
15
|
|
|
@@ -17,20 +17,32 @@ description: 老板要看 session 内容时触发——汇总某个时段的会
|
|
|
17
17
|
|---|---|
|
|
18
18
|
| 常见观测意图怎么读(时段汇总 / 关键词搜 / 按 persona 切) | `${CLAWOS_API}/api/docs/session/common-queries.md` |
|
|
19
19
|
|
|
20
|
-
|
|
20
|
+
### ⚠️ 一律走 RPC,不要扫 `~/.clawd/sessions/`
|
|
21
21
|
|
|
22
|
-
|
|
22
|
+
两个独立的坑叠在一起,**都是静默返回空、不报错**:
|
|
23
23
|
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
24
|
+
1. 对话正文不在 session 文件里(在 AI 工具自己的 transcript 里)→ grep 关键词永远搜不到
|
|
25
|
+
2. 会话按归属分目录,`~/.clawd/sessions/` **只装不属于任何分身的**;分身名下的全在
|
|
26
|
+
`~/.clawd/personas/<personaId>/.clawd/sessions/owner/` → 拿 `ownerPersonaId` 筛那个目录**恒为空**
|
|
27
|
+
|
|
28
|
+
别据此说"老板没聊过这事"/"这个分身没有会话"。三件事三个 RPC:
|
|
29
|
+
|
|
30
|
+
- **列会话**:`session:list({ownerPersonaId?, limit?, offset?})` —— 按 `updatedAt` 倒序回元信息
|
|
31
|
+
全集(label / cwd / unreadAt / archivedAt / pinnedAt / dispatchedFromSessionId ...)。
|
|
32
|
+
按时段、按 persona、找未读、找未归档**都在这一步的结果上过滤**
|
|
33
|
+
- **搜内容**:`session:searchContent({query, sessionIds, limit?})` —— 候选 id 自己从
|
|
34
|
+
`session:list` 按 `updatedAt` 倒序传进去(daemon 不自己筛)。只搜用户/助手说的话,
|
|
35
|
+
thinking、工具入参、工具结果**搜不到**,每条会话只回第一处命中
|
|
36
|
+
- **拉某条**:`history:read({sessionId, limit, slim: true})`。**`slim: true` 几乎总是要带**,
|
|
37
|
+
否则工具调用原文吃掉一大块 context
|
|
28
38
|
|
|
29
39
|
汇总时讲结论:几次 session、哪些 persona、每个 session 的主题一句话——不要把消息原文一股脑贴出来。老板要原文会明说"把 xxx session 完整给我"。
|
|
30
40
|
|
|
31
41
|
## fetch 失败了
|
|
32
42
|
|
|
33
|
-
session
|
|
43
|
+
两份都拉不到就直接用 `session:list` / `session:searchContent` / `history:read` —— 参数名不确定
|
|
44
|
+
就先 `list` 一下 RPC 清单。**别退回去扫 `~/.clawd/sessions/`**,那条路本身是坏的(见上)。
|
|
45
|
+
**任何字段含义不确定就明说"这个字段我不确定含义,让 David 看一眼再答"**,别瞎解释。
|
|
34
46
|
|
|
35
47
|
## 回答风格
|
|
36
48
|
|