@clawos-dev/clawd 0.2.320 → 0.2.322

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.
@@ -21851,6 +21851,42 @@ var LarkBotStateFrameSchema = LarkBotStatusResultSchema.extend({
21851
21851
  personaId: external_exports.string().min(1)
21852
21852
  });
21853
21853
 
21854
+ // ../protocol/src/onboarding-schemas.ts
21855
+ var OnboardingCompleteArgs = external_exports.object({});
21856
+ var OnboardingCompleteResultSchema = external_exports.object({
21857
+ /** 毫秒时间戳;重复调用幂等返回首次值(对齐 personaScanDoneAt 先例) */
21858
+ onboardingCompletedAt: external_exports.number()
21859
+ });
21860
+ var ToolsProbeArgs = external_exports.object({});
21861
+ var ToolsProbeResultSchema = external_exports.object({
21862
+ tools: external_exports.array(
21863
+ external_exports.object({
21864
+ id: external_exports.enum(["claude", "codex"]),
21865
+ available: external_exports.boolean(),
21866
+ version: external_exports.string().optional(),
21867
+ path: external_exports.string().optional()
21868
+ })
21869
+ )
21870
+ });
21871
+ var SessionExternalScanArgs = external_exports.object({});
21872
+ var ExternalSessionCandidateSchema = external_exports.object({
21873
+ tool: external_exports.enum(["claude", "codex"]),
21874
+ cwd: external_exports.string(),
21875
+ toolSessionId: external_exports.string(),
21876
+ label: external_exports.string().optional(),
21877
+ /** ISO datetime(直接回填给 session:importExternal) */
21878
+ createdAt: external_exports.string(),
21879
+ updatedAt: external_exports.string(),
21880
+ turns: external_exports.number()
21881
+ });
21882
+ var SessionExternalScanResultSchema = external_exports.object({
21883
+ candidates: external_exports.array(ExternalSessionCandidateSchema)
21884
+ });
21885
+ var OnboardingIosInterestArgs = external_exports.object({});
21886
+ var OnboardingIosInterestResultSchema = external_exports.object({
21887
+ registered: external_exports.boolean()
21888
+ });
21889
+
21854
21890
  // ../protocol/src/persona-schemas.ts
21855
21891
  var PersonaFileSchema = external_exports.object({
21856
21892
  personaId: external_exports.string(),
@@ -23018,6 +23054,10 @@ var METHOD_DOCS = {
23018
23054
  anyOf: [{ required: ["cwd"] }, { required: ["ownerPersonaId"] }]
23019
23055
  }
23020
23056
  },
23057
+ "session:externalScan": {
23058
+ 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\uFF1B\u6458\u8981\u7EDF\u8BA1\u4E0E\u65F6\u95F4\u7A97\u8FC7\u6EE4\u7531 UI \u6D3E\u751F\uFF0Cskip \u89C4\u5219\u4E0E clawd-session-import skill \u4E00\u81F4\uFF1Bowner-only",
23059
+ args: SessionExternalScanArgs
23060
+ },
23021
23061
  "session:importExternal": {
23022
23062
  summary: "\u628A Claude Code / Codex \u65E2\u6709\u5386\u53F2\u4F1A\u8BDD\u5BFC\u5165\u4E3A clawd \u5F15\u7528\uFF1A\u53EA\u5199 SessionFile\uFF0C\u4E0D\u62C9\u8D77 runner\uFF0C\u4E0D\u6539\u539F\u59CB transcript\uFF1B\u6309 toolSessionId \u8DE8 owned scope \u53BB\u91CD\uFF0C\u65B0\u5BFC\u5165\u4F1A\u5E7F\u64AD session:info",
23023
23063
  args: SessionImportExternalArgs
@@ -23238,6 +23278,18 @@ var METHOD_DOCS = {
23238
23278
  summary: "\u67E5 persona \u7684\u98DE\u4E66 bot \u72B6\u6001\uFF08unbound/bound/broken + \u670D\u52A1\u4E2D\u7FA4\u6E05\u5355\uFF09\uFF1Bowner-only",
23239
23279
  args: LarkBotStatusArgs
23240
23280
  },
23281
+ "onboarding:complete": {
23282
+ summary: "\u6807\u8BB0\u9996\u542F onboarding \u5B8C\u6210\uFF1A\u5F80 <dataDir>/profile.json \u5199 onboardingCompletedAt\uFF08\u6BEB\u79D2\u65F6\u95F4\u6233\uFF0C\u4FDD\u7559\u5176\u5B83\u5B57\u6BB5\uFF0C\u91CD\u590D\u8C03\u7528\u5E42\u7B49\uFF09\uFF1Binfo ready \u5E27\u643A\u5E26\u8BE5\u5B57\u6BB5\u4F9B UI \u5224\u5B9A\u662F\u5426\u8FDB wizard",
23283
+ args: OnboardingCompleteArgs
23284
+ },
23285
+ "tools:probe": {
23286
+ summary: "\u63A2\u6D4B\u672C\u673A claude / codex CLI \u771F\u5B9E\u53EF\u7528\u6027\u4E0E\u7248\u672C\uFF08which + <bin> --version\uFF0C\u8FDB\u7A0B\u7EA7\u7F13\u5B58\uFF09\uFF1Binfo \u5E27 tools[].available \u662F\u6CE8\u518C\u5360\u4F4D\u4E0D\u53CD\u6620\u5B89\u88C5\u72B6\u6001\uFF0Cwizard \u73AF\u5883\u68C0\u67E5\u7528\u672C\u65B9\u6CD5",
23287
+ args: ToolsProbeArgs
23288
+ },
23289
+ "onboarding:iosInterest": {
23290
+ summary: "\u767B\u8BB0 owner \u60F3\u8981 iOS TestFlight\uFF1Adaemon \u8F6C\u53D1\u4E2D\u5FC3 API\uFF08\u643A\u5E26 unionId/\u98DE\u4E66\u540D\uFF09\uFF0Cserver \u843D\u8868\u53BB\u91CD\u5E76\u7528\u5B98\u65B9 bot \u901A\u77E5 David \u8D70\u98DE\u4E66\u8054\u7CFB\uFF1B\u9700\u98DE\u4E66\u5DF2\u767B\u5F55\uFF08FEISHU_GATED\uFF09",
23291
+ args: OnboardingIosInterestArgs
23292
+ },
23241
23293
  "skills:list": {
23242
23294
  summary: "\u626B\u63CF\u5E76\u5217\u51FA\u8BE5\u76EE\u5F55\u53EF\u7528\u7684 skill",
23243
23295
  args: SkillsListArgs
@@ -54,7 +54,11 @@ call({ method: "persona:list" }) # clawd-rpc MCP tool
54
54
 
55
55
  **称呼**:Read `~/.clawd/profile.json`。文件不存在 / `displayName` 为空 → 问老板「我该怎么称呼您?」,拿到名字后 Write / Edit 保留其它字段。告诉老板「记好了,需要重启 clawd daemon 让所有 persona 看到这个名字」。sandbox 拒写就说明是 listener 模式被调用——请老板在 owner 模式做。
56
56
 
57
- **persona 冷启动盘点**:同一份 `~/.clawd/profile.json`,看有没有 `personaScanDoneAt` 字段。
57
+ **persona 冷启动盘点**:先看同一份 `~/.clawd/profile.json` 有没有 `onboardingCompletedAt` 字段。
58
+ **有 → 整个冷启动盘点跳过**(首启 wizard 已引导过,persona 扫描由「新对话」落地页的建议 chip
59
+ 显式触发,别重复推销)。没有才继续下面的流程(老用户升级场景兜底):
60
+
61
+ 再看有没有 `personaScanDoneAt` 字段。
58
62
 
59
63
  - 有 → 跳过,一个字都别提
60
64
  - 没有 → 用 `scan-sessions-suggest-personas` 扫一次历史 session,出 3-5 个候选交老板勾选;