@silicaclaw/cli 2026.3.19-15 → 2026.3.19-16

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 (195) hide show
  1. package/CHANGELOG.md +6 -0
  2. package/INSTALL.md +44 -11
  3. package/README.md +53 -19
  4. package/VERSION +1 -1
  5. package/apps/local-console/dist/apps/local-console/src/server.d.ts +30 -12
  6. package/apps/local-console/dist/apps/local-console/src/server.js +265 -48
  7. package/apps/local-console/dist/config/silicaclaw-defaults.json +19 -0
  8. package/apps/local-console/dist/packages/core/src/socialConfig.js +9 -5
  9. package/apps/local-console/dist/packages/network/src/realPreview.js +6 -2
  10. package/apps/local-console/dist/packages/network/src/relayPreview.js +8 -2
  11. package/apps/local-console/dist/packages/network/src/transport/udpLanBroadcastTransport.js +2 -1
  12. package/apps/local-console/dist/packages/network/src/webrtcPreview.js +5 -1
  13. package/apps/local-console/dist/packages/storage/src/socialRuntimeRepo.js +8 -4
  14. package/apps/local-console/public/app/app.js +17 -1
  15. package/apps/local-console/public/app/events.js +38 -2
  16. package/apps/local-console/public/app/network.js +32 -3
  17. package/apps/local-console/public/app/overview.js +4 -2
  18. package/apps/local-console/public/app/social.js +175 -26
  19. package/apps/local-console/public/app/styles.css +182 -14
  20. package/apps/local-console/public/app/template.js +70 -30
  21. package/apps/local-console/public/app/translations.js +131 -43
  22. package/apps/local-console/src/server.ts +281 -50
  23. package/apps/public-explorer/dist/apps/public-explorer/src/server.d.ts +1 -0
  24. package/apps/public-explorer/dist/apps/public-explorer/src/server.js +41 -0
  25. package/apps/public-explorer/dist/config/silicaclaw-defaults.json +19 -0
  26. package/apps/public-explorer/public/app/app.js +22 -2
  27. package/apps/public-explorer/public/app/template.js +4 -4
  28. package/apps/public-explorer/public/app/translations.js +15 -15
  29. package/apps/public-explorer/src/server.ts +11 -1
  30. package/docs/NEW_USER_INSTALL.md +14 -10
  31. package/docs/NEW_USER_OPERATIONS.md +3 -3
  32. package/docs/OPENCLAW_BRIDGE.md +15 -0
  33. package/docs/OPENCLAW_BRIDGE_ZH.md +15 -0
  34. package/node_modules/@silicaclaw/core/dist/config/silicaclaw-defaults.json +19 -0
  35. package/node_modules/@silicaclaw/core/dist/packages/core/src/crypto.d.ts +6 -0
  36. package/node_modules/@silicaclaw/core/dist/packages/core/src/crypto.js +50 -0
  37. package/node_modules/@silicaclaw/core/dist/packages/core/src/directory.d.ts +17 -0
  38. package/node_modules/@silicaclaw/core/dist/packages/core/src/directory.js +145 -0
  39. package/node_modules/@silicaclaw/core/dist/packages/core/src/identity.d.ts +2 -0
  40. package/node_modules/@silicaclaw/core/dist/packages/core/src/identity.js +18 -0
  41. package/node_modules/@silicaclaw/core/dist/packages/core/src/index.d.ts +12 -0
  42. package/node_modules/@silicaclaw/core/dist/packages/core/src/index.js +28 -0
  43. package/node_modules/@silicaclaw/core/dist/packages/core/src/indexing.d.ts +6 -0
  44. package/node_modules/@silicaclaw/core/dist/packages/core/src/indexing.js +43 -0
  45. package/node_modules/@silicaclaw/core/dist/packages/core/src/presence.d.ts +4 -0
  46. package/node_modules/@silicaclaw/core/dist/packages/core/src/presence.js +23 -0
  47. package/node_modules/@silicaclaw/core/dist/packages/core/src/profile.d.ts +4 -0
  48. package/node_modules/@silicaclaw/core/dist/packages/core/src/profile.js +39 -0
  49. package/node_modules/@silicaclaw/core/dist/packages/core/src/publicProfileSummary.d.ts +70 -0
  50. package/node_modules/@silicaclaw/core/dist/packages/core/src/publicProfileSummary.js +103 -0
  51. package/node_modules/@silicaclaw/core/dist/packages/core/src/socialConfig.d.ts +100 -0
  52. package/node_modules/@silicaclaw/core/dist/packages/core/src/socialConfig.js +300 -0
  53. package/node_modules/@silicaclaw/core/dist/packages/core/src/socialMessage.d.ts +19 -0
  54. package/node_modules/@silicaclaw/core/dist/packages/core/src/socialMessage.js +69 -0
  55. package/node_modules/@silicaclaw/core/dist/packages/core/src/socialResolver.d.ts +46 -0
  56. package/node_modules/@silicaclaw/core/dist/packages/core/src/socialResolver.js +237 -0
  57. package/node_modules/@silicaclaw/core/dist/packages/core/src/socialTemplate.d.ts +2 -0
  58. package/node_modules/@silicaclaw/core/dist/packages/core/src/socialTemplate.js +90 -0
  59. package/node_modules/@silicaclaw/core/dist/packages/core/src/types.d.ts +59 -0
  60. package/node_modules/@silicaclaw/core/dist/packages/core/src/types.js +2 -0
  61. package/node_modules/@silicaclaw/core/src/socialConfig.ts +7 -5
  62. package/node_modules/@silicaclaw/network/dist/config/silicaclaw-defaults.json +19 -0
  63. package/node_modules/@silicaclaw/network/dist/packages/network/src/abstractions/messageEnvelope.d.ts +28 -0
  64. package/node_modules/@silicaclaw/network/dist/packages/network/src/abstractions/messageEnvelope.js +36 -0
  65. package/node_modules/@silicaclaw/network/dist/packages/network/src/abstractions/peerDiscovery.d.ts +43 -0
  66. package/node_modules/@silicaclaw/network/dist/packages/network/src/abstractions/peerDiscovery.js +2 -0
  67. package/node_modules/@silicaclaw/network/dist/packages/network/src/abstractions/topicCodec.d.ts +4 -0
  68. package/node_modules/@silicaclaw/network/dist/packages/network/src/abstractions/topicCodec.js +2 -0
  69. package/node_modules/@silicaclaw/network/dist/packages/network/src/abstractions/transport.d.ts +36 -0
  70. package/node_modules/@silicaclaw/network/dist/packages/network/src/abstractions/transport.js +2 -0
  71. package/node_modules/@silicaclaw/network/dist/packages/network/src/codec/jsonMessageEnvelopeCodec.d.ts +5 -0
  72. package/node_modules/@silicaclaw/network/dist/packages/network/src/codec/jsonMessageEnvelopeCodec.js +24 -0
  73. package/node_modules/@silicaclaw/network/dist/packages/network/src/codec/jsonTopicCodec.d.ts +5 -0
  74. package/node_modules/@silicaclaw/network/dist/packages/network/src/codec/jsonTopicCodec.js +12 -0
  75. package/node_modules/@silicaclaw/network/dist/packages/network/src/discovery/heartbeatPeerDiscovery.d.ts +28 -0
  76. package/node_modules/@silicaclaw/network/dist/packages/network/src/discovery/heartbeatPeerDiscovery.js +144 -0
  77. package/node_modules/@silicaclaw/network/dist/packages/network/src/index.d.ts +14 -0
  78. package/node_modules/@silicaclaw/network/dist/packages/network/src/index.js +30 -0
  79. package/node_modules/@silicaclaw/network/dist/packages/network/src/localEventBus.d.ts +9 -0
  80. package/node_modules/@silicaclaw/network/dist/packages/network/src/localEventBus.js +47 -0
  81. package/node_modules/@silicaclaw/network/dist/packages/network/src/mock.d.ts +8 -0
  82. package/node_modules/@silicaclaw/network/dist/packages/network/src/mock.js +24 -0
  83. package/node_modules/@silicaclaw/network/dist/packages/network/src/realPreview.d.ts +105 -0
  84. package/node_modules/@silicaclaw/network/dist/packages/network/src/realPreview.js +331 -0
  85. package/node_modules/@silicaclaw/network/dist/packages/network/src/relayPreview.d.ts +166 -0
  86. package/node_modules/@silicaclaw/network/dist/packages/network/src/relayPreview.js +448 -0
  87. package/node_modules/@silicaclaw/network/dist/packages/network/src/transport/udpLanBroadcastTransport.d.ts +23 -0
  88. package/node_modules/@silicaclaw/network/dist/packages/network/src/transport/udpLanBroadcastTransport.js +154 -0
  89. package/node_modules/@silicaclaw/network/dist/packages/network/src/types.d.ts +6 -0
  90. package/node_modules/@silicaclaw/network/dist/packages/network/src/types.js +2 -0
  91. package/node_modules/@silicaclaw/network/dist/packages/network/src/webrtcPreview.d.ts +163 -0
  92. package/node_modules/@silicaclaw/network/dist/packages/network/src/webrtcPreview.js +848 -0
  93. package/node_modules/@silicaclaw/network/src/realPreview.ts +3 -2
  94. package/node_modules/@silicaclaw/network/src/relayPreview.ts +5 -2
  95. package/node_modules/@silicaclaw/network/src/transport/udpLanBroadcastTransport.ts +2 -1
  96. package/node_modules/@silicaclaw/network/src/webrtcPreview.ts +2 -1
  97. package/node_modules/@silicaclaw/storage/dist/socialRuntimeRepo.js +8 -4
  98. package/node_modules/@silicaclaw/storage/src/socialRuntimeRepo.ts +5 -4
  99. package/openclaw-skills/silicaclaw-bridge-setup/SKILL.md +147 -0
  100. package/openclaw-skills/silicaclaw-bridge-setup/VERSION +1 -0
  101. package/openclaw-skills/silicaclaw-bridge-setup/agents/openai.yaml +6 -0
  102. package/openclaw-skills/silicaclaw-bridge-setup/manifest.json +27 -0
  103. package/openclaw-skills/silicaclaw-bridge-setup/references/owner-dialogue-cheatsheet-zh.md +58 -0
  104. package/openclaw-skills/silicaclaw-bridge-setup/references/runtime-setup.md +43 -0
  105. package/openclaw-skills/silicaclaw-bridge-setup/references/troubleshooting.md +24 -0
  106. package/openclaw-skills/silicaclaw-broadcast/SKILL.md +132 -0
  107. package/openclaw-skills/silicaclaw-broadcast/VERSION +1 -1
  108. package/openclaw-skills/silicaclaw-broadcast/agents/openai.yaml +2 -2
  109. package/openclaw-skills/silicaclaw-broadcast/manifest.json +3 -2
  110. package/openclaw-skills/silicaclaw-broadcast/references/owner-dialogue-cheatsheet-zh.md +81 -0
  111. package/openclaw-skills/silicaclaw-owner-push/SKILL.md +217 -0
  112. package/openclaw-skills/silicaclaw-owner-push/VERSION +1 -0
  113. package/openclaw-skills/silicaclaw-owner-push/agents/openai.yaml +6 -0
  114. package/openclaw-skills/silicaclaw-owner-push/manifest.json +30 -0
  115. package/openclaw-skills/silicaclaw-owner-push/references/owner-dialogue-cheatsheet-zh.md +87 -0
  116. package/openclaw-skills/silicaclaw-owner-push/references/push-routing-policy.md +43 -0
  117. package/openclaw-skills/silicaclaw-owner-push/references/runtime-setup.md +41 -0
  118. package/openclaw-skills/silicaclaw-owner-push/scripts/owner-push-forwarder.mjs +214 -0
  119. package/openclaw-skills/silicaclaw-owner-push/scripts/send-to-owner-via-openclaw.mjs +69 -0
  120. package/package.json +1 -1
  121. package/packages/core/dist/config/silicaclaw-defaults.json +19 -0
  122. package/packages/core/dist/packages/core/src/crypto.d.ts +6 -0
  123. package/packages/core/dist/packages/core/src/crypto.js +50 -0
  124. package/packages/core/dist/packages/core/src/directory.d.ts +17 -0
  125. package/packages/core/dist/packages/core/src/directory.js +145 -0
  126. package/packages/core/dist/packages/core/src/identity.d.ts +2 -0
  127. package/packages/core/dist/packages/core/src/identity.js +18 -0
  128. package/packages/core/dist/packages/core/src/index.d.ts +12 -0
  129. package/packages/core/dist/packages/core/src/index.js +28 -0
  130. package/packages/core/dist/packages/core/src/indexing.d.ts +6 -0
  131. package/packages/core/dist/packages/core/src/indexing.js +43 -0
  132. package/packages/core/dist/packages/core/src/presence.d.ts +4 -0
  133. package/packages/core/dist/packages/core/src/presence.js +23 -0
  134. package/packages/core/dist/packages/core/src/profile.d.ts +4 -0
  135. package/packages/core/dist/packages/core/src/profile.js +39 -0
  136. package/packages/core/dist/packages/core/src/publicProfileSummary.d.ts +70 -0
  137. package/packages/core/dist/packages/core/src/publicProfileSummary.js +103 -0
  138. package/packages/core/dist/packages/core/src/socialConfig.d.ts +100 -0
  139. package/packages/core/dist/packages/core/src/socialConfig.js +300 -0
  140. package/packages/core/dist/packages/core/src/socialMessage.d.ts +19 -0
  141. package/packages/core/dist/packages/core/src/socialMessage.js +69 -0
  142. package/packages/core/dist/packages/core/src/socialResolver.d.ts +46 -0
  143. package/packages/core/dist/packages/core/src/socialResolver.js +237 -0
  144. package/packages/core/dist/packages/core/src/socialTemplate.d.ts +2 -0
  145. package/packages/core/dist/packages/core/src/socialTemplate.js +90 -0
  146. package/packages/core/dist/packages/core/src/types.d.ts +59 -0
  147. package/packages/core/dist/packages/core/src/types.js +2 -0
  148. package/packages/core/src/socialConfig.ts +7 -5
  149. package/packages/network/dist/config/silicaclaw-defaults.json +19 -0
  150. package/packages/network/dist/packages/network/src/abstractions/messageEnvelope.d.ts +28 -0
  151. package/packages/network/dist/packages/network/src/abstractions/messageEnvelope.js +36 -0
  152. package/packages/network/dist/packages/network/src/abstractions/peerDiscovery.d.ts +43 -0
  153. package/packages/network/dist/packages/network/src/abstractions/peerDiscovery.js +2 -0
  154. package/packages/network/dist/packages/network/src/abstractions/topicCodec.d.ts +4 -0
  155. package/packages/network/dist/packages/network/src/abstractions/topicCodec.js +2 -0
  156. package/packages/network/dist/packages/network/src/abstractions/transport.d.ts +36 -0
  157. package/packages/network/dist/packages/network/src/abstractions/transport.js +2 -0
  158. package/packages/network/dist/packages/network/src/codec/jsonMessageEnvelopeCodec.d.ts +5 -0
  159. package/packages/network/dist/packages/network/src/codec/jsonMessageEnvelopeCodec.js +24 -0
  160. package/packages/network/dist/packages/network/src/codec/jsonTopicCodec.d.ts +5 -0
  161. package/packages/network/dist/packages/network/src/codec/jsonTopicCodec.js +12 -0
  162. package/packages/network/dist/packages/network/src/discovery/heartbeatPeerDiscovery.d.ts +28 -0
  163. package/packages/network/dist/packages/network/src/discovery/heartbeatPeerDiscovery.js +144 -0
  164. package/packages/network/dist/packages/network/src/index.d.ts +14 -0
  165. package/packages/network/dist/packages/network/src/index.js +30 -0
  166. package/packages/network/dist/packages/network/src/localEventBus.d.ts +9 -0
  167. package/packages/network/dist/packages/network/src/localEventBus.js +47 -0
  168. package/packages/network/dist/packages/network/src/mock.d.ts +8 -0
  169. package/packages/network/dist/packages/network/src/mock.js +24 -0
  170. package/packages/network/dist/packages/network/src/realPreview.d.ts +105 -0
  171. package/packages/network/dist/packages/network/src/realPreview.js +331 -0
  172. package/packages/network/dist/packages/network/src/relayPreview.d.ts +166 -0
  173. package/packages/network/dist/packages/network/src/relayPreview.js +448 -0
  174. package/packages/network/dist/packages/network/src/transport/udpLanBroadcastTransport.d.ts +23 -0
  175. package/packages/network/dist/packages/network/src/transport/udpLanBroadcastTransport.js +154 -0
  176. package/packages/network/dist/packages/network/src/types.d.ts +6 -0
  177. package/packages/network/dist/packages/network/src/types.js +2 -0
  178. package/packages/network/dist/packages/network/src/webrtcPreview.d.ts +163 -0
  179. package/packages/network/dist/packages/network/src/webrtcPreview.js +848 -0
  180. package/packages/network/src/realPreview.ts +3 -2
  181. package/packages/network/src/relayPreview.ts +5 -2
  182. package/packages/network/src/transport/udpLanBroadcastTransport.ts +2 -1
  183. package/packages/network/src/webrtcPreview.ts +2 -1
  184. package/packages/storage/dist/socialRuntimeRepo.js +8 -4
  185. package/packages/storage/src/socialRuntimeRepo.ts +5 -4
  186. package/scripts/functional-check.mjs +35 -6
  187. package/scripts/install-openclaw-skill.mjs +9 -2
  188. package/scripts/openclaw-bridge-adapter.mjs +3 -1
  189. package/scripts/openclaw-bridge-client.mjs +3 -1
  190. package/scripts/openclaw-runtime-demo.mjs +3 -1
  191. package/scripts/quickstart.sh +13 -9
  192. package/scripts/release-pack.mjs +13 -1
  193. package/scripts/silicaclaw-cli.mjs +23 -18
  194. package/scripts/silicaclaw-gateway.mjs +33 -27
  195. 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,18 +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',
153
159
  messagePath: 'Message Path',
154
160
  skillsEyebrow: 'Skills',
155
- skillsFeatured: 'Featured Skill',
161
+ skillsFeatured: 'Key Skill Flow',
162
+ skillsBroadcastLearning: 'Broadcast Learning',
163
+ skillsAutoPush: 'Auto Push to Owner',
156
164
  skillsBundled: 'Bundled Skills',
157
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',
158
175
  skillsCapabilities: 'Capabilities',
176
+ skillsInstalledVersion: 'Installed Version',
177
+ skillsBundledVersion: 'Bundled Version',
178
+ skillsUpdateAvailable: 'Update available',
159
179
  skillsSource: 'Source',
160
180
  skillsStatus: 'Status',
161
181
  skillsLocation: 'Location',
162
- advancedNetworkDetails: 'Bridge & Effective Runtime',
163
- sourceRuntimeTemplate: 'Source / Runtime / Template',
182
+ advancedNetworkDetails: 'Deep Diagnostics',
183
+ sourceRuntimeTemplate: 'Source & Template Details',
164
184
  sourceParsedFrontmatter: 'Source & Parsed Frontmatter',
165
185
  runtimeSummary: 'Runtime Summary',
166
186
  exportTemplatePreview: 'Template Preview',
@@ -171,7 +191,7 @@ export const TRANSLATIONS = {
171
191
  receiveLimit: 'Receive Limit',
172
192
  receiveWindowSeconds: 'Receive Window (seconds)',
173
193
  duplicateWindowSeconds: 'Duplicate Window (seconds)',
174
- blockedAgentIds: 'Blocked Agent IDs (comma separated)',
194
+ blockedAgentIds: 'Blocked node IDs (agent_id, comma separated)',
175
195
  blockedTerms: 'Blocked Terms (comma separated)',
176
196
  },
177
197
  hints: {
@@ -184,7 +204,7 @@ export const TRANSLATIONS = {
184
204
  useTheseFirst: 'Use these first.',
185
205
  profileVisibilityManaged: 'Profile visibility is managed in the Profile page.',
186
206
  messageGovernanceHint: 'Current local limits, blocked lists, and moderation policy.',
187
- governanceBlockedAgents: 'Blocked Agent IDs (comma separated)',
207
+ governanceBlockedAgents: 'Blocked node IDs (agent_id, comma separated)',
188
208
  governanceBlockedTerms: 'Blocked Terms (comma separated)',
189
209
  governanceSaved: 'Runtime governance saved.',
190
210
  socialModeHint: 'Selected runtime mode: {selected}. Current effective mode: {effective}. {restart} Changes do not rewrite social.md.',
@@ -206,12 +226,12 @@ export const TRANSLATIONS = {
206
226
  homeBriefTitle: 'Operational Brief',
207
227
  overviewSnapshotHint: 'Read this card before opening diagnostics. It summarizes what this machine is actually publishing right now.',
208
228
  agentBannerTitle: 'Track discovery status first, then browse the public node directory.',
209
- agentBannerBody: 'Use the top metrics to understand how many public nodes are visible right now, then inspect the directory below to see who is online from this machine.',
229
+ agentBannerBody: 'Check discovery status first, then browse the public nodes currently visible from this machine.',
210
230
  agentBannerDiscovery: 'Discovery status',
211
231
  agentBannerSource: 'Current source',
212
232
  agentListHint: 'Browse the latest public nodes visible from this machine in the current discovery mode.',
213
233
  chatBannerTitle: 'Publish clearly, then verify what the network really saw.',
214
- 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.',
215
235
  chatBannerFeed: 'Feed',
216
236
  chatFeedHint: 'Review recent public messages from this node and from other visible nodes.',
217
237
  profileBannerTitle: 'Shape the public identity other nodes will see first.',
@@ -219,30 +239,47 @@ export const TRANSLATIONS = {
219
239
  profileBannerPublishing: 'Publishing',
220
240
  profileBannerPublishingValue: 'Use Public Enabled as the single visibility switch, then save before announcing the node.',
221
241
  networkBannerTitle: 'Check broadcast health first, then decide whether to operate or debug.',
222
- 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.',
223
243
  networkBannerPurpose: 'Purpose',
224
244
  networkBannerPurposeValue: 'Use this page for node broadcast control and relay diagnostics, not for public chat messages.',
225
245
  socialBannerTitle: 'Keep social runtime state and OpenClaw bridge readiness in one place.',
226
- 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.',
227
247
  socialBannerOpenClaw: 'OpenClaw',
228
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.',
229
250
  socialMessagePathHint: 'Check this block first when public messages are not showing up on another node.',
230
251
  skillsBannerTitle: 'See what ships with SilicaClaw and what OpenClaw already exposes here.',
231
- 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.',
232
253
  skillsBannerRuntime: 'Runtime',
233
- 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.',
234
256
  skillsBundledHint: 'Skills shipped inside this project and ready to install into OpenClaw.',
235
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.',
236
260
  skillsRuntimeSummary: 'OpenClaw {runtime} · bundled {bundled} · installed {installed}',
237
261
  skillsNotInstalled: 'Not installed into OpenClaw yet.',
238
262
  skillsNoBundled: 'No bundled SilicaClaw skills were found in this workspace.',
239
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.',
240
277
  ownerDeliveryLearningBody: 'OpenClaw can already read SilicaClaw broadcasts here, but forwarding to the owner is not configured yet.',
241
278
  ownerDeliveryNeedsRouteBody: 'Broadcast learning works, but the owner-forward command or channel target is still incomplete.',
242
279
  ownerDeliveryReadyBody: 'This machine can now learn broadcasts and push summaries to the owner through OpenClaw.',
243
280
  },
244
281
  placeholders: {
245
- agentName: 'Agent name',
282
+ agentName: 'Node name',
246
283
  bioSummary: 'Public summary',
247
284
  tags: 'ai,browser,local-first',
248
285
  },
@@ -251,10 +288,10 @@ export const TRANSLATIONS = {
251
288
  online: 'Online',
252
289
  offline: 'Offline',
253
290
  presenceTtl: 'Presence TTL',
254
- agentsZero: '0 agents',
255
- noDiscoveredAgents: 'No discovered agents yet.',
256
- agentsOnlineFilter: '{shown}/{total} agents (online filter)',
257
- 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',
258
295
  tableName: 'Name',
259
296
  tableAgentId: 'Agent ID',
260
297
  tableStatus: 'Status',
@@ -310,7 +347,7 @@ export const TRANSLATIONS = {
310
347
  modeLocal: 'Local mode: only nodes on the same local event bus are visible.',
311
348
  modeLan: 'LAN mode: uses UDP broadcast, so peers usually need to be on the same local network.',
312
349
  modeGlobalPreview: 'Global preview: uses the relay preview room, so public nodes can find each other across the internet.',
313
- modeCacheHint: 'This list may still include cached discoveries from an earlier mode. Clear cache if you want to inspect only the current mode again.',
350
+ modeCacheHint: 'Discovery shown here reflects the current mode. If you just changed modes, wait for the next refresh cycle.',
314
351
  modeCurrentSource: 'Current discovery source: {mode}. {hint}',
315
352
  governanceSummary: 'Send limit: {max} / {seconds}s',
316
353
  homeTitleBroadcaster: 'This node is acting as the public broadcast source.',
@@ -349,7 +386,7 @@ export const TRANSLATIONS = {
349
386
  homeMetaPeers: '{online} online / {discovered} discovered from this node.',
350
387
  },
351
388
  preview: {
352
- unnamedAgent: '(unnamed agent)',
389
+ unnamedAgent: '(unnamed node)',
353
390
  noBioYet: 'No bio yet.',
354
391
  noTags: 'No tags',
355
392
  visibleFields: 'Visible fields: {visible} | Hidden fields: {hidden}',
@@ -450,6 +487,13 @@ export const TRANSLATIONS = {
450
487
  runningReason: 'Running: {reason}',
451
488
  discoverableReasonFull: 'Discoverable: {reason}',
452
489
  },
490
+ socialCapability: {
491
+ publicBroadcast: 'Public Broadcast',
492
+ monitorBroadcasts: 'Monitor Broadcasts',
493
+ autoPushToOwner: 'Auto Push to Owner',
494
+ ownerPrivateBoundary: 'Owner-private Boundary',
495
+ ownerPrivateBoundaryValue: 'via OpenClaw native channel',
496
+ },
453
497
  feedback: {
454
498
  unsavedChanges: 'You have unsaved changes.',
455
499
  allChangesSaved: 'All changes saved.',
@@ -562,11 +606,11 @@ export const TRANSLATIONS = {
562
606
  },
563
607
  network: {
564
608
  title: '网络',
565
- body: '管理广播控制,并检查节点、relay 健康度和诊断信息。',
609
+ body: '管理发现与广播控制,并检查 relay 和节点健康度。',
566
610
  },
567
611
  social: {
568
612
  title: '社交',
569
- body: '管理社交运行模式、OpenClaw Bridge 状态与 social.md 导出。',
613
+ body: '管理社交运行态、OpenClaw Bridge 就绪度和 social.md 细节。',
570
614
  },
571
615
  },
572
616
  actions: {
@@ -591,9 +635,14 @@ export const TRANSLATIONS = {
591
635
  goToOverview: '前往概览页',
592
636
  dismiss: '知道了',
593
637
  learnOpenClawSkill: '学习 SilicaClaw 广播技能',
638
+ installSilicaClawSkills: '安装 SilicaClaw 技能',
639
+ installThisSkill: '安装这个技能',
640
+ updateSilicaClawSkills: '更新 SilicaClaw 技能',
641
+ updateThisSkill: '更新这个技能',
594
642
  openclawNotInstalled: '本机未安装 OpenClaw',
595
643
  openclawNotRunning: 'OpenClaw 未启动',
596
644
  openclawSkillLearned: '技能已学会',
645
+ silicaClawSkillsInstalled: '技能已全部安装',
597
646
  },
598
647
  labels: {
599
648
  overviewTabCopy: '节点健康度、可见性与下一步',
@@ -664,18 +713,33 @@ export const TRANSLATIONS = {
664
713
  messageGovernance: '消息治理',
665
714
  recentModeration: '最近治理活动',
666
715
  ownerDelivery: '主人转发',
716
+ ownerCommunicationCapabilities: '主人沟通能力',
667
717
  openclawSkillLearning: 'OpenClaw 技能学习',
668
718
  messagePath: '消息通路',
669
719
  skillsEyebrow: '技能',
670
- skillsFeatured: '重点技能',
720
+ skillsFeatured: '关键技能流',
721
+ skillsBroadcastLearning: '广播学习',
722
+ skillsAutoPush: '自动推给主人',
671
723
  skillsBundled: '项目自带技能',
672
724
  skillsInstalled: 'OpenClaw 已安装技能',
725
+ skillsUpdates: '可更新',
726
+ skillsDialogue: '主人说法示例',
727
+ skillsRecommendedAction: '推荐操作',
728
+ skillsBrowseAreas: '按区域查看',
729
+ skillsStateAttention: '需要处理',
730
+ skillsStateReady: '可立即安装',
731
+ skillsStateInProgress: '已部分安装',
732
+ skillsStateComplete: '已就绪',
733
+ skillsDialogueExamples: 'OpenClaw 应理解的中文表达',
673
734
  skillsCapabilities: '能力',
735
+ skillsInstalledVersion: '已安装版本',
736
+ skillsBundledVersion: '项目版本',
737
+ skillsUpdateAvailable: '有更新可用',
674
738
  skillsSource: '来源',
675
739
  skillsStatus: '状态',
676
740
  skillsLocation: '位置',
677
- advancedNetworkDetails: 'Bridge 与当前运行态',
678
- sourceRuntimeTemplate: '来源 / 运行时 / 模板',
741
+ advancedNetworkDetails: '深度诊断',
742
+ sourceRuntimeTemplate: '来源与模板细节',
679
743
  sourceParsedFrontmatter: '源文件与解析后的 Frontmatter',
680
744
  runtimeSummary: '运行时摘要',
681
745
  exportTemplatePreview: '模板预览',
@@ -686,7 +750,7 @@ export const TRANSLATIONS = {
686
750
  receiveLimit: '接收限额',
687
751
  receiveWindowSeconds: '接收窗口(秒)',
688
752
  duplicateWindowSeconds: '重复消息窗口(秒)',
689
- blockedAgentIds: '已屏蔽 Agent ID(逗号分隔)',
753
+ blockedAgentIds: '已屏蔽节点 ID(agent_id,逗号分隔)',
690
754
  blockedTerms: '已屏蔽词(逗号分隔)',
691
755
  },
692
756
  hints: {
@@ -699,7 +763,7 @@ export const TRANSLATIONS = {
699
763
  useTheseFirst: '优先使用这些操作。',
700
764
  profileVisibilityManaged: '资料可见性在资料页面管理。',
701
765
  messageGovernanceHint: '这里显示当前本地限流、拦截列表和治理策略。',
702
- governanceBlockedAgents: '已屏蔽 Agent ID(逗号分隔)',
766
+ governanceBlockedAgents: '已屏蔽节点 ID(agent_id,逗号分隔)',
703
767
  governanceBlockedTerms: '已屏蔽词(逗号分隔)',
704
768
  governanceSaved: '运行时治理设置已保存。',
705
769
  socialModeHint: '当前选择的 runtime 模式:{selected}。当前生效模式:{effective}。{restart} 这里不会改写 social.md。',
@@ -721,12 +785,12 @@ export const TRANSLATIONS = {
721
785
  homeBriefTitle: '运行简报',
722
786
  overviewSnapshotHint: '先读这张卡,再决定要不要进入诊断页。这里总结了这台机器当前真正对外发布的状态。',
723
787
  agentBannerTitle: '先看发现状态,再浏览公开节点目录。',
724
- agentBannerBody: '页面顶部先告诉你当前看到了多少公开节点、多少在线节点,以及 Presence TTL;下面再进入目录,判断这台机器现在到底能看到谁。',
788
+ agentBannerBody: '先看发现状态,再浏览这台机器当前真正可见的公开节点。',
725
789
  agentBannerDiscovery: '发现状态',
726
790
  agentBannerSource: '当前来源',
727
791
  agentListHint: '浏览当前发现模式下,这台机器此刻能看到的公开节点。',
728
792
  chatBannerTitle: '先把消息发出去,再确认网络到底看到了什么。',
729
- chatBannerBody: '这里用来发送单向公开广播,同时把消息流放在旁边,方便你马上判断这台节点实际观察回来的结果。',
793
+ chatBannerBody: '这里用于发送单向公开广播,并立即在消息流里核对这台节点实际观察到的结果。',
730
794
  chatBannerFeed: '消息流',
731
795
  chatFeedHint: '查看本机和其他可见节点最近发布的公开消息。',
732
796
  profileBannerTitle: '先把其他节点会看到的公开身份整理清楚。',
@@ -734,30 +798,47 @@ export const TRANSLATIONS = {
734
798
  profileBannerPublishing: '发布',
735
799
  profileBannerPublishingValue: '把 Public Enabled 当成唯一的公开开关,保存后再去公告节点。',
736
800
  networkBannerTitle: '先判断广播链路是否健康,再决定继续运行还是进入排障。',
737
- networkBannerBody: '这个页面顶部先回答最关键的问题:relay、room、节点可见性和广播是否足够健康;如果不够,再继续往下看诊断细节。',
801
+ networkBannerBody: '这一页先看 relay、节点和广播健康度。只有出现异常时,再继续展开诊断细节。',
738
802
  networkBannerPurpose: '用途',
739
803
  networkBannerPurposeValue: '这里负责节点广播控制和 relay 诊断,不负责公开聊天消息。',
740
804
  socialBannerTitle: '把社交运行态和 OpenClaw Bridge 就绪度放在同一页看清楚。',
741
- socialBannerBody: '这个页面把当前社交运行态、Bridge 健康度和学习路径拆开呈现,更容易判断这台机器只是广播源,还是已经具备学习与转发能力。',
805
+ socialBannerBody: '这一页只聚焦社交运行态、Bridge 就绪度和 OpenClaw 学习状态。',
742
806
  socialBannerOpenClaw: 'OpenClaw',
743
807
  socialBannerOpenClawValue: '在这里看技能卡片,就能确认 OpenClaw 是否已检测到、已启动,并且准备好学习 SilicaClaw 广播。',
808
+ ownerCommunicationCapabilitiesHint: '先看最实用的问题:这台机器现在能否公开广播、监控广播、自动推给主人,以及主人私聊边界在哪里。',
744
809
  socialMessagePathHint: '如果公开消息没有出现在另一台节点上,先看这里。',
745
810
  skillsBannerTitle: '在这里看清楚 SilicaClaw 自带什么,以及 OpenClaw 这里已经暴露什么。',
746
- skillsBannerBody: '这个页面是技能中心:左边是项目打包好的能力,右边是本机 OpenClaw 已安装的技能,同时保留一键安装广播技能的入口。',
811
+ skillsBannerBody: '这里统一查看项目自带技能、本机 OpenClaw 已安装技能,以及关键技能安装路径。',
747
812
  skillsBannerRuntime: '运行态',
748
- skillsFeaturedHint: '这里突出展示 SilicaClaw 当前最重要的 OpenClaw 技能包。',
813
+ skillsFeaturedHint: '先安装广播学习,再安装自动推给主人,这里展示的是这条关键技能流。',
814
+ skillsFlowHint: '按顺序安装两套核心技能:先学习广播,再开启主人推送。',
749
815
  skillsBundledHint: '这些技能随项目一起提供,可以直接安装到 OpenClaw。',
750
816
  skillsInstalledHint: '这里展示当前这台机器上 OpenClaw 可见的 workspace 和 legacy 技能。',
817
+ skillsDialogueHint: '这里直接展示这些技能重点覆盖的中文主人说法。',
818
+ skillsJumpTitle: '想看状态、可安装项或主人说法覆盖时,可以直接跳到对应区域。',
751
819
  skillsRuntimeSummary: 'OpenClaw {runtime} · 自带技能 {bundled} · 已安装 {installed}',
752
820
  skillsNotInstalled: '还没有安装到 OpenClaw。',
753
821
  skillsNoBundled: '当前工作区里没有发现项目自带技能。',
754
822
  skillsNoInstalled: '这台机器上的 OpenClaw 还没有暴露任何已安装技能。',
823
+ skillsNoDialogueExamples: '这个技能暂时还没有主人说法示例。',
824
+ skillsActionInstallTitle: '先把关键技能安装进 OpenClaw。',
825
+ skillsActionInstallBody: '当前 OpenClaw 已可用,现在先在这里安装项目自带技能,这样广播学习和给主人推送两条链路都能建立起来。',
826
+ skillsActionMissingTitle: '先在这台机器上安装 OpenClaw,再来管理技能。',
827
+ skillsActionMissingBody: '当前工作区已经有项目自带技能,但本机还没有可用的 OpenClaw 运行时,所以安装操作会保持禁用。',
828
+ skillsActionStoppedTitle: '先启动 OpenClaw,再完成关键技能安装。',
829
+ skillsActionStoppedBody: '这台机器已经能看到项目自带技能,但 OpenClaw 当前未运行,所以这个页面还不能完成安装链路。',
830
+ skillsActionUpdateTitle: '有 {count} 个项目自带技能可以更新。',
831
+ skillsActionUpdateBody: '当前工作区里的项目自带技能版本更新了,可以直接在这里更新到 OpenClaw,保持和当前 SilicaClaw 技能集一致。',
832
+ skillsActionPartialTitle: '再补齐剩下的关键技能,就能完成整条技能流。',
833
+ skillsActionPartialBody: '推荐技能流已经装好一部分了,再完成剩余步骤后,OpenClaw 就能同时学习广播并给主人推送重要更新。',
834
+ skillsActionCompleteTitle: '推荐的 SilicaClaw 技能流已经就绪。',
835
+ skillsActionCompleteBody: '关键技能已经装进 OpenClaw。下面的分区更适合拿来检查能力、文件位置和主人说法覆盖情况。',
755
836
  ownerDeliveryLearningBody: '这台机器已经能读取 SilicaClaw 广播,但给主人转发这一步还没有配好。',
756
837
  ownerDeliveryNeedsRouteBody: '广播学习已经能工作,但转发命令或主人渠道目标还没有补完整。',
757
838
  ownerDeliveryReadyBody: '这台机器已经可以学习广播,并通过 OpenClaw 把摘要推给主人。',
758
839
  },
759
840
  placeholders: {
760
- agentName: '代理名称',
841
+ agentName: '节点名称',
761
842
  bioSummary: '公开摘要',
762
843
  tags: 'ai,browser,local-first',
763
844
  },
@@ -766,10 +847,10 @@ export const TRANSLATIONS = {
766
847
  online: '在线',
767
848
  offline: '离线',
768
849
  presenceTtl: 'Presence TTL',
769
- agentsZero: '0 个代理',
770
- noDiscoveredAgents: '还没有发现代理。',
771
- agentsOnlineFilter: '{shown}/{total} 个代理(在线筛选)',
772
- agentsDiscovered: '已发现 {count} 个代理',
850
+ agentsZero: '0 个节点',
851
+ noDiscoveredAgents: '还没有发现节点。',
852
+ agentsOnlineFilter: '{shown}/{total} 个节点(在线筛选)',
853
+ agentsDiscovered: '已发现 {count} 个节点',
773
854
  tableName: '名称',
774
855
  tableAgentId: '代理 ID',
775
856
  tableStatus: '状态',
@@ -825,7 +906,7 @@ export const TRANSLATIONS = {
825
906
  modeLocal: '本地模式:只会看到同一本地事件总线里的节点。',
826
907
  modeLan: '局域网模式:使用 UDP 广播,通常只有同一局域网内的节点能互相发现。',
827
908
  modeGlobalPreview: '全网预览:使用 relay 预览房间,公开节点可以跨互联网互相发现。',
828
- modeCacheHint: '这里的列表可能还包含早先模式遗留的缓存发现结果。如果你想只看当前模式,可以清空缓存后再观察。',
909
+ modeCacheHint: '这里展示的是当前模式下的发现结果。如果你刚切换模式,请等待下一轮刷新。',
829
910
  modeCurrentSource: '当前发现来源:{mode}。{hint}',
830
911
  governanceSummary: '发送限流:{max} / {seconds} 秒',
831
912
  homeTitleBroadcaster: '这台节点当前正作为公开广播源工作。',
@@ -864,7 +945,7 @@ export const TRANSLATIONS = {
864
945
  homeMetaPeers: '从本机视角看到 {online} 个在线节点,累计发现 {discovered} 个节点。',
865
946
  },
866
947
  preview: {
867
- unnamedAgent: '(未命名代理)',
948
+ unnamedAgent: '(未命名节点)',
868
949
  noBioYet: '还没有简介。',
869
950
  noTags: '没有标签',
870
951
  visibleFields: '显示字段: {visible} | 隐藏字段: {hidden}',
@@ -965,6 +1046,13 @@ export const TRANSLATIONS = {
965
1046
  runningReason: 'Running: {reason}',
966
1047
  discoverableReasonFull: 'Discoverable: {reason}',
967
1048
  },
1049
+ socialCapability: {
1050
+ publicBroadcast: '公开广播',
1051
+ monitorBroadcasts: '持续监控广播',
1052
+ autoPushToOwner: '自动推给主人',
1053
+ ownerPrivateBoundary: '主人私聊边界',
1054
+ ownerPrivateBoundaryValue: '走 OpenClaw 原生通道',
1055
+ },
968
1056
  feedback: {
969
1057
  unsavedChanges: '你有尚未保存的更改。',
970
1058
  allChangesSaved: '所有更改都已保存。',