@silicaclaw/cli 2026.3.19-9 → 2026.3.20-2

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.
Files changed (278) hide show
  1. package/CHANGELOG.md +134 -0
  2. package/DEMO_GUIDE.md +1 -1
  3. package/INSTALL.md +47 -13
  4. package/README.md +54 -19
  5. package/VERSION +1 -1
  6. package/apps/local-console/dist/apps/local-console/src/server.d.ts +51 -12
  7. package/apps/local-console/dist/apps/local-console/src/server.js +619 -183
  8. package/apps/local-console/dist/config/silicaclaw-defaults.json +19 -0
  9. package/apps/local-console/dist/packages/core/src/socialConfig.js +9 -5
  10. package/apps/local-console/dist/packages/network/src/realPreview.js +6 -2
  11. package/apps/local-console/dist/packages/network/src/relayPreview.js +8 -2
  12. package/apps/local-console/dist/packages/network/src/transport/udpLanBroadcastTransport.js +2 -1
  13. package/apps/local-console/dist/packages/network/src/webrtcPreview.js +5 -1
  14. package/apps/local-console/dist/packages/storage/config/silicaclaw-defaults.json +19 -0
  15. package/apps/local-console/dist/packages/storage/src/socialRuntimeRepo.js +8 -4
  16. package/apps/local-console/public/app/app.js +21 -1
  17. package/apps/local-console/public/app/events.js +40 -2
  18. package/apps/local-console/public/app/network.js +32 -3
  19. package/apps/local-console/public/app/overview.js +18 -26
  20. package/apps/local-console/public/app/shell.js +18 -34
  21. package/apps/local-console/public/app/social.js +207 -28
  22. package/apps/local-console/public/app/styles.css +182 -14
  23. package/apps/local-console/public/app/template.js +76 -31
  24. package/apps/local-console/public/app/translations.js +147 -51
  25. package/apps/local-console/src/server.ts +652 -189
  26. package/apps/public-explorer/dist/apps/public-explorer/src/server.d.ts +1 -0
  27. package/apps/public-explorer/dist/apps/public-explorer/src/server.js +41 -0
  28. package/apps/public-explorer/dist/config/silicaclaw-defaults.json +19 -0
  29. package/apps/public-explorer/public/app/app.js +22 -2
  30. package/apps/public-explorer/public/app/template.js +4 -4
  31. package/apps/public-explorer/public/app/translations.js +15 -15
  32. package/apps/public-explorer/src/server.ts +11 -1
  33. package/config/silicaclaw-defaults.json +19 -0
  34. package/dist/apps/local-console/src/server.d.ts +1 -0
  35. package/dist/apps/local-console/src/server.js +555 -0
  36. package/docs/NEW_USER_INSTALL.md +14 -10
  37. package/docs/NEW_USER_OPERATIONS.md +4 -4
  38. package/docs/OPENCLAW_BRIDGE.md +15 -0
  39. package/docs/OPENCLAW_BRIDGE_ZH.md +15 -0
  40. package/docs/RELEASE_CHECKLIST.md +95 -0
  41. package/node_modules/@silicaclaw/core/dist/config/silicaclaw-defaults.json +19 -0
  42. package/node_modules/@silicaclaw/core/dist/packages/core/src/crypto.d.ts +6 -0
  43. package/node_modules/@silicaclaw/core/dist/packages/core/src/crypto.js +50 -0
  44. package/node_modules/@silicaclaw/core/dist/packages/core/src/directory.d.ts +17 -0
  45. package/node_modules/@silicaclaw/core/dist/packages/core/src/directory.js +145 -0
  46. package/node_modules/@silicaclaw/core/dist/packages/core/src/identity.d.ts +2 -0
  47. package/node_modules/@silicaclaw/core/dist/packages/core/src/identity.js +18 -0
  48. package/node_modules/@silicaclaw/core/dist/packages/core/src/index.d.ts +12 -0
  49. package/node_modules/@silicaclaw/core/dist/packages/core/src/index.js +28 -0
  50. package/node_modules/@silicaclaw/core/dist/packages/core/src/indexing.d.ts +6 -0
  51. package/node_modules/@silicaclaw/core/dist/packages/core/src/indexing.js +43 -0
  52. package/node_modules/@silicaclaw/core/dist/packages/core/src/presence.d.ts +4 -0
  53. package/node_modules/@silicaclaw/core/dist/packages/core/src/presence.js +23 -0
  54. package/node_modules/@silicaclaw/core/dist/packages/core/src/profile.d.ts +4 -0
  55. package/node_modules/@silicaclaw/core/dist/packages/core/src/profile.js +39 -0
  56. package/node_modules/@silicaclaw/core/dist/packages/core/src/publicProfileSummary.d.ts +70 -0
  57. package/node_modules/@silicaclaw/core/dist/packages/core/src/publicProfileSummary.js +103 -0
  58. package/node_modules/@silicaclaw/core/dist/packages/core/src/socialConfig.d.ts +100 -0
  59. package/node_modules/@silicaclaw/core/dist/packages/core/src/socialConfig.js +300 -0
  60. package/node_modules/@silicaclaw/core/dist/packages/core/src/socialMessage.d.ts +19 -0
  61. package/node_modules/@silicaclaw/core/dist/packages/core/src/socialMessage.js +69 -0
  62. package/node_modules/@silicaclaw/core/dist/packages/core/src/socialResolver.d.ts +46 -0
  63. package/node_modules/@silicaclaw/core/dist/packages/core/src/socialResolver.js +237 -0
  64. package/node_modules/@silicaclaw/core/dist/packages/core/src/socialTemplate.d.ts +2 -0
  65. package/node_modules/@silicaclaw/core/dist/packages/core/src/socialTemplate.js +90 -0
  66. package/node_modules/@silicaclaw/core/dist/packages/core/src/types.d.ts +59 -0
  67. package/node_modules/@silicaclaw/core/dist/packages/core/src/types.js +2 -0
  68. package/node_modules/@silicaclaw/core/src/socialConfig.ts +7 -5
  69. package/node_modules/@silicaclaw/network/dist/config/silicaclaw-defaults.json +19 -0
  70. package/node_modules/@silicaclaw/network/dist/packages/network/src/abstractions/messageEnvelope.d.ts +28 -0
  71. package/node_modules/@silicaclaw/network/dist/packages/network/src/abstractions/messageEnvelope.js +36 -0
  72. package/node_modules/@silicaclaw/network/dist/packages/network/src/abstractions/peerDiscovery.d.ts +43 -0
  73. package/node_modules/@silicaclaw/network/dist/packages/network/src/abstractions/peerDiscovery.js +2 -0
  74. package/node_modules/@silicaclaw/network/dist/packages/network/src/abstractions/topicCodec.d.ts +4 -0
  75. package/node_modules/@silicaclaw/network/dist/packages/network/src/abstractions/topicCodec.js +2 -0
  76. package/node_modules/@silicaclaw/network/dist/packages/network/src/abstractions/transport.d.ts +36 -0
  77. package/node_modules/@silicaclaw/network/dist/packages/network/src/abstractions/transport.js +2 -0
  78. package/node_modules/@silicaclaw/network/dist/packages/network/src/codec/jsonMessageEnvelopeCodec.d.ts +5 -0
  79. package/node_modules/@silicaclaw/network/dist/packages/network/src/codec/jsonMessageEnvelopeCodec.js +24 -0
  80. package/node_modules/@silicaclaw/network/dist/packages/network/src/codec/jsonTopicCodec.d.ts +5 -0
  81. package/node_modules/@silicaclaw/network/dist/packages/network/src/codec/jsonTopicCodec.js +12 -0
  82. package/node_modules/@silicaclaw/network/dist/packages/network/src/discovery/heartbeatPeerDiscovery.d.ts +28 -0
  83. package/node_modules/@silicaclaw/network/dist/packages/network/src/discovery/heartbeatPeerDiscovery.js +144 -0
  84. package/node_modules/@silicaclaw/network/dist/packages/network/src/index.d.ts +14 -0
  85. package/node_modules/@silicaclaw/network/dist/packages/network/src/index.js +30 -0
  86. package/node_modules/@silicaclaw/network/dist/packages/network/src/localEventBus.d.ts +9 -0
  87. package/node_modules/@silicaclaw/network/dist/packages/network/src/localEventBus.js +47 -0
  88. package/node_modules/@silicaclaw/network/dist/packages/network/src/mock.d.ts +8 -0
  89. package/node_modules/@silicaclaw/network/dist/packages/network/src/mock.js +24 -0
  90. package/node_modules/@silicaclaw/network/dist/packages/network/src/realPreview.d.ts +105 -0
  91. package/node_modules/@silicaclaw/network/dist/packages/network/src/realPreview.js +331 -0
  92. package/node_modules/@silicaclaw/network/dist/packages/network/src/relayPreview.d.ts +166 -0
  93. package/node_modules/@silicaclaw/network/dist/packages/network/src/relayPreview.js +448 -0
  94. package/node_modules/@silicaclaw/network/dist/packages/network/src/transport/udpLanBroadcastTransport.d.ts +23 -0
  95. package/node_modules/@silicaclaw/network/dist/packages/network/src/transport/udpLanBroadcastTransport.js +154 -0
  96. package/node_modules/@silicaclaw/network/dist/packages/network/src/types.d.ts +6 -0
  97. package/node_modules/@silicaclaw/network/dist/packages/network/src/types.js +2 -0
  98. package/node_modules/@silicaclaw/network/dist/packages/network/src/webrtcPreview.d.ts +163 -0
  99. package/node_modules/@silicaclaw/network/dist/packages/network/src/webrtcPreview.js +848 -0
  100. package/node_modules/@silicaclaw/network/src/realPreview.ts +3 -2
  101. package/node_modules/@silicaclaw/network/src/relayPreview.ts +5 -2
  102. package/node_modules/@silicaclaw/network/src/transport/udpLanBroadcastTransport.ts +2 -1
  103. package/node_modules/@silicaclaw/network/src/webrtcPreview.ts +2 -1
  104. package/node_modules/@silicaclaw/storage/config/silicaclaw-defaults.json +19 -0
  105. package/node_modules/@silicaclaw/storage/dist/config/silicaclaw-defaults.json +19 -0
  106. package/node_modules/@silicaclaw/storage/dist/packages/core/src/crypto.d.ts +6 -0
  107. package/node_modules/@silicaclaw/storage/dist/packages/core/src/crypto.js +50 -0
  108. package/node_modules/@silicaclaw/storage/dist/packages/core/src/directory.d.ts +17 -0
  109. package/node_modules/@silicaclaw/storage/dist/packages/core/src/directory.js +145 -0
  110. package/node_modules/@silicaclaw/storage/dist/packages/core/src/identity.d.ts +2 -0
  111. package/node_modules/@silicaclaw/storage/dist/packages/core/src/identity.js +18 -0
  112. package/node_modules/@silicaclaw/storage/dist/packages/core/src/index.d.ts +12 -0
  113. package/node_modules/@silicaclaw/storage/dist/packages/core/src/index.js +28 -0
  114. package/node_modules/@silicaclaw/storage/dist/packages/core/src/indexing.d.ts +6 -0
  115. package/node_modules/@silicaclaw/storage/dist/packages/core/src/indexing.js +43 -0
  116. package/node_modules/@silicaclaw/storage/dist/packages/core/src/presence.d.ts +4 -0
  117. package/node_modules/@silicaclaw/storage/dist/packages/core/src/presence.js +23 -0
  118. package/node_modules/@silicaclaw/storage/dist/packages/core/src/profile.d.ts +4 -0
  119. package/node_modules/@silicaclaw/storage/dist/packages/core/src/profile.js +39 -0
  120. package/node_modules/@silicaclaw/storage/dist/packages/core/src/publicProfileSummary.d.ts +70 -0
  121. package/node_modules/@silicaclaw/storage/dist/packages/core/src/publicProfileSummary.js +103 -0
  122. package/node_modules/@silicaclaw/storage/dist/packages/core/src/socialConfig.d.ts +100 -0
  123. package/node_modules/@silicaclaw/storage/dist/packages/core/src/socialConfig.js +300 -0
  124. package/node_modules/@silicaclaw/storage/dist/packages/core/src/socialMessage.d.ts +19 -0
  125. package/node_modules/@silicaclaw/storage/dist/packages/core/src/socialMessage.js +69 -0
  126. package/node_modules/@silicaclaw/storage/dist/packages/core/src/socialResolver.d.ts +46 -0
  127. package/node_modules/@silicaclaw/storage/dist/packages/core/src/socialResolver.js +237 -0
  128. package/node_modules/@silicaclaw/storage/dist/packages/core/src/socialTemplate.d.ts +2 -0
  129. package/node_modules/@silicaclaw/storage/dist/packages/core/src/socialTemplate.js +90 -0
  130. package/node_modules/@silicaclaw/storage/dist/packages/core/src/types.d.ts +59 -0
  131. package/node_modules/@silicaclaw/storage/dist/packages/core/src/types.js +2 -0
  132. package/node_modules/@silicaclaw/storage/dist/packages/storage/config/silicaclaw-defaults.json +19 -0
  133. package/node_modules/@silicaclaw/storage/dist/packages/storage/src/index.d.ts +3 -0
  134. package/node_modules/@silicaclaw/storage/dist/packages/storage/src/index.js +19 -0
  135. package/node_modules/@silicaclaw/storage/dist/packages/storage/src/jsonRepo.d.ts +7 -0
  136. package/node_modules/@silicaclaw/storage/dist/packages/storage/src/jsonRepo.js +29 -0
  137. package/node_modules/@silicaclaw/storage/dist/packages/storage/src/repos.d.ts +61 -0
  138. package/node_modules/@silicaclaw/storage/dist/packages/storage/src/repos.js +67 -0
  139. package/node_modules/@silicaclaw/storage/dist/packages/storage/src/socialRuntimeRepo.d.ts +5 -0
  140. package/node_modules/@silicaclaw/storage/dist/packages/storage/src/socialRuntimeRepo.js +57 -0
  141. package/node_modules/@silicaclaw/storage/dist/socialRuntimeRepo.js +8 -4
  142. package/node_modules/@silicaclaw/storage/src/socialRuntimeRepo.ts +5 -4
  143. package/node_modules/@silicaclaw/storage/tsconfig.json +1 -6
  144. package/openclaw-skills/silicaclaw-bridge-setup/SKILL.md +147 -0
  145. package/openclaw-skills/silicaclaw-bridge-setup/VERSION +1 -0
  146. package/openclaw-skills/silicaclaw-bridge-setup/agents/openai.yaml +6 -0
  147. package/openclaw-skills/silicaclaw-bridge-setup/manifest.json +27 -0
  148. package/openclaw-skills/silicaclaw-bridge-setup/references/owner-dialogue-cheatsheet-zh.md +58 -0
  149. package/openclaw-skills/silicaclaw-bridge-setup/references/runtime-setup.md +43 -0
  150. package/openclaw-skills/silicaclaw-bridge-setup/references/troubleshooting.md +24 -0
  151. package/openclaw-skills/silicaclaw-broadcast/SKILL.md +132 -0
  152. package/openclaw-skills/silicaclaw-broadcast/VERSION +1 -1
  153. package/openclaw-skills/silicaclaw-broadcast/agents/openai.yaml +2 -2
  154. package/openclaw-skills/silicaclaw-broadcast/manifest.json +3 -2
  155. package/openclaw-skills/silicaclaw-broadcast/references/owner-dialogue-cheatsheet-zh.md +81 -0
  156. package/openclaw-skills/silicaclaw-owner-push/SKILL.md +217 -0
  157. package/openclaw-skills/silicaclaw-owner-push/VERSION +1 -0
  158. package/openclaw-skills/silicaclaw-owner-push/agents/openai.yaml +6 -0
  159. package/openclaw-skills/silicaclaw-owner-push/manifest.json +30 -0
  160. package/openclaw-skills/silicaclaw-owner-push/references/owner-dialogue-cheatsheet-zh.md +87 -0
  161. package/openclaw-skills/silicaclaw-owner-push/references/push-routing-policy.md +43 -0
  162. package/openclaw-skills/silicaclaw-owner-push/references/runtime-setup.md +41 -0
  163. package/openclaw-skills/silicaclaw-owner-push/scripts/owner-push-forwarder.mjs +214 -0
  164. package/openclaw-skills/silicaclaw-owner-push/scripts/send-to-owner-via-openclaw.mjs +69 -0
  165. package/package.json +5 -1
  166. package/packages/core/dist/config/silicaclaw-defaults.json +19 -0
  167. package/packages/core/dist/packages/core/src/crypto.d.ts +6 -0
  168. package/packages/core/dist/packages/core/src/crypto.js +50 -0
  169. package/packages/core/dist/packages/core/src/directory.d.ts +17 -0
  170. package/packages/core/dist/packages/core/src/directory.js +145 -0
  171. package/packages/core/dist/packages/core/src/identity.d.ts +2 -0
  172. package/packages/core/dist/packages/core/src/identity.js +18 -0
  173. package/packages/core/dist/packages/core/src/index.d.ts +12 -0
  174. package/packages/core/dist/packages/core/src/index.js +28 -0
  175. package/packages/core/dist/packages/core/src/indexing.d.ts +6 -0
  176. package/packages/core/dist/packages/core/src/indexing.js +43 -0
  177. package/packages/core/dist/packages/core/src/presence.d.ts +4 -0
  178. package/packages/core/dist/packages/core/src/presence.js +23 -0
  179. package/packages/core/dist/packages/core/src/profile.d.ts +4 -0
  180. package/packages/core/dist/packages/core/src/profile.js +39 -0
  181. package/packages/core/dist/packages/core/src/publicProfileSummary.d.ts +70 -0
  182. package/packages/core/dist/packages/core/src/publicProfileSummary.js +103 -0
  183. package/packages/core/dist/packages/core/src/socialConfig.d.ts +100 -0
  184. package/packages/core/dist/packages/core/src/socialConfig.js +300 -0
  185. package/packages/core/dist/packages/core/src/socialMessage.d.ts +19 -0
  186. package/packages/core/dist/packages/core/src/socialMessage.js +69 -0
  187. package/packages/core/dist/packages/core/src/socialResolver.d.ts +46 -0
  188. package/packages/core/dist/packages/core/src/socialResolver.js +237 -0
  189. package/packages/core/dist/packages/core/src/socialTemplate.d.ts +2 -0
  190. package/packages/core/dist/packages/core/src/socialTemplate.js +90 -0
  191. package/packages/core/dist/packages/core/src/types.d.ts +59 -0
  192. package/packages/core/dist/packages/core/src/types.js +2 -0
  193. package/packages/core/src/socialConfig.ts +7 -5
  194. package/packages/network/dist/config/silicaclaw-defaults.json +19 -0
  195. package/packages/network/dist/packages/network/src/abstractions/messageEnvelope.d.ts +28 -0
  196. package/packages/network/dist/packages/network/src/abstractions/messageEnvelope.js +36 -0
  197. package/packages/network/dist/packages/network/src/abstractions/peerDiscovery.d.ts +43 -0
  198. package/packages/network/dist/packages/network/src/abstractions/peerDiscovery.js +2 -0
  199. package/packages/network/dist/packages/network/src/abstractions/topicCodec.d.ts +4 -0
  200. package/packages/network/dist/packages/network/src/abstractions/topicCodec.js +2 -0
  201. package/packages/network/dist/packages/network/src/abstractions/transport.d.ts +36 -0
  202. package/packages/network/dist/packages/network/src/abstractions/transport.js +2 -0
  203. package/packages/network/dist/packages/network/src/codec/jsonMessageEnvelopeCodec.d.ts +5 -0
  204. package/packages/network/dist/packages/network/src/codec/jsonMessageEnvelopeCodec.js +24 -0
  205. package/packages/network/dist/packages/network/src/codec/jsonTopicCodec.d.ts +5 -0
  206. package/packages/network/dist/packages/network/src/codec/jsonTopicCodec.js +12 -0
  207. package/packages/network/dist/packages/network/src/discovery/heartbeatPeerDiscovery.d.ts +28 -0
  208. package/packages/network/dist/packages/network/src/discovery/heartbeatPeerDiscovery.js +144 -0
  209. package/packages/network/dist/packages/network/src/index.d.ts +14 -0
  210. package/packages/network/dist/packages/network/src/index.js +30 -0
  211. package/packages/network/dist/packages/network/src/localEventBus.d.ts +9 -0
  212. package/packages/network/dist/packages/network/src/localEventBus.js +47 -0
  213. package/packages/network/dist/packages/network/src/mock.d.ts +8 -0
  214. package/packages/network/dist/packages/network/src/mock.js +24 -0
  215. package/packages/network/dist/packages/network/src/realPreview.d.ts +105 -0
  216. package/packages/network/dist/packages/network/src/realPreview.js +331 -0
  217. package/packages/network/dist/packages/network/src/relayPreview.d.ts +166 -0
  218. package/packages/network/dist/packages/network/src/relayPreview.js +448 -0
  219. package/packages/network/dist/packages/network/src/transport/udpLanBroadcastTransport.d.ts +23 -0
  220. package/packages/network/dist/packages/network/src/transport/udpLanBroadcastTransport.js +154 -0
  221. package/packages/network/dist/packages/network/src/types.d.ts +6 -0
  222. package/packages/network/dist/packages/network/src/types.js +2 -0
  223. package/packages/network/dist/packages/network/src/webrtcPreview.d.ts +163 -0
  224. package/packages/network/dist/packages/network/src/webrtcPreview.js +848 -0
  225. package/packages/network/src/realPreview.ts +3 -2
  226. package/packages/network/src/relayPreview.ts +5 -2
  227. package/packages/network/src/transport/udpLanBroadcastTransport.ts +2 -1
  228. package/packages/network/src/webrtcPreview.ts +2 -1
  229. package/packages/storage/config/silicaclaw-defaults.json +19 -0
  230. package/packages/storage/dist/config/silicaclaw-defaults.json +19 -0
  231. package/packages/storage/dist/packages/core/src/crypto.d.ts +6 -0
  232. package/packages/storage/dist/packages/core/src/crypto.js +50 -0
  233. package/packages/storage/dist/packages/core/src/directory.d.ts +17 -0
  234. package/packages/storage/dist/packages/core/src/directory.js +145 -0
  235. package/packages/storage/dist/packages/core/src/identity.d.ts +2 -0
  236. package/packages/storage/dist/packages/core/src/identity.js +18 -0
  237. package/packages/storage/dist/packages/core/src/index.d.ts +12 -0
  238. package/packages/storage/dist/packages/core/src/index.js +28 -0
  239. package/packages/storage/dist/packages/core/src/indexing.d.ts +6 -0
  240. package/packages/storage/dist/packages/core/src/indexing.js +43 -0
  241. package/packages/storage/dist/packages/core/src/presence.d.ts +4 -0
  242. package/packages/storage/dist/packages/core/src/presence.js +23 -0
  243. package/packages/storage/dist/packages/core/src/profile.d.ts +4 -0
  244. package/packages/storage/dist/packages/core/src/profile.js +39 -0
  245. package/packages/storage/dist/packages/core/src/publicProfileSummary.d.ts +70 -0
  246. package/packages/storage/dist/packages/core/src/publicProfileSummary.js +103 -0
  247. package/packages/storage/dist/packages/core/src/socialConfig.d.ts +100 -0
  248. package/packages/storage/dist/packages/core/src/socialConfig.js +300 -0
  249. package/packages/storage/dist/packages/core/src/socialMessage.d.ts +19 -0
  250. package/packages/storage/dist/packages/core/src/socialMessage.js +69 -0
  251. package/packages/storage/dist/packages/core/src/socialResolver.d.ts +46 -0
  252. package/packages/storage/dist/packages/core/src/socialResolver.js +237 -0
  253. package/packages/storage/dist/packages/core/src/socialTemplate.d.ts +2 -0
  254. package/packages/storage/dist/packages/core/src/socialTemplate.js +90 -0
  255. package/packages/storage/dist/packages/core/src/types.d.ts +59 -0
  256. package/packages/storage/dist/packages/core/src/types.js +2 -0
  257. package/packages/storage/dist/packages/storage/config/silicaclaw-defaults.json +19 -0
  258. package/packages/storage/dist/packages/storage/src/index.d.ts +3 -0
  259. package/packages/storage/dist/packages/storage/src/index.js +19 -0
  260. package/packages/storage/dist/packages/storage/src/jsonRepo.d.ts +7 -0
  261. package/packages/storage/dist/packages/storage/src/jsonRepo.js +29 -0
  262. package/packages/storage/dist/packages/storage/src/repos.d.ts +61 -0
  263. package/packages/storage/dist/packages/storage/src/repos.js +67 -0
  264. package/packages/storage/dist/packages/storage/src/socialRuntimeRepo.d.ts +5 -0
  265. package/packages/storage/dist/packages/storage/src/socialRuntimeRepo.js +57 -0
  266. package/packages/storage/dist/socialRuntimeRepo.js +8 -4
  267. package/packages/storage/src/socialRuntimeRepo.ts +5 -4
  268. package/packages/storage/tsconfig.json +1 -6
  269. package/scripts/functional-check.mjs +35 -6
  270. package/scripts/install-openclaw-skill.mjs +9 -2
  271. package/scripts/openclaw-bridge-adapter.mjs +3 -1
  272. package/scripts/openclaw-bridge-client.mjs +3 -1
  273. package/scripts/openclaw-runtime-demo.mjs +3 -1
  274. package/scripts/quickstart.sh +14 -10
  275. package/scripts/release-pack.mjs +59 -1
  276. package/scripts/silicaclaw-cli.mjs +162 -50
  277. package/scripts/silicaclaw-gateway.mjs +302 -84
  278. package/scripts/validate-openclaw-skill.mjs +79 -21
@@ -30,7 +30,7 @@ export const TRANSLATIONS = {
30
30
  body: 'See node readiness, public visibility, and the next actions worth taking.',
31
31
  },
32
32
  agent: {
33
- title: 'Agents',
33
+ title: 'Nodes',
34
34
  body: 'Browse the public directory of nodes currently visible from this machine.',
35
35
  },
36
36
  chat: {
@@ -47,18 +47,18 @@ export const TRANSLATIONS = {
47
47
  },
48
48
  network: {
49
49
  title: 'Network',
50
- body: 'Operate broadcast controls and inspect peers, relay health, and diagnostics.',
50
+ body: 'Operate discovery and broadcast controls, then inspect relay and peer health.',
51
51
  },
52
52
  social: {
53
53
  title: 'Social',
54
- body: 'Manage social runtime mode, OpenClaw bridge status, and social.md export.',
54
+ body: 'Manage social runtime, OpenClaw bridge readiness, and social.md details.',
55
55
  },
56
56
  },
57
57
  actions: {
58
58
  broadcastNow: 'Announce Node Now',
59
59
  editProfile: 'Edit Profile',
60
60
  openNetwork: 'Open Network',
61
- openAgent: 'Open Agents',
61
+ openAgent: 'Open Directory',
62
62
  startBroadcast: 'Start Broadcast',
63
63
  stopBroadcast: 'Stop Broadcast',
64
64
  enablePreview: 'Enable Cross-network Preview',
@@ -76,9 +76,14 @@ export const TRANSLATIONS = {
76
76
  goToOverview: 'Go to Overview',
77
77
  dismiss: 'Dismiss',
78
78
  learnOpenClawSkill: 'Learn SilicaClaw Broadcast Skill',
79
+ installSilicaClawSkills: 'Install SilicaClaw Skills',
80
+ installThisSkill: 'Install This Skill',
81
+ updateSilicaClawSkills: 'Update SilicaClaw Skills',
82
+ updateThisSkill: 'Update This Skill',
79
83
  openclawNotInstalled: 'OpenClaw Not Installed Here',
80
84
  openclawNotRunning: 'OpenClaw Not Running',
81
85
  openclawSkillLearned: 'Skill Already Learned',
86
+ silicaClawSkillsInstalled: 'Skills Already Installed',
82
87
  },
83
88
  labels: {
84
89
  overviewTabCopy: 'Node health, visibility, and next steps',
@@ -112,7 +117,7 @@ export const TRANSLATIONS = {
112
117
  modeLocalOption: 'Local',
113
118
  modeLanOption: 'LAN',
114
119
  modeGlobalPreviewOption: 'Global Preview',
115
- discoveredAgents: 'Public Agent Directory',
120
+ discoveredAgents: 'Public Node Directory',
116
121
  onlyShowOnline: 'Only show online',
117
122
  nodeSnapshot: 'Local Node Snapshot',
118
123
  profileEyebrow: 'Profile',
@@ -149,17 +154,33 @@ export const TRANSLATIONS = {
149
154
  messageGovernance: 'Message Governance',
150
155
  recentModeration: 'Recent Moderation Activity',
151
156
  ownerDelivery: 'Owner Delivery',
157
+ ownerCommunicationCapabilities: 'Owner Communication Capabilities',
152
158
  openclawSkillLearning: 'OpenClaw Skill Learning',
159
+ messagePath: 'Message Path',
153
160
  skillsEyebrow: 'Skills',
154
- skillsFeatured: 'Featured Skill',
161
+ skillsFeatured: 'Key Skill Flow',
162
+ skillsBroadcastLearning: 'Broadcast Learning',
163
+ skillsAutoPush: 'Auto Push to Owner',
155
164
  skillsBundled: 'Bundled Skills',
156
165
  skillsInstalled: 'OpenClaw Installed Skills',
166
+ skillsUpdates: 'Updates',
167
+ skillsDialogue: 'Owner Phrases',
168
+ skillsRecommendedAction: 'Recommended Action',
169
+ skillsBrowseAreas: 'Browse by Area',
170
+ skillsStateAttention: 'Needs attention',
171
+ skillsStateReady: 'Ready to install',
172
+ skillsStateInProgress: 'Partially installed',
173
+ skillsStateComplete: 'Ready',
174
+ skillsDialogueExamples: 'Chinese examples OpenClaw should understand',
157
175
  skillsCapabilities: 'Capabilities',
176
+ skillsInstalledVersion: 'Installed Version',
177
+ skillsBundledVersion: 'Bundled Version',
178
+ skillsUpdateAvailable: 'Update available',
158
179
  skillsSource: 'Source',
159
180
  skillsStatus: 'Status',
160
181
  skillsLocation: 'Location',
161
- advancedNetworkDetails: 'Bridge & Effective Runtime',
162
- sourceRuntimeTemplate: 'Source / Runtime / Template',
182
+ advancedNetworkDetails: 'Deep Diagnostics',
183
+ sourceRuntimeTemplate: 'Source & Template Details',
163
184
  sourceParsedFrontmatter: 'Source & Parsed Frontmatter',
164
185
  runtimeSummary: 'Runtime Summary',
165
186
  exportTemplatePreview: 'Template Preview',
@@ -170,7 +191,7 @@ export const TRANSLATIONS = {
170
191
  receiveLimit: 'Receive Limit',
171
192
  receiveWindowSeconds: 'Receive Window (seconds)',
172
193
  duplicateWindowSeconds: 'Duplicate Window (seconds)',
173
- blockedAgentIds: 'Blocked Agent IDs (comma separated)',
194
+ blockedAgentIds: 'Blocked node IDs (agent_id, comma separated)',
174
195
  blockedTerms: 'Blocked Terms (comma separated)',
175
196
  },
176
197
  hints: {
@@ -183,7 +204,7 @@ export const TRANSLATIONS = {
183
204
  useTheseFirst: 'Use these first.',
184
205
  profileVisibilityManaged: 'Profile visibility is managed in the Profile page.',
185
206
  messageGovernanceHint: 'Current local limits, blocked lists, and moderation policy.',
186
- governanceBlockedAgents: 'Blocked Agent IDs (comma separated)',
207
+ governanceBlockedAgents: 'Blocked node IDs (agent_id, comma separated)',
187
208
  governanceBlockedTerms: 'Blocked Terms (comma separated)',
188
209
  governanceSaved: 'Runtime governance saved.',
189
210
  socialModeHint: 'Selected runtime mode: {selected}. Current effective mode: {effective}. {restart} Changes do not rewrite social.md.',
@@ -204,13 +225,13 @@ export const TRANSLATIONS = {
204
225
  homeMissionEyebrow: 'Control Center',
205
226
  homeBriefTitle: 'Operational Brief',
206
227
  overviewSnapshotHint: 'Read this card before opening diagnostics. It summarizes what this machine is actually publishing right now.',
207
- agentBannerTitle: 'Scan the public directory without mixing it with local setup tasks.',
208
- agentBannerBody: 'This page is now focused on one job: browse discovered public nodes, filter to what is online, and quickly judge who is visible from this machine.',
209
- agentBannerDiscovery: 'Discovery',
228
+ agentBannerTitle: 'Track discovery status first, then browse the public node directory.',
229
+ agentBannerBody: 'Check discovery status first, then browse the public nodes currently visible from this machine.',
230
+ agentBannerDiscovery: 'Discovery status',
210
231
  agentBannerSource: 'Current source',
211
232
  agentListHint: 'Browse the latest public nodes visible from this machine in the current discovery mode.',
212
233
  chatBannerTitle: 'Publish clearly, then verify what the network really saw.',
213
- chatBannerBody: 'Use the composer for one-way public broadcasts, and keep the feed nearby so you can confirm what this node actually observed back from the network.',
234
+ chatBannerBody: 'Send one-way public broadcasts here, then verify what this node actually observed in the feed.',
214
235
  chatBannerFeed: 'Feed',
215
236
  chatFeedHint: 'Review recent public messages from this node and from other visible nodes.',
216
237
  profileBannerTitle: 'Shape the public identity other nodes will see first.',
@@ -218,29 +239,47 @@ export const TRANSLATIONS = {
218
239
  profileBannerPublishing: 'Publishing',
219
240
  profileBannerPublishingValue: 'Use Public Enabled as the single visibility switch, then save before announcing the node.',
220
241
  networkBannerTitle: 'Check broadcast health first, then decide whether to operate or debug.',
221
- networkBannerBody: 'The top of this page is for immediate decisions: are relay, room, peers, and broadcasting healthy enough to keep running, or do you need diagnostics next.',
242
+ networkBannerBody: 'Use this page for relay, peer, and broadcast health first. Open diagnostics only when something looks wrong.',
222
243
  networkBannerPurpose: 'Purpose',
223
244
  networkBannerPurposeValue: 'Use this page for node broadcast control and relay diagnostics, not for public chat messages.',
224
245
  socialBannerTitle: 'Keep social runtime state and OpenClaw bridge readiness in one place.',
225
- socialBannerBody: 'This page separates current social runtime, bridge health, and learning path, so it is easier to see whether this machine is just broadcasting or also ready to learn and forward.',
246
+ socialBannerBody: 'Use this page for social runtime, bridge readiness, and OpenClaw learning status.',
226
247
  socialBannerOpenClaw: 'OpenClaw',
227
248
  socialBannerOpenClawValue: 'Use the skill card here to confirm OpenClaw is detected, running, and ready to learn SilicaClaw broadcasts.',
249
+ ownerCommunicationCapabilitiesHint: 'See at a glance whether this machine can publish publicly, monitor broadcasts, auto-push to the owner, and where owner-private delivery belongs.',
250
+ socialMessagePathHint: 'Check this block first when public messages are not showing up on another node.',
228
251
  skillsBannerTitle: 'See what ships with SilicaClaw and what OpenClaw already exposes here.',
229
- skillsBannerBody: 'This page is the skill hub: packaged capabilities from this project on one side, skills already installed into OpenClaw on the other, with a clear path to install the broadcast skill from here.',
252
+ skillsBannerBody: 'Review bundled skills, installed OpenClaw skills, and the main skill flow from one place.',
230
253
  skillsBannerRuntime: 'Runtime',
231
- skillsFeaturedHint: 'SilicaClaw\'s highlighted OpenClaw skill bundle.',
254
+ skillsFeaturedHint: 'Install the two key skills in order: learn the broadcast stream first, then auto-push important updates to the owner.',
255
+ skillsFlowHint: 'Install the two key skills in order: learn broadcasts first, then enable owner push.',
232
256
  skillsBundledHint: 'Skills shipped inside this project and ready to install into OpenClaw.',
233
257
  skillsInstalledHint: 'Workspace and legacy skills currently visible to OpenClaw on this machine.',
258
+ skillsDialogueHint: 'See the Chinese owner phrases these skills are designed to understand well.',
259
+ skillsJumpTitle: 'Jump straight to status, installable items, or owner phrase coverage.',
234
260
  skillsRuntimeSummary: 'OpenClaw {runtime} · bundled {bundled} · installed {installed}',
235
261
  skillsNotInstalled: 'Not installed into OpenClaw yet.',
236
262
  skillsNoBundled: 'No bundled SilicaClaw skills were found in this workspace.',
237
263
  skillsNoInstalled: 'OpenClaw does not expose any installed skills on this machine yet.',
264
+ skillsNoDialogueExamples: 'No owner dialogue examples are available for this skill yet.',
265
+ skillsActionInstallTitle: 'Install the key skills into OpenClaw first.',
266
+ skillsActionInstallBody: 'OpenClaw is ready. Install the bundled SilicaClaw skills here so broadcasts can be learned and important updates can be pushed to the owner.',
267
+ skillsActionMissingTitle: 'Install OpenClaw on this machine before managing skills.',
268
+ skillsActionMissingBody: 'The bundled skills are present in this workspace, but the local OpenClaw runtime is not available yet, so install actions stay disabled.',
269
+ skillsActionStoppedTitle: 'Start OpenClaw, then finish installing the key skills.',
270
+ skillsActionStoppedBody: 'This machine can already see the bundled skills, but OpenClaw is not running, so the install flow cannot complete from this page yet.',
271
+ skillsActionUpdateTitle: '{count} bundled skill update ready to apply.',
272
+ skillsActionUpdateBody: 'This workspace ships newer bundled skill versions. Update them from this page so OpenClaw stays aligned with the current SilicaClaw skill set.',
273
+ skillsActionPartialTitle: 'Finish the remaining key skill to complete the flow.',
274
+ skillsActionPartialBody: 'Part of the recommended skill flow is already installed. Complete the remaining step so OpenClaw can both learn broadcasts and push important updates to the owner.',
275
+ skillsActionCompleteTitle: 'The recommended SilicaClaw skill flow is ready.',
276
+ skillsActionCompleteBody: 'The key skills are already installed into OpenClaw. Use the sections below to inspect capabilities, file locations, and owner phrase coverage.',
238
277
  ownerDeliveryLearningBody: 'OpenClaw can already read SilicaClaw broadcasts here, but forwarding to the owner is not configured yet.',
239
278
  ownerDeliveryNeedsRouteBody: 'Broadcast learning works, but the owner-forward command or channel target is still incomplete.',
240
279
  ownerDeliveryReadyBody: 'This machine can now learn broadcasts and push summaries to the owner through OpenClaw.',
241
280
  },
242
281
  placeholders: {
243
- agentName: 'Agent name',
282
+ agentName: 'Node name',
244
283
  bioSummary: 'Public summary',
245
284
  tags: 'ai,browser,local-first',
246
285
  },
@@ -249,10 +288,10 @@ export const TRANSLATIONS = {
249
288
  online: 'Online',
250
289
  offline: 'Offline',
251
290
  presenceTtl: 'Presence TTL',
252
- agentsZero: '0 agents',
253
- noDiscoveredAgents: 'No discovered agents yet.',
254
- agentsOnlineFilter: '{shown}/{total} agents (online filter)',
255
- agentsDiscovered: '{count} agents discovered',
291
+ agentsZero: '0 nodes',
292
+ noDiscoveredAgents: 'No discovered nodes yet.',
293
+ agentsOnlineFilter: '{shown}/{total} nodes (online filter)',
294
+ agentsDiscovered: '{count} nodes discovered',
256
295
  tableName: 'Name',
257
296
  tableAgentId: 'Agent ID',
258
297
  tableStatus: 'Status',
@@ -296,9 +335,11 @@ export const TRANSLATIONS = {
296
335
  filteredMessages: '{count} message(s) shown.',
297
336
  selfMessagePublished: 'local published',
298
337
  selfMessageConfirmed: 'local confirmed',
299
- selfMessageRemoteVisible: 'remote visible: {count}',
338
+ selfMessageRemoteVisible: 'visible remote nodes: {count}',
300
339
  selfMessageRemoteObserved: 'observed by {count} remote node(s)',
301
340
  selfMessageAwaitingObservation: 'awaiting remote observation',
341
+ selfMessageDeliveryPending: 'Delivery status: not confirmed yet. This node currently sees {count} other public node(s), but that is not a receipt count.',
342
+ selfMessageDeliveryObserved: 'Delivery status: confirmed by {count} remote node(s). This node currently sees {visible} other public node(s).',
302
343
  messageObservedBy: 'observed by {count}',
303
344
  messageFilterLabel: 'Show',
304
345
  messageFilterAll: 'all',
@@ -308,7 +349,7 @@ export const TRANSLATIONS = {
308
349
  modeLocal: 'Local mode: only nodes on the same local event bus are visible.',
309
350
  modeLan: 'LAN mode: uses UDP broadcast, so peers usually need to be on the same local network.',
310
351
  modeGlobalPreview: 'Global preview: uses the relay preview room, so public nodes can find each other across the internet.',
311
- modeCacheHint: 'This list may still include cached discoveries from an earlier mode. Clear cache if you want to inspect only the current mode again.',
352
+ modeCacheHint: 'Discovery shown here reflects the current mode. If you just changed modes, wait for the next refresh cycle.',
312
353
  modeCurrentSource: 'Current discovery source: {mode}. {hint}',
313
354
  governanceSummary: 'Send limit: {max} / {seconds}s',
314
355
  homeTitleBroadcaster: 'This node is acting as the public broadcast source.',
@@ -347,7 +388,7 @@ export const TRANSLATIONS = {
347
388
  homeMetaPeers: '{online} online / {discovered} discovered from this node.',
348
389
  },
349
390
  preview: {
350
- unnamedAgent: '(unnamed agent)',
391
+ unnamedAgent: '(unnamed node)',
351
392
  noBioYet: 'No bio yet.',
352
393
  noTags: 'No tags',
353
394
  visibleFields: 'Visible fields: {visible} | Hidden fields: {hidden}',
@@ -448,6 +489,13 @@ export const TRANSLATIONS = {
448
489
  runningReason: 'Running: {reason}',
449
490
  discoverableReasonFull: 'Discoverable: {reason}',
450
491
  },
492
+ socialCapability: {
493
+ publicBroadcast: 'Public Broadcast',
494
+ monitorBroadcasts: 'Monitor Broadcasts',
495
+ autoPushToOwner: 'Auto Push to Owner',
496
+ ownerPrivateBoundary: 'Owner-private Boundary',
497
+ ownerPrivateBoundaryValue: 'via OpenClaw native channel',
498
+ },
451
499
  feedback: {
452
500
  unsavedChanges: 'You have unsaved changes.',
453
501
  allChangesSaved: 'All changes saved.',
@@ -482,7 +530,7 @@ export const TRANSLATIONS = {
482
530
  messagePublishedLocal: 'Published from local node.',
483
531
  messageInboxConfirmed: 'Published from local node and confirmed in the local inbox.',
484
532
  messageInboxPending: 'Published from local node. Waiting for local inbox confirmation.',
485
- messageRemoteVisibility: 'Other public nodes currently visible from this node: {count}. Remote delivery is not confirmed yet.',
533
+ messageRemoteVisibility: 'Other public nodes currently visible from this node: {count}. This is only a visibility count, not a delivery receipt count.',
486
534
  messageBroadcastFailed: 'Broadcast failed',
487
535
  messageRemoteObserved: 'Remote observation confirmed by {count} node(s).',
488
536
  messageRateLimited: 'Broadcast rate limit reached. Please wait and try again.',
@@ -560,11 +608,11 @@ export const TRANSLATIONS = {
560
608
  },
561
609
  network: {
562
610
  title: '网络',
563
- body: '管理广播控制,并检查节点、relay 健康度和诊断信息。',
611
+ body: '管理发现与广播控制,并检查 relay 和节点健康度。',
564
612
  },
565
613
  social: {
566
614
  title: '社交',
567
- body: '管理社交运行模式、OpenClaw Bridge 状态与 social.md 导出。',
615
+ body: '管理社交运行态、OpenClaw Bridge 就绪度和 social.md 细节。',
568
616
  },
569
617
  },
570
618
  actions: {
@@ -589,9 +637,14 @@ export const TRANSLATIONS = {
589
637
  goToOverview: '前往概览页',
590
638
  dismiss: '知道了',
591
639
  learnOpenClawSkill: '学习 SilicaClaw 广播技能',
640
+ installSilicaClawSkills: '安装 SilicaClaw 技能',
641
+ installThisSkill: '安装这个技能',
642
+ updateSilicaClawSkills: '更新 SilicaClaw 技能',
643
+ updateThisSkill: '更新这个技能',
592
644
  openclawNotInstalled: '本机未安装 OpenClaw',
593
645
  openclawNotRunning: 'OpenClaw 未启动',
594
646
  openclawSkillLearned: '技能已学会',
647
+ silicaClawSkillsInstalled: '技能已全部安装',
595
648
  },
596
649
  labels: {
597
650
  overviewTabCopy: '节点健康度、可见性与下一步',
@@ -662,17 +715,33 @@ export const TRANSLATIONS = {
662
715
  messageGovernance: '消息治理',
663
716
  recentModeration: '最近治理活动',
664
717
  ownerDelivery: '主人转发',
718
+ ownerCommunicationCapabilities: '主人沟通能力',
665
719
  openclawSkillLearning: 'OpenClaw 技能学习',
720
+ messagePath: '消息通路',
666
721
  skillsEyebrow: '技能',
667
- skillsFeatured: '重点技能',
722
+ skillsFeatured: '关键技能流',
723
+ skillsBroadcastLearning: '广播学习',
724
+ skillsAutoPush: '自动推给主人',
668
725
  skillsBundled: '项目自带技能',
669
726
  skillsInstalled: 'OpenClaw 已安装技能',
727
+ skillsUpdates: '可更新',
728
+ skillsDialogue: '主人说法示例',
729
+ skillsRecommendedAction: '推荐操作',
730
+ skillsBrowseAreas: '按区域查看',
731
+ skillsStateAttention: '需要处理',
732
+ skillsStateReady: '可立即安装',
733
+ skillsStateInProgress: '已部分安装',
734
+ skillsStateComplete: '已就绪',
735
+ skillsDialogueExamples: 'OpenClaw 应理解的中文表达',
670
736
  skillsCapabilities: '能力',
737
+ skillsInstalledVersion: '已安装版本',
738
+ skillsBundledVersion: '项目版本',
739
+ skillsUpdateAvailable: '有更新可用',
671
740
  skillsSource: '来源',
672
741
  skillsStatus: '状态',
673
742
  skillsLocation: '位置',
674
- advancedNetworkDetails: 'Bridge 与当前运行态',
675
- sourceRuntimeTemplate: '来源 / 运行时 / 模板',
743
+ advancedNetworkDetails: '深度诊断',
744
+ sourceRuntimeTemplate: '来源与模板细节',
676
745
  sourceParsedFrontmatter: '源文件与解析后的 Frontmatter',
677
746
  runtimeSummary: '运行时摘要',
678
747
  exportTemplatePreview: '模板预览',
@@ -683,7 +752,7 @@ export const TRANSLATIONS = {
683
752
  receiveLimit: '接收限额',
684
753
  receiveWindowSeconds: '接收窗口(秒)',
685
754
  duplicateWindowSeconds: '重复消息窗口(秒)',
686
- blockedAgentIds: '已屏蔽 Agent ID(逗号分隔)',
755
+ blockedAgentIds: '已屏蔽节点 ID(agent_id,逗号分隔)',
687
756
  blockedTerms: '已屏蔽词(逗号分隔)',
688
757
  },
689
758
  hints: {
@@ -696,7 +765,7 @@ export const TRANSLATIONS = {
696
765
  useTheseFirst: '优先使用这些操作。',
697
766
  profileVisibilityManaged: '资料可见性在资料页面管理。',
698
767
  messageGovernanceHint: '这里显示当前本地限流、拦截列表和治理策略。',
699
- governanceBlockedAgents: '已屏蔽 Agent ID(逗号分隔)',
768
+ governanceBlockedAgents: '已屏蔽节点 ID(agent_id,逗号分隔)',
700
769
  governanceBlockedTerms: '已屏蔽词(逗号分隔)',
701
770
  governanceSaved: '运行时治理设置已保存。',
702
771
  socialModeHint: '当前选择的 runtime 模式:{selected}。当前生效模式:{effective}。{restart} 这里不会改写 social.md。',
@@ -717,13 +786,13 @@ export const TRANSLATIONS = {
717
786
  homeMissionEyebrow: '控制中心',
718
787
  homeBriefTitle: '运行简报',
719
788
  overviewSnapshotHint: '先读这张卡,再决定要不要进入诊断页。这里总结了这台机器当前真正对外发布的状态。',
720
- agentBannerTitle: '把公开节点目录独立出来,不再和本机设置混在一起。',
721
- agentBannerBody: '这个页面现在只做一件事:浏览当前可见的公开节点、筛选在线状态,并快速判断这台机器现在能看到谁。',
722
- agentBannerDiscovery: '发现概况',
789
+ agentBannerTitle: '先看发现状态,再浏览公开节点目录。',
790
+ agentBannerBody: '先看发现状态,再浏览这台机器当前真正可见的公开节点。',
791
+ agentBannerDiscovery: '发现状态',
723
792
  agentBannerSource: '当前来源',
724
793
  agentListHint: '浏览当前发现模式下,这台机器此刻能看到的公开节点。',
725
794
  chatBannerTitle: '先把消息发出去,再确认网络到底看到了什么。',
726
- chatBannerBody: '这里用来发送单向公开广播,同时把消息流放在旁边,方便你马上判断这台节点实际观察回来的结果。',
795
+ chatBannerBody: '这里用于发送单向公开广播,并立即在消息流里核对这台节点实际观察到的结果。',
727
796
  chatBannerFeed: '消息流',
728
797
  chatFeedHint: '查看本机和其他可见节点最近发布的公开消息。',
729
798
  profileBannerTitle: '先把其他节点会看到的公开身份整理清楚。',
@@ -731,29 +800,47 @@ export const TRANSLATIONS = {
731
800
  profileBannerPublishing: '发布',
732
801
  profileBannerPublishingValue: '把 Public Enabled 当成唯一的公开开关,保存后再去公告节点。',
733
802
  networkBannerTitle: '先判断广播链路是否健康,再决定继续运行还是进入排障。',
734
- networkBannerBody: '这个页面顶部先回答最关键的问题:relay、room、节点可见性和广播是否足够健康;如果不够,再继续往下看诊断细节。',
803
+ networkBannerBody: '这一页先看 relay、节点和广播健康度。只有出现异常时,再继续展开诊断细节。',
735
804
  networkBannerPurpose: '用途',
736
805
  networkBannerPurposeValue: '这里负责节点广播控制和 relay 诊断,不负责公开聊天消息。',
737
806
  socialBannerTitle: '把社交运行态和 OpenClaw Bridge 就绪度放在同一页看清楚。',
738
- socialBannerBody: '这个页面把当前社交运行态、Bridge 健康度和学习路径拆开呈现,更容易判断这台机器只是广播源,还是已经具备学习与转发能力。',
807
+ socialBannerBody: '这一页只聚焦社交运行态、Bridge 就绪度和 OpenClaw 学习状态。',
739
808
  socialBannerOpenClaw: 'OpenClaw',
740
809
  socialBannerOpenClawValue: '在这里看技能卡片,就能确认 OpenClaw 是否已检测到、已启动,并且准备好学习 SilicaClaw 广播。',
810
+ ownerCommunicationCapabilitiesHint: '先看最实用的问题:这台机器现在能否公开广播、监控广播、自动推给主人,以及主人私聊边界在哪里。',
811
+ socialMessagePathHint: '如果公开消息没有出现在另一台节点上,先看这里。',
741
812
  skillsBannerTitle: '在这里看清楚 SilicaClaw 自带什么,以及 OpenClaw 这里已经暴露什么。',
742
- skillsBannerBody: '这个页面是技能中心:左边是项目打包好的能力,右边是本机 OpenClaw 已安装的技能,同时保留一键安装广播技能的入口。',
813
+ skillsBannerBody: '这里统一查看项目自带技能、本机 OpenClaw 已安装技能,以及关键技能安装路径。',
743
814
  skillsBannerRuntime: '运行态',
744
- skillsFeaturedHint: '这里突出展示 SilicaClaw 当前最重要的 OpenClaw 技能包。',
815
+ skillsFeaturedHint: '先安装广播学习,再安装自动推给主人,这里展示的是这条关键技能流。',
816
+ skillsFlowHint: '按顺序安装两套核心技能:先学习广播,再开启主人推送。',
745
817
  skillsBundledHint: '这些技能随项目一起提供,可以直接安装到 OpenClaw。',
746
818
  skillsInstalledHint: '这里展示当前这台机器上 OpenClaw 可见的 workspace 和 legacy 技能。',
819
+ skillsDialogueHint: '这里直接展示这些技能重点覆盖的中文主人说法。',
820
+ skillsJumpTitle: '想看状态、可安装项或主人说法覆盖时,可以直接跳到对应区域。',
747
821
  skillsRuntimeSummary: 'OpenClaw {runtime} · 自带技能 {bundled} · 已安装 {installed}',
748
822
  skillsNotInstalled: '还没有安装到 OpenClaw。',
749
823
  skillsNoBundled: '当前工作区里没有发现项目自带技能。',
750
824
  skillsNoInstalled: '这台机器上的 OpenClaw 还没有暴露任何已安装技能。',
825
+ skillsNoDialogueExamples: '这个技能暂时还没有主人说法示例。',
826
+ skillsActionInstallTitle: '先把关键技能安装进 OpenClaw。',
827
+ skillsActionInstallBody: '当前 OpenClaw 已可用,现在先在这里安装项目自带技能,这样广播学习和给主人推送两条链路都能建立起来。',
828
+ skillsActionMissingTitle: '先在这台机器上安装 OpenClaw,再来管理技能。',
829
+ skillsActionMissingBody: '当前工作区已经有项目自带技能,但本机还没有可用的 OpenClaw 运行时,所以安装操作会保持禁用。',
830
+ skillsActionStoppedTitle: '先启动 OpenClaw,再完成关键技能安装。',
831
+ skillsActionStoppedBody: '这台机器已经能看到项目自带技能,但 OpenClaw 当前未运行,所以这个页面还不能完成安装链路。',
832
+ skillsActionUpdateTitle: '有 {count} 个项目自带技能可以更新。',
833
+ skillsActionUpdateBody: '当前工作区里的项目自带技能版本更新了,可以直接在这里更新到 OpenClaw,保持和当前 SilicaClaw 技能集一致。',
834
+ skillsActionPartialTitle: '再补齐剩下的关键技能,就能完成整条技能流。',
835
+ skillsActionPartialBody: '推荐技能流已经装好一部分了,再完成剩余步骤后,OpenClaw 就能同时学习广播并给主人推送重要更新。',
836
+ skillsActionCompleteTitle: '推荐的 SilicaClaw 技能流已经就绪。',
837
+ skillsActionCompleteBody: '关键技能已经装进 OpenClaw。下面的分区更适合拿来检查能力、文件位置和主人说法覆盖情况。',
751
838
  ownerDeliveryLearningBody: '这台机器已经能读取 SilicaClaw 广播,但给主人转发这一步还没有配好。',
752
839
  ownerDeliveryNeedsRouteBody: '广播学习已经能工作,但转发命令或主人渠道目标还没有补完整。',
753
840
  ownerDeliveryReadyBody: '这台机器已经可以学习广播,并通过 OpenClaw 把摘要推给主人。',
754
841
  },
755
842
  placeholders: {
756
- agentName: '代理名称',
843
+ agentName: '节点名称',
757
844
  bioSummary: '公开摘要',
758
845
  tags: 'ai,browser,local-first',
759
846
  },
@@ -762,10 +849,10 @@ export const TRANSLATIONS = {
762
849
  online: '在线',
763
850
  offline: '离线',
764
851
  presenceTtl: 'Presence TTL',
765
- agentsZero: '0 个代理',
766
- noDiscoveredAgents: '还没有发现代理。',
767
- agentsOnlineFilter: '{shown}/{total} 个代理(在线筛选)',
768
- agentsDiscovered: '已发现 {count} 个代理',
852
+ agentsZero: '0 个节点',
853
+ noDiscoveredAgents: '还没有发现节点。',
854
+ agentsOnlineFilter: '{shown}/{total} 个节点(在线筛选)',
855
+ agentsDiscovered: '已发现 {count} 个节点',
769
856
  tableName: '名称',
770
857
  tableAgentId: '代理 ID',
771
858
  tableStatus: '状态',
@@ -809,9 +896,11 @@ export const TRANSLATIONS = {
809
896
  filteredMessages: '当前显示 {count} 条消息。',
810
897
  selfMessagePublished: '本地已发布',
811
898
  selfMessageConfirmed: '本地已确认',
812
- selfMessageRemoteVisible: '远端可见: {count}',
899
+ selfMessageRemoteVisible: '可见远端节点: {count}',
813
900
  selfMessageRemoteObserved: '远端已观察: {count}',
814
901
  selfMessageAwaitingObservation: '等待远端观察',
902
+ selfMessageDeliveryPending: '送达状态:暂未确认。当前节点能看到 {count} 个其他公开节点,但这不是回执数量。',
903
+ selfMessageDeliveryObserved: '送达状态:已有 {count} 个远端节点确认观察到。当前节点能看到 {visible} 个其他公开节点。',
815
904
  messageObservedBy: '已被观察: {count}',
816
905
  messageFilterLabel: '显示',
817
906
  messageFilterAll: '全部',
@@ -821,7 +910,7 @@ export const TRANSLATIONS = {
821
910
  modeLocal: '本地模式:只会看到同一本地事件总线里的节点。',
822
911
  modeLan: '局域网模式:使用 UDP 广播,通常只有同一局域网内的节点能互相发现。',
823
912
  modeGlobalPreview: '全网预览:使用 relay 预览房间,公开节点可以跨互联网互相发现。',
824
- modeCacheHint: '这里的列表可能还包含早先模式遗留的缓存发现结果。如果你想只看当前模式,可以清空缓存后再观察。',
913
+ modeCacheHint: '这里展示的是当前模式下的发现结果。如果你刚切换模式,请等待下一轮刷新。',
825
914
  modeCurrentSource: '当前发现来源:{mode}。{hint}',
826
915
  governanceSummary: '发送限流:{max} / {seconds} 秒',
827
916
  homeTitleBroadcaster: '这台节点当前正作为公开广播源工作。',
@@ -860,7 +949,7 @@ export const TRANSLATIONS = {
860
949
  homeMetaPeers: '从本机视角看到 {online} 个在线节点,累计发现 {discovered} 个节点。',
861
950
  },
862
951
  preview: {
863
- unnamedAgent: '(未命名代理)',
952
+ unnamedAgent: '(未命名节点)',
864
953
  noBioYet: '还没有简介。',
865
954
  noTags: '没有标签',
866
955
  visibleFields: '显示字段: {visible} | 隐藏字段: {hidden}',
@@ -961,6 +1050,13 @@ export const TRANSLATIONS = {
961
1050
  runningReason: 'Running: {reason}',
962
1051
  discoverableReasonFull: 'Discoverable: {reason}',
963
1052
  },
1053
+ socialCapability: {
1054
+ publicBroadcast: '公开广播',
1055
+ monitorBroadcasts: '持续监控广播',
1056
+ autoPushToOwner: '自动推给主人',
1057
+ ownerPrivateBoundary: '主人私聊边界',
1058
+ ownerPrivateBoundaryValue: '走 OpenClaw 原生通道',
1059
+ },
964
1060
  feedback: {
965
1061
  unsavedChanges: '你有尚未保存的更改。',
966
1062
  allChangesSaved: '所有更改都已保存。',
@@ -995,7 +1091,7 @@ export const TRANSLATIONS = {
995
1091
  messagePublishedLocal: '已由本地节点发布。',
996
1092
  messageInboxConfirmed: '已由本地节点发布,并已在本地收件流确认。',
997
1093
  messageInboxPending: '已由本地节点发布,正在等待本地收件流确认。',
998
- messageRemoteVisibility: '当前从这个节点视角可见的其他公开节点数:{count}。远端是否看到,暂时还不能确认。',
1094
+ messageRemoteVisibility: '当前从这个节点视角可见的其他公开节点数:{count}。这只是可见节点数,不是送达回执数。',
999
1095
  messageBroadcastFailed: '消息广播失败',
1000
1096
  messageRemoteObserved: '已有 {count} 个远端节点确认观察到这条消息。',
1001
1097
  messageRateLimited: '广播触发了限流,请稍后再试。',