fengming 0.3.9 → 0.3.11

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 (763) hide show
  1. package/dist/build-info.json +2 -2
  2. package/dist/{bundled-channel-config-schema-DpdKMATU.d.ts → bundled-channel-config-schema-Bte--ZlY.d.ts} +26 -26
  3. package/dist/canvas-host/a2ui/.bundle.hash +1 -1
  4. package/dist/cli-startup-metadata.json +8 -8
  5. package/dist/control-ui/assets/{activity-B2W-IeAT.js → activity-wgT0-JR0.js} +2 -2
  6. package/dist/control-ui/assets/{agents-mRUyNVCz.js → agents-DG5PobrT.js} +2 -2
  7. package/dist/control-ui/assets/{channels-8QHOqBnt.js → channels-CX28oM42.js} +2 -2
  8. package/dist/control-ui/assets/{cron-H3unP_mO.js → cron-B8ixwBqU.js} +2 -2
  9. package/dist/control-ui/assets/{debug-CxLsQ9vH.js → debug-CnkYZUXy.js} +2 -2
  10. package/dist/control-ui/assets/{index-jtIYT0Eh.js → index-DQRZJKbO.js} +4 -4
  11. package/dist/control-ui/assets/{instances-B1JQeCRb.js → instances-BE3mV1JC.js} +2 -2
  12. package/dist/control-ui/assets/{nodes-RGOmq_1l.js → nodes-Cou4PWRX.js} +2 -2
  13. package/dist/control-ui/assets/{sessions-C2O-Jgpg.js → sessions-DpAaBT21.js} +2 -2
  14. package/dist/control-ui/assets/{skills-jyJOYA4I.js → skills-DjA_j_20.js} +2 -2
  15. package/dist/control-ui/assets/{workboard-uM_kK8cQ.js → workboard-BFnvbS0k.js} +2 -2
  16. package/dist/control-ui/index.html +1 -1
  17. package/dist/control-ui/sw.js +1 -1
  18. package/dist/gateway/protocol/index.d.ts +1 -1
  19. package/dist/{index-DhOQs6M_.d.ts → index-DuDY3bCZ.d.ts} +45 -45
  20. package/dist/plugin-sdk/.boundary-entry-shims.stamp +1 -1
  21. package/dist/plugin-sdk/agent-config-primitives.d.ts +1 -1
  22. package/dist/plugin-sdk/{bundled-channel-config-schema-Dfn3b8sF.d.ts → bundled-channel-config-schema-BPFNnbwu.d.ts} +23 -23
  23. package/dist/plugin-sdk/bundled-channel-config-schema.d.ts +3 -3
  24. package/dist/plugin-sdk/channel-config-primitives.d.ts +2 -2
  25. package/dist/plugin-sdk/channel-config-schema-legacy.d.ts +3 -3
  26. package/dist/plugin-sdk/channel-config-schema.d.ts +2 -2
  27. package/dist/plugin-sdk/channel-core.d.ts +1 -1
  28. package/dist/plugin-sdk/channel-plugin-common.d.ts +1 -1
  29. package/dist/plugin-sdk/compat.d.ts +2 -2
  30. package/dist/plugin-sdk/{config-schema-DUddICQM.d.ts → config-schema-D7cABQ6o.d.ts} +1 -1
  31. package/dist/plugin-sdk/config-schema.d.ts +4 -4
  32. package/dist/plugin-sdk/core.d.ts +1 -1
  33. package/dist/plugin-sdk/discord.d.ts +2 -2
  34. package/dist/plugin-sdk/tts-runtime.d.ts +1 -1
  35. package/dist/plugin-sdk/{zod-schema.core-B4_b2R5K.d.ts → zod-schema.core-CwBNqcXp.d.ts} +1 -1
  36. package/dist/{zod-schema.core-Cuz0lz6m.d.ts → zod-schema.core-BGLctDlK.d.ts} +1 -1
  37. package/package.json +7 -412
  38. package/CHANGELOG.md +0 -38
  39. package/THIRD_PARTY_NOTICES.md +0 -37
  40. package/docs/.i18n/README.md +0 -81
  41. package/docs/.i18n/ar-navigation.json +0 -18
  42. package/docs/.i18n/de-navigation.json +0 -18
  43. package/docs/.i18n/es-navigation.json +0 -18
  44. package/docs/.i18n/fr-navigation.json +0 -18
  45. package/docs/.i18n/glossary.ar.json +0 -78
  46. package/docs/.i18n/glossary.de.json +0 -78
  47. package/docs/.i18n/glossary.es.json +0 -78
  48. package/docs/.i18n/glossary.fa.json +0 -78
  49. package/docs/.i18n/glossary.fr.json +0 -78
  50. package/docs/.i18n/glossary.id.json +0 -78
  51. package/docs/.i18n/glossary.it.json +0 -78
  52. package/docs/.i18n/glossary.ja-JP.json +0 -98
  53. package/docs/.i18n/glossary.ko.json +0 -78
  54. package/docs/.i18n/glossary.nl.json +0 -78
  55. package/docs/.i18n/glossary.pl.json +0 -78
  56. package/docs/.i18n/glossary.pt-BR.json +0 -78
  57. package/docs/.i18n/glossary.th.json +0 -78
  58. package/docs/.i18n/glossary.tr.json +0 -78
  59. package/docs/.i18n/glossary.uk.json +0 -78
  60. package/docs/.i18n/glossary.vi.json +0 -78
  61. package/docs/.i18n/glossary.zh-CN.json +0 -1122
  62. package/docs/.i18n/glossary.zh-TW.json +0 -78
  63. package/docs/.i18n/id-navigation.json +0 -18
  64. package/docs/.i18n/it-navigation.json +0 -18
  65. package/docs/.i18n/ja-navigation.json +0 -18
  66. package/docs/.i18n/ko-navigation.json +0 -18
  67. package/docs/.i18n/pl-navigation.json +0 -18
  68. package/docs/.i18n/pt-BR-navigation.json +0 -18
  69. package/docs/.i18n/tr-navigation.json +0 -18
  70. package/docs/.i18n/translation-workflow.md +0 -111
  71. package/docs/.i18n/zh-Hans-navigation.json +0 -552
  72. package/docs/AGENTS.md +0 -36
  73. package/docs/CLAUDE.md +0 -1
  74. package/docs/agent-runtime-architecture.md +0 -48
  75. package/docs/announcements/bluebubbles-imessage.md +0 -79
  76. package/docs/auth-credential-semantics.md +0 -124
  77. package/docs/automation/auth-monitoring.md +0 -11
  78. package/docs/automation/clawflow.md +0 -12
  79. package/docs/automation/cron-jobs.md +0 -534
  80. package/docs/automation/cron-vs-heartbeat.md +0 -11
  81. package/docs/automation/gmail-pubsub.md +0 -11
  82. package/docs/automation/hooks.md +0 -387
  83. package/docs/automation/index.md +0 -135
  84. package/docs/automation/poll.md +0 -12
  85. package/docs/automation/standing-orders.md +0 -250
  86. package/docs/automation/taskflow.md +0 -155
  87. package/docs/automation/tasks.md +0 -374
  88. package/docs/automation/troubleshooting.md +0 -12
  89. package/docs/automation/webhook.md +0 -12
  90. package/docs/brave-search.md +0 -11
  91. package/docs/channels/access-groups.md +0 -201
  92. package/docs/channels/ambient-room-events.md +0 -214
  93. package/docs/channels/bot-loop-protection.md +0 -131
  94. package/docs/channels/broadcast-groups.md +0 -472
  95. package/docs/channels/channel-routing.md +0 -162
  96. package/docs/channels/clickclack.md +0 -138
  97. package/docs/channels/discord.md +0 -1758
  98. package/docs/channels/feishu.md +0 -650
  99. package/docs/channels/googlechat.md +0 -284
  100. package/docs/channels/group-messages.md +0 -95
  101. package/docs/channels/groups.md +0 -524
  102. package/docs/channels/imessage-from-bluebubbles.md +0 -259
  103. package/docs/channels/imessage.md +0 -839
  104. package/docs/channels/index.md +0 -64
  105. package/docs/channels/irc.md +0 -253
  106. package/docs/channels/line.md +0 -243
  107. package/docs/channels/location.md +0 -71
  108. package/docs/channels/matrix-migration.md +0 -370
  109. package/docs/channels/matrix-presentation.md +0 -77
  110. package/docs/channels/matrix-push-rules.md +0 -150
  111. package/docs/channels/matrix.md +0 -921
  112. package/docs/channels/mattermost.md +0 -542
  113. package/docs/channels/msteams.md +0 -1096
  114. package/docs/channels/nextcloud-talk.md +0 -176
  115. package/docs/channels/nostr.md +0 -253
  116. package/docs/channels/pairing.md +0 -214
  117. package/docs/channels/qqbot.md +0 -314
  118. package/docs/channels/signal.md +0 -417
  119. package/docs/channels/slack.md +0 -1623
  120. package/docs/channels/synology-chat.md +0 -187
  121. package/docs/channels/telegram.md +0 -1124
  122. package/docs/channels/tlon.md +0 -296
  123. package/docs/channels/troubleshooting.md +0 -162
  124. package/docs/channels/twitch.md +0 -431
  125. package/docs/channels/wechat.md +0 -171
  126. package/docs/channels/whatsapp.md +0 -796
  127. package/docs/channels/yuanbao.md +0 -416
  128. package/docs/channels/zalo.md +0 -253
  129. package/docs/channels/zalouser.md +0 -217
  130. package/docs/ci.md +0 -657
  131. package/docs/clawhub/publishing.md +0 -96
  132. package/docs/cli/acp.md +0 -370
  133. package/docs/cli/agent.md +0 -109
  134. package/docs/cli/agents.md +0 -253
  135. package/docs/cli/approvals.md +0 -190
  136. package/docs/cli/backup.md +0 -98
  137. package/docs/cli/browser.md +0 -307
  138. package/docs/cli/channels.md +0 -154
  139. package/docs/cli/clawbot.md +0 -25
  140. package/docs/cli/commitments.md +0 -90
  141. package/docs/cli/completion.md +0 -39
  142. package/docs/cli/config.md +0 -504
  143. package/docs/cli/configure.md +0 -77
  144. package/docs/cli/crestodian.md +0 -337
  145. package/docs/cli/cron.md +0 -304
  146. package/docs/cli/daemon.md +0 -67
  147. package/docs/cli/dashboard.md +0 -33
  148. package/docs/cli/devices.md +0 -240
  149. package/docs/cli/directory.md +0 -68
  150. package/docs/cli/dns.md +0 -53
  151. package/docs/cli/docs.md +0 -63
  152. package/docs/cli/doctor.md +0 -241
  153. package/docs/cli/flows.md +0 -52
  154. package/docs/cli/gateway.md +0 -572
  155. package/docs/cli/health.md +0 -43
  156. package/docs/cli/hooks.md +0 -345
  157. package/docs/cli/index.md +0 -400
  158. package/docs/cli/infer.md +0 -364
  159. package/docs/cli/logs.md +0 -68
  160. package/docs/cli/mcp.md +0 -529
  161. package/docs/cli/memory.md +0 -183
  162. package/docs/cli/message.md +0 -317
  163. package/docs/cli/migrate.md +0 -334
  164. package/docs/cli/models.md +0 -239
  165. package/docs/cli/node.md +0 -177
  166. package/docs/cli/nodes.md +0 -76
  167. package/docs/cli/onboard.md +0 -250
  168. package/docs/cli/pairing.md +0 -77
  169. package/docs/cli/path.md +0 -511
  170. package/docs/cli/plugins.md +0 -459
  171. package/docs/cli/policy.md +0 -886
  172. package/docs/cli/proxy.md +0 -89
  173. package/docs/cli/qr.md +0 -56
  174. package/docs/cli/reset.md +0 -39
  175. package/docs/cli/sandbox.md +0 -208
  176. package/docs/cli/secrets.md +0 -202
  177. package/docs/cli/security.md +0 -136
  178. package/docs/cli/sessions.md +0 -164
  179. package/docs/cli/setup.md +0 -59
  180. package/docs/cli/skills.md +0 -122
  181. package/docs/cli/status.md +0 -45
  182. package/docs/cli/system.md +0 -89
  183. package/docs/cli/tasks.md +0 -111
  184. package/docs/cli/transcripts.md +0 -151
  185. package/docs/cli/tui.md +0 -91
  186. package/docs/cli/uninstall.md +0 -44
  187. package/docs/cli/update.md +0 -243
  188. package/docs/cli/voicecall.md +0 -204
  189. package/docs/cli/webhooks.md +0 -117
  190. package/docs/cli/wiki.md +0 -256
  191. package/docs/concepts/active-memory.md +0 -856
  192. package/docs/concepts/agent-loop.md +0 -185
  193. package/docs/concepts/agent-runtimes.md +0 -276
  194. package/docs/concepts/agent-workspace.md +0 -230
  195. package/docs/concepts/agent.md +0 -140
  196. package/docs/concepts/architecture.md +0 -154
  197. package/docs/concepts/channel-docking.md +0 -145
  198. package/docs/concepts/commitments.md +0 -150
  199. package/docs/concepts/compaction.md +0 -203
  200. package/docs/concepts/context-engine.md +0 -347
  201. package/docs/concepts/context.md +0 -199
  202. package/docs/concepts/delegate-architecture.md +0 -319
  203. package/docs/concepts/dreaming.md +0 -264
  204. package/docs/concepts/experimental-features.md +0 -109
  205. package/docs/concepts/features.md +0 -91
  206. package/docs/concepts/fengming-sdk.md +0 -323
  207. package/docs/concepts/mantis-slack-desktop-runbook.md +0 -231
  208. package/docs/concepts/mantis.md +0 -744
  209. package/docs/concepts/markdown-formatting.md +0 -139
  210. package/docs/concepts/memory-builtin.md +0 -148
  211. package/docs/concepts/memory-honcho.md +0 -144
  212. package/docs/concepts/memory-qmd.md +0 -271
  213. package/docs/concepts/memory-search.md +0 -167
  214. package/docs/concepts/memory.md +0 -299
  215. package/docs/concepts/message-lifecycle-refactor.md +0 -1126
  216. package/docs/concepts/messages.md +0 -214
  217. package/docs/concepts/model-failover.md +0 -384
  218. package/docs/concepts/model-providers.md +0 -719
  219. package/docs/concepts/models.md +0 -371
  220. package/docs/concepts/multi-agent.md +0 -625
  221. package/docs/concepts/oauth.md +0 -198
  222. package/docs/concepts/parallel-specialist-lanes.md +0 -127
  223. package/docs/concepts/personal-agent-benchmark-pack.md +0 -74
  224. package/docs/concepts/presence.md +0 -117
  225. package/docs/concepts/progress-drafts.md +0 -406
  226. package/docs/concepts/qa-e2e-automation.md +0 -947
  227. package/docs/concepts/qa-matrix.md +0 -139
  228. package/docs/concepts/queue-steering.md +0 -90
  229. package/docs/concepts/queue.md +0 -136
  230. package/docs/concepts/retry.md +0 -86
  231. package/docs/concepts/session-pruning.md +0 -104
  232. package/docs/concepts/session-tool.md +0 -188
  233. package/docs/concepts/session.md +0 -164
  234. package/docs/concepts/soul.md +0 -116
  235. package/docs/concepts/streaming.md +0 -257
  236. package/docs/concepts/system-prompt.md +0 -328
  237. package/docs/concepts/timezone.md +0 -47
  238. package/docs/concepts/typebox.md +0 -309
  239. package/docs/concepts/typing-indicators.md +0 -88
  240. package/docs/concepts/usage-tracking.md +0 -66
  241. package/docs/date-time.md +0 -126
  242. package/docs/debug/node-issue.md +0 -90
  243. package/docs/diagnostics/flags.md +0 -182
  244. package/docs/docs.json +0 -1862
  245. package/docs/fengming-agent-runtime.md +0 -82
  246. package/docs/gateway/authentication.md +0 -256
  247. package/docs/gateway/background-process.md +0 -147
  248. package/docs/gateway/bonjour.md +0 -303
  249. package/docs/gateway/bridge-protocol.md +0 -97
  250. package/docs/gateway/cli-backends.md +0 -439
  251. package/docs/gateway/config-agents.md +0 -1525
  252. package/docs/gateway/config-channels.md +0 -945
  253. package/docs/gateway/config-tools.md +0 -774
  254. package/docs/gateway/configuration-examples.md +0 -704
  255. package/docs/gateway/configuration-reference.md +0 -1391
  256. package/docs/gateway/configuration.md +0 -739
  257. package/docs/gateway/diagnostics.md +0 -213
  258. package/docs/gateway/discovery.md +0 -154
  259. package/docs/gateway/doctor.md +0 -575
  260. package/docs/gateway/gateway-lock.md +0 -37
  261. package/docs/gateway/health.md +0 -73
  262. package/docs/gateway/heartbeat.md +0 -498
  263. package/docs/gateway/index.md +0 -383
  264. package/docs/gateway/local-model-services.md +0 -205
  265. package/docs/gateway/local-models.md +0 -355
  266. package/docs/gateway/logging.md +0 -149
  267. package/docs/gateway/multiple-gateways.md +0 -178
  268. package/docs/gateway/network-model.md +0 -15
  269. package/docs/gateway/openai-http-api.md +0 -378
  270. package/docs/gateway/openresponses-http-api.md +0 -347
  271. package/docs/gateway/openshell.md +0 -316
  272. package/docs/gateway/opentelemetry.md +0 -433
  273. package/docs/gateway/operator-scopes.md +0 -119
  274. package/docs/gateway/pairing.md +0 -207
  275. package/docs/gateway/prometheus.md +0 -249
  276. package/docs/gateway/protocol.md +0 -826
  277. package/docs/gateway/remote-gateway-readme.md +0 -169
  278. package/docs/gateway/remote.md +0 -280
  279. package/docs/gateway/sandbox-vs-tool-policy-vs-elevated.md +0 -148
  280. package/docs/gateway/sandboxing.md +0 -546
  281. package/docs/gateway/secrets-plan-contract.md +0 -159
  282. package/docs/gateway/secrets.md +0 -805
  283. package/docs/gateway/security/audit-checks.md +0 -127
  284. package/docs/gateway/security/exposure-runbook.md +0 -212
  285. package/docs/gateway/security/index.md +0 -1343
  286. package/docs/gateway/security/secure-file-operations.md +0 -76
  287. package/docs/gateway/security/shrinkwrap.md +0 -111
  288. package/docs/gateway/tailscale.md +0 -156
  289. package/docs/gateway/tools-invoke-http-api.md +0 -169
  290. package/docs/gateway/troubleshooting.md +0 -877
  291. package/docs/gateway/trusted-proxy-auth.md +0 -483
  292. package/docs/help/debugging.md +0 -341
  293. package/docs/help/environment.md +0 -233
  294. package/docs/help/faq-first-run.md +0 -870
  295. package/docs/help/faq-models.md +0 -556
  296. package/docs/help/faq.md +0 -2041
  297. package/docs/help/index.md +0 -39
  298. package/docs/help/scripts.md +0 -56
  299. package/docs/help/testing-live.md +0 -587
  300. package/docs/help/testing-updates-plugins.md +0 -299
  301. package/docs/help/testing.md +0 -977
  302. package/docs/help/troubleshooting.md +0 -449
  303. package/docs/index.md +0 -196
  304. package/docs/install/ansible.md +0 -233
  305. package/docs/install/azure.md +0 -315
  306. package/docs/install/bun.md +0 -59
  307. package/docs/install/clawdock.md +0 -112
  308. package/docs/install/development-channels.md +0 -148
  309. package/docs/install/digitalocean.md +0 -174
  310. package/docs/install/docker-vm-runtime.md +0 -154
  311. package/docs/install/docker.md +0 -564
  312. package/docs/install/exe-dev.md +0 -201
  313. package/docs/install/fly.md +0 -524
  314. package/docs/install/gcp.md +0 -418
  315. package/docs/install/hetzner.md +0 -285
  316. package/docs/install/hostinger.md +0 -98
  317. package/docs/install/index.md +0 -232
  318. package/docs/install/installer.md +0 -447
  319. package/docs/install/kubernetes.md +0 -196
  320. package/docs/install/macos-vm.md +0 -281
  321. package/docs/install/migrating-claude.md +0 -165
  322. package/docs/install/migrating-hermes.md +0 -178
  323. package/docs/install/migrating.md +0 -137
  324. package/docs/install/nix.md +0 -112
  325. package/docs/install/node.md +0 -142
  326. package/docs/install/northflank.mdx +0 -44
  327. package/docs/install/oracle.md +0 -218
  328. package/docs/install/podman.md +0 -216
  329. package/docs/install/railway.mdx +0 -92
  330. package/docs/install/raspberry-pi.md +0 -234
  331. package/docs/install/render.mdx +0 -167
  332. package/docs/install/uninstall.md +0 -131
  333. package/docs/install/updating.md +0 -284
  334. package/docs/install/upstash.md +0 -96
  335. package/docs/logging.md +0 -320
  336. package/docs/nav-tabs-underline.js +0 -100
  337. package/docs/network.md +0 -72
  338. package/docs/nodes/audio.md +0 -216
  339. package/docs/nodes/camera.md +0 -166
  340. package/docs/nodes/images.md +0 -77
  341. package/docs/nodes/index.md +0 -439
  342. package/docs/nodes/location-command.md +0 -102
  343. package/docs/nodes/media-understanding.md +0 -495
  344. package/docs/nodes/talk.md +0 -160
  345. package/docs/nodes/troubleshooting.md +0 -123
  346. package/docs/nodes/voicewake.md +0 -93
  347. package/docs/perplexity.md +0 -11
  348. package/docs/plan/codex-context-engine-harness.md +0 -624
  349. package/docs/plan/ui-channels.md +0 -284
  350. package/docs/platforms/digitalocean.md +0 -12
  351. package/docs/platforms/easyrunner.md +0 -109
  352. package/docs/platforms/index.md +0 -51
  353. package/docs/platforms/linux.md +0 -141
  354. package/docs/platforms/mac/bundled-gateway.md +0 -79
  355. package/docs/platforms/mac/canvas.md +0 -128
  356. package/docs/platforms/mac/child-process.md +0 -72
  357. package/docs/platforms/mac/dev-setup.md +0 -112
  358. package/docs/platforms/mac/health.md +0 -39
  359. package/docs/platforms/mac/icon.md +0 -36
  360. package/docs/platforms/mac/logging.md +0 -62
  361. package/docs/platforms/mac/menu-bar.md +0 -93
  362. package/docs/platforms/mac/peekaboo.md +0 -96
  363. package/docs/platforms/mac/permissions.md +0 -73
  364. package/docs/platforms/mac/remote.md +0 -123
  365. package/docs/platforms/mac/signing.md +0 -52
  366. package/docs/platforms/mac/skills.md +0 -43
  367. package/docs/platforms/mac/voice-overlay.md +0 -66
  368. package/docs/platforms/mac/voicewake.md +0 -73
  369. package/docs/platforms/mac/webchat.md +0 -54
  370. package/docs/platforms/mac/xpc.md +0 -66
  371. package/docs/platforms/oracle.md +0 -12
  372. package/docs/platforms/raspberry-pi.md +0 -13
  373. package/docs/platforms/windows.md +0 -286
  374. package/docs/plugins/adding-capabilities.md +0 -146
  375. package/docs/plugins/admin-http-rpc.md +0 -216
  376. package/docs/plugins/agent-tools.md +0 -13
  377. package/docs/plugins/architecture-internals.md +0 -1196
  378. package/docs/plugins/architecture.md +0 -483
  379. package/docs/plugins/building-extensions.md +0 -13
  380. package/docs/plugins/building-plugins.md +0 -335
  381. package/docs/plugins/bundles.md +0 -310
  382. package/docs/plugins/cli-backend-plugins.md +0 -310
  383. package/docs/plugins/codex-computer-use.md +0 -297
  384. package/docs/plugins/codex-harness-reference.md +0 -470
  385. package/docs/plugins/codex-harness-runtime.md +0 -268
  386. package/docs/plugins/codex-harness.md +0 -780
  387. package/docs/plugins/codex-native-plugins.md +0 -276
  388. package/docs/plugins/community.md +0 -77
  389. package/docs/plugins/compatibility.md +0 -167
  390. package/docs/plugins/copilot.md +0 -356
  391. package/docs/plugins/dependency-resolution.md +0 -176
  392. package/docs/plugins/google-meet.md +0 -1737
  393. package/docs/plugins/hooks.md +0 -484
  394. package/docs/plugins/install-overrides.md +0 -80
  395. package/docs/plugins/manage-plugins.md +0 -210
  396. package/docs/plugins/manifest.md +0 -1457
  397. package/docs/plugins/memory-lancedb.md +0 -385
  398. package/docs/plugins/memory-wiki.md +0 -529
  399. package/docs/plugins/message-presentation.md +0 -473
  400. package/docs/plugins/oc-path.md +0 -166
  401. package/docs/plugins/plugin-inventory.md +0 -189
  402. package/docs/plugins/plugin-permission-requests.md +0 -193
  403. package/docs/plugins/reference/acpx.md +0 -23
  404. package/docs/plugins/reference/admin-http-rpc.md +0 -23
  405. package/docs/plugins/reference/alibaba.md +0 -23
  406. package/docs/plugins/reference/amazon-bedrock-mantle.md +0 -23
  407. package/docs/plugins/reference/amazon-bedrock.md +0 -23
  408. package/docs/plugins/reference/anthropic-vertex.md +0 -19
  409. package/docs/plugins/reference/anthropic.md +0 -23
  410. package/docs/plugins/reference/arcee.md +0 -23
  411. package/docs/plugins/reference/azure-speech.md +0 -23
  412. package/docs/plugins/reference/bonjour.md +0 -19
  413. package/docs/plugins/reference/brave.md +0 -23
  414. package/docs/plugins/reference/browser.md +0 -23
  415. package/docs/plugins/reference/byteplus.md +0 -19
  416. package/docs/plugins/reference/canvas.md +0 -19
  417. package/docs/plugins/reference/cerebras.md +0 -23
  418. package/docs/plugins/reference/chutes.md +0 -23
  419. package/docs/plugins/reference/clickclack.md +0 -23
  420. package/docs/plugins/reference/cloudflare-ai-gateway.md +0 -23
  421. package/docs/plugins/reference/codex-supervisor.md +0 -27
  422. package/docs/plugins/reference/codex.md +0 -23
  423. package/docs/plugins/reference/comfy.md +0 -23
  424. package/docs/plugins/reference/copilot-proxy.md +0 -19
  425. package/docs/plugins/reference/copilot.md +0 -23
  426. package/docs/plugins/reference/deepgram.md +0 -23
  427. package/docs/plugins/reference/deepinfra.md +0 -23
  428. package/docs/plugins/reference/deepseek.md +0 -23
  429. package/docs/plugins/reference/diagnostics-otel.md +0 -19
  430. package/docs/plugins/reference/diagnostics-prometheus.md +0 -19
  431. package/docs/plugins/reference/diffs-language-pack.md +0 -19
  432. package/docs/plugins/reference/diffs.md +0 -19
  433. package/docs/plugins/reference/discord.md +0 -23
  434. package/docs/plugins/reference/document-extract.md +0 -23
  435. package/docs/plugins/reference/duckduckgo.md +0 -23
  436. package/docs/plugins/reference/elevenlabs.md +0 -23
  437. package/docs/plugins/reference/exa.md +0 -23
  438. package/docs/plugins/reference/fal.md +0 -23
  439. package/docs/plugins/reference/feishu.md +0 -23
  440. package/docs/plugins/reference/file-transfer.md +0 -19
  441. package/docs/plugins/reference/firecrawl.md +0 -23
  442. package/docs/plugins/reference/fireworks.md +0 -23
  443. package/docs/plugins/reference/github-copilot.md +0 -23
  444. package/docs/plugins/reference/gmi.md +0 -23
  445. package/docs/plugins/reference/google-meet.md +0 -23
  446. package/docs/plugins/reference/google.md +0 -23
  447. package/docs/plugins/reference/googlechat.md +0 -23
  448. package/docs/plugins/reference/gradium.md +0 -23
  449. package/docs/plugins/reference/groq.md +0 -23
  450. package/docs/plugins/reference/huggingface.md +0 -23
  451. package/docs/plugins/reference/imessage.md +0 -23
  452. package/docs/plugins/reference/inworld.md +0 -23
  453. package/docs/plugins/reference/irc.md +0 -23
  454. package/docs/plugins/reference/kilocode.md +0 -23
  455. package/docs/plugins/reference/kimi.md +0 -23
  456. package/docs/plugins/reference/line.md +0 -23
  457. package/docs/plugins/reference/litellm.md +0 -23
  458. package/docs/plugins/reference/llm-task.md +0 -19
  459. package/docs/plugins/reference/lmstudio.md +0 -23
  460. package/docs/plugins/reference/lobster.md +0 -19
  461. package/docs/plugins/reference/matrix.md +0 -23
  462. package/docs/plugins/reference/mattermost.md +0 -23
  463. package/docs/plugins/reference/memory-core.md +0 -19
  464. package/docs/plugins/reference/memory-lancedb.md +0 -23
  465. package/docs/plugins/reference/memory-wiki.md +0 -23
  466. package/docs/plugins/reference/microsoft-foundry.md +0 -19
  467. package/docs/plugins/reference/microsoft.md +0 -19
  468. package/docs/plugins/reference/migrate-claude.md +0 -19
  469. package/docs/plugins/reference/migrate-hermes.md +0 -19
  470. package/docs/plugins/reference/minimax.md +0 -23
  471. package/docs/plugins/reference/mistral.md +0 -23
  472. package/docs/plugins/reference/moonshot.md +0 -23
  473. package/docs/plugins/reference/msteams.md +0 -23
  474. package/docs/plugins/reference/nextcloud-talk.md +0 -23
  475. package/docs/plugins/reference/nostr.md +0 -23
  476. package/docs/plugins/reference/novita.md +0 -23
  477. package/docs/plugins/reference/nvidia.md +0 -23
  478. package/docs/plugins/reference/oc-path.md +0 -23
  479. package/docs/plugins/reference/ollama.md +0 -23
  480. package/docs/plugins/reference/open-prose.md +0 -19
  481. package/docs/plugins/reference/openai.md +0 -23
  482. package/docs/plugins/reference/opencode-go.md +0 -23
  483. package/docs/plugins/reference/opencode.md +0 -23
  484. package/docs/plugins/reference/openrouter.md +0 -23
  485. package/docs/plugins/reference/openshell.md +0 -19
  486. package/docs/plugins/reference/perplexity.md +0 -23
  487. package/docs/plugins/reference/pixverse.md +0 -23
  488. package/docs/plugins/reference/policy.md +0 -72
  489. package/docs/plugins/reference/qa-channel.md +0 -23
  490. package/docs/plugins/reference/qa-lab.md +0 -19
  491. package/docs/plugins/reference/qa-matrix.md +0 -19
  492. package/docs/plugins/reference/qianfan.md +0 -23
  493. package/docs/plugins/reference/qqbot.md +0 -23
  494. package/docs/plugins/reference/qwen.md +0 -23
  495. package/docs/plugins/reference/runway.md +0 -23
  496. package/docs/plugins/reference/searxng.md +0 -19
  497. package/docs/plugins/reference/senseaudio.md +0 -23
  498. package/docs/plugins/reference/sglang.md +0 -23
  499. package/docs/plugins/reference/signal.md +0 -23
  500. package/docs/plugins/reference/skill-workshop.md +0 -23
  501. package/docs/plugins/reference/slack.md +0 -23
  502. package/docs/plugins/reference/stepfun.md +0 -23
  503. package/docs/plugins/reference/synology-chat.md +0 -23
  504. package/docs/plugins/reference/synthetic.md +0 -23
  505. package/docs/plugins/reference/tavily.md +0 -23
  506. package/docs/plugins/reference/telegram.md +0 -23
  507. package/docs/plugins/reference/tencent.md +0 -23
  508. package/docs/plugins/reference/tlon.md +0 -23
  509. package/docs/plugins/reference/together.md +0 -23
  510. package/docs/plugins/reference/tokenjuice.md +0 -23
  511. package/docs/plugins/reference/tts-local-cli.md +0 -19
  512. package/docs/plugins/reference/twitch.md +0 -23
  513. package/docs/plugins/reference/venice.md +0 -23
  514. package/docs/plugins/reference/vercel-ai-gateway.md +0 -23
  515. package/docs/plugins/reference/vllm.md +0 -23
  516. package/docs/plugins/reference/voice-call.md +0 -23
  517. package/docs/plugins/reference/volcengine.md +0 -23
  518. package/docs/plugins/reference/voyage.md +0 -19
  519. package/docs/plugins/reference/vydra.md +0 -23
  520. package/docs/plugins/reference/web-readability.md +0 -19
  521. package/docs/plugins/reference/webhooks.md +0 -23
  522. package/docs/plugins/reference/whatsapp.md +0 -23
  523. package/docs/plugins/reference/workboard.md +0 -23
  524. package/docs/plugins/reference/xai.md +0 -23
  525. package/docs/plugins/reference/xiaomi.md +0 -23
  526. package/docs/plugins/reference/zai.md +0 -23
  527. package/docs/plugins/reference/zalo.md +0 -23
  528. package/docs/plugins/reference/zalouser.md +0 -24
  529. package/docs/plugins/reference.md +0 -145
  530. package/docs/plugins/sdk-agent-harness.md +0 -338
  531. package/docs/plugins/sdk-channel-inbound.md +0 -70
  532. package/docs/plugins/sdk-channel-ingress.md +0 -137
  533. package/docs/plugins/sdk-channel-message.md +0 -18
  534. package/docs/plugins/sdk-channel-outbound.md +0 -113
  535. package/docs/plugins/sdk-channel-plugins.md +0 -765
  536. package/docs/plugins/sdk-channel-turn.md +0 -9
  537. package/docs/plugins/sdk-entrypoints.md +0 -344
  538. package/docs/plugins/sdk-migration.md +0 -979
  539. package/docs/plugins/sdk-overview.md +0 -511
  540. package/docs/plugins/sdk-provider-plugins.md +0 -846
  541. package/docs/plugins/sdk-runtime.md +0 -676
  542. package/docs/plugins/sdk-setup.md +0 -550
  543. package/docs/plugins/sdk-subpaths.md +0 -391
  544. package/docs/plugins/sdk-testing.md +0 -403
  545. package/docs/plugins/skill-workshop.md +0 -713
  546. package/docs/plugins/tool-plugins.md +0 -411
  547. package/docs/plugins/voice-call.md +0 -942
  548. package/docs/plugins/webhooks.md +0 -192
  549. package/docs/plugins/workboard.md +0 -252
  550. package/docs/plugins/zalouser.md +0 -86
  551. package/docs/prose.md +0 -137
  552. package/docs/providers/alibaba.md +0 -158
  553. package/docs/providers/anthropic.md +0 -381
  554. package/docs/providers/arcee.md +0 -144
  555. package/docs/providers/azure-speech.md +0 -119
  556. package/docs/providers/bedrock-mantle.md +0 -211
  557. package/docs/providers/bedrock.md +0 -414
  558. package/docs/providers/cerebras.md +0 -130
  559. package/docs/providers/chutes.md +0 -153
  560. package/docs/providers/claude-max-api-proxy.md +0 -191
  561. package/docs/providers/cloudflare-ai-gateway.md +0 -119
  562. package/docs/providers/comfy.md +0 -362
  563. package/docs/providers/deepgram.md +0 -184
  564. package/docs/providers/deepinfra.md +0 -92
  565. package/docs/providers/deepseek.md +0 -146
  566. package/docs/providers/ds4.md +0 -309
  567. package/docs/providers/elevenlabs.md +0 -130
  568. package/docs/providers/fal.md +0 -240
  569. package/docs/providers/fireworks.md +0 -144
  570. package/docs/providers/github-copilot.md +0 -257
  571. package/docs/providers/gmi.md +0 -92
  572. package/docs/providers/google.md +0 -472
  573. package/docs/providers/gradium.md +0 -123
  574. package/docs/providers/groq.md +0 -171
  575. package/docs/providers/huggingface.md +0 -235
  576. package/docs/providers/index.md +0 -105
  577. package/docs/providers/inferrs.md +0 -272
  578. package/docs/providers/inworld.md +0 -120
  579. package/docs/providers/kilocode.md +0 -135
  580. package/docs/providers/litellm.md +0 -234
  581. package/docs/providers/lmstudio.md +0 -224
  582. package/docs/providers/minimax.md +0 -505
  583. package/docs/providers/mistral.md +0 -235
  584. package/docs/providers/models.md +0 -64
  585. package/docs/providers/moonshot.md +0 -413
  586. package/docs/providers/novita.md +0 -92
  587. package/docs/providers/nvidia.md +0 -158
  588. package/docs/providers/ollama-cloud.md +0 -115
  589. package/docs/providers/ollama.md +0 -1225
  590. package/docs/providers/openai.md +0 -1093
  591. package/docs/providers/opencode-go.md +0 -123
  592. package/docs/providers/opencode.md +0 -149
  593. package/docs/providers/openrouter.md +0 -349
  594. package/docs/providers/perplexity-provider.md +0 -123
  595. package/docs/providers/pixverse.md +0 -165
  596. package/docs/providers/qianfan.md +0 -132
  597. package/docs/providers/qwen-oauth.md +0 -115
  598. package/docs/providers/qwen.md +0 -364
  599. package/docs/providers/runway.md +0 -103
  600. package/docs/providers/senseaudio.md +0 -68
  601. package/docs/providers/sglang.md +0 -161
  602. package/docs/providers/stepfun.md +0 -229
  603. package/docs/providers/synthetic.md +0 -154
  604. package/docs/providers/tencent.md +0 -130
  605. package/docs/providers/together.md +0 -140
  606. package/docs/providers/venice.md +0 -312
  607. package/docs/providers/vercel-ai-gateway.md +0 -128
  608. package/docs/providers/vllm.md +0 -407
  609. package/docs/providers/volcengine.md +0 -199
  610. package/docs/providers/vydra.md +0 -180
  611. package/docs/providers/xai.md +0 -571
  612. package/docs/providers/xiaomi.md +0 -262
  613. package/docs/providers/zai.md +0 -224
  614. package/docs/refactor/access.md +0 -9
  615. package/docs/refactor/acp.md +0 -298
  616. package/docs/refactor/canvas.md +0 -131
  617. package/docs/refactor/database-first.md +0 -2256
  618. package/docs/refactor/ingress-core.md +0 -341
  619. package/docs/reference/AGENTS.default.md +0 -131
  620. package/docs/reference/RELEASING.md +0 -799
  621. package/docs/reference/api-usage-costs.md +0 -208
  622. package/docs/reference/application-modernization-plan.md +0 -208
  623. package/docs/reference/code-mode.md +0 -773
  624. package/docs/reference/credits.md +0 -33
  625. package/docs/reference/device-models.md +0 -50
  626. package/docs/reference/fengming-sdk-api-design.md +0 -390
  627. package/docs/reference/full-release-validation.md +0 -202
  628. package/docs/reference/memory-config.md +0 -604
  629. package/docs/reference/prompt-caching.md +0 -358
  630. package/docs/reference/release-performance-sweep.md +0 -360
  631. package/docs/reference/rich-output-protocol.md +0 -101
  632. package/docs/reference/rpc.md +0 -43
  633. package/docs/reference/secret-placeholder-conventions.md +0 -33
  634. package/docs/reference/secretref-credential-surface.md +0 -159
  635. package/docs/reference/secretref-user-supplied-credentials-matrix.json +0 -663
  636. package/docs/reference/session-management-compaction.md +0 -474
  637. package/docs/reference/templates/AGENTS.dev.md +0 -90
  638. package/docs/reference/templates/AGENTS.md +0 -227
  639. package/docs/reference/templates/BOOT.md +0 -16
  640. package/docs/reference/templates/BOOTSTRAP.md +0 -66
  641. package/docs/reference/templates/CLAUDE.md +0 -1
  642. package/docs/reference/templates/HEARTBEAT.md +0 -24
  643. package/docs/reference/templates/IDENTITY.dev.md +0 -52
  644. package/docs/reference/templates/IDENTITY.md +0 -34
  645. package/docs/reference/templates/SOUL.dev.md +0 -82
  646. package/docs/reference/templates/SOUL.md +0 -49
  647. package/docs/reference/templates/TOOLS.dev.md +0 -29
  648. package/docs/reference/templates/TOOLS.md +0 -51
  649. package/docs/reference/templates/USER.dev.md +0 -23
  650. package/docs/reference/templates/USER.md +0 -28
  651. package/docs/reference/test.md +0 -247
  652. package/docs/reference/token-use.md +0 -246
  653. package/docs/reference/transcript-hygiene.md +0 -214
  654. package/docs/reference/wizard.md +0 -252
  655. package/docs/security/CONTRIBUTING-THREAT-MODEL.md +0 -101
  656. package/docs/security/THREAT-MODEL-ATLAS.md +0 -611
  657. package/docs/security/formal-verification.md +0 -170
  658. package/docs/security/incident-response.md +0 -59
  659. package/docs/security/network-proxy.md +0 -268
  660. package/docs/snippets/plugin-publish/minimal-fengming.plugin.json +0 -12
  661. package/docs/snippets/plugin-publish/minimal-package.json +0 -16
  662. package/docs/specs/claw-supervisor.md +0 -247
  663. package/docs/start/bootstrapping.md +0 -49
  664. package/docs/start/docs-directory.md +0 -69
  665. package/docs/start/fengming.md +0 -252
  666. package/docs/start/getting-started.md +0 -152
  667. package/docs/start/hubs.md +0 -201
  668. package/docs/start/lore.md +0 -223
  669. package/docs/start/onboarding-overview.md +0 -72
  670. package/docs/start/onboarding.md +0 -98
  671. package/docs/start/quickstart.md +0 -25
  672. package/docs/start/setup.md +0 -178
  673. package/docs/start/showcase.md +0 -363
  674. package/docs/start/wizard-cli-automation.md +0 -232
  675. package/docs/start/wizard-cli-reference.md +0 -331
  676. package/docs/start/wizard.md +0 -141
  677. package/docs/style.css +0 -137
  678. package/docs/superpowers/specs/2026-04-22-tweakcn-custom-theme-import-design.md +0 -316
  679. package/docs/tools/acp-agents-setup.md +0 -351
  680. package/docs/tools/acp-agents.md +0 -854
  681. package/docs/tools/agent-send.md +0 -130
  682. package/docs/tools/apply-patch.md +0 -64
  683. package/docs/tools/brave-search.md +0 -139
  684. package/docs/tools/browser-control.md +0 -391
  685. package/docs/tools/browser-linux-troubleshooting.md +0 -173
  686. package/docs/tools/browser-login.md +0 -77
  687. package/docs/tools/browser-wsl2-windows-remote-cdp-troubleshooting.md +0 -219
  688. package/docs/tools/browser.md +0 -810
  689. package/docs/tools/btw.md +0 -159
  690. package/docs/tools/capability-cookbook.md +0 -12
  691. package/docs/tools/clawhub.md +0 -5
  692. package/docs/tools/code-execution.md +0 -173
  693. package/docs/tools/creating-skills.md +0 -158
  694. package/docs/tools/diffs.md +0 -525
  695. package/docs/tools/duckduckgo-search.md +0 -109
  696. package/docs/tools/elevated.md +0 -128
  697. package/docs/tools/exa-search.md +0 -152
  698. package/docs/tools/exec-approvals-advanced.md +0 -444
  699. package/docs/tools/exec-approvals.md +0 -494
  700. package/docs/tools/exec.md +0 -285
  701. package/docs/tools/firecrawl.md +0 -155
  702. package/docs/tools/gemini-search.md +0 -114
  703. package/docs/tools/goal.md +0 -217
  704. package/docs/tools/grok-search.md +0 -129
  705. package/docs/tools/image-generation.md +0 -493
  706. package/docs/tools/index.md +0 -178
  707. package/docs/tools/kimi-search.md +0 -105
  708. package/docs/tools/llm-task.md +0 -137
  709. package/docs/tools/lobster.md +0 -365
  710. package/docs/tools/loop-detection.md +0 -154
  711. package/docs/tools/media-overview.md +0 -160
  712. package/docs/tools/minimax-search.md +0 -102
  713. package/docs/tools/multi-agent-sandbox-tools.md +0 -409
  714. package/docs/tools/music-generation.md +0 -372
  715. package/docs/tools/ollama-search.md +0 -153
  716. package/docs/tools/pdf.md +0 -213
  717. package/docs/tools/perplexity-search.md +0 -220
  718. package/docs/tools/plugin.md +0 -363
  719. package/docs/tools/reactions.md +0 -100
  720. package/docs/tools/searxng-search.md +0 -141
  721. package/docs/tools/skills-config.md +0 -195
  722. package/docs/tools/skills.md +0 -569
  723. package/docs/tools/slash-commands.md +0 -487
  724. package/docs/tools/steer.md +0 -77
  725. package/docs/tools/subagents.md +0 -651
  726. package/docs/tools/tavily.md +0 -162
  727. package/docs/tools/thinking.md +0 -142
  728. package/docs/tools/tokenjuice.md +0 -84
  729. package/docs/tools/tool-search.md +0 -269
  730. package/docs/tools/trajectory.md +0 -229
  731. package/docs/tools/tts.md +0 -1009
  732. package/docs/tools/video-generation.md +0 -555
  733. package/docs/tools/web-fetch.md +0 -210
  734. package/docs/tools/web.md +0 -461
  735. package/docs/tts.md +0 -11
  736. package/docs/vps.md +0 -139
  737. package/docs/web/control-ui.md +0 -512
  738. package/docs/web/dashboard.md +0 -107
  739. package/docs/web/index.md +0 -133
  740. package/docs/web/tui.md +0 -250
  741. package/docs/web/webchat.md +0 -102
  742. package/npm-shrinkwrap.json +0 -12861
  743. package/patches/.gitkeep +0 -0
  744. package/patches/@agentclientprotocol__claude-agent-acp@0.37.0.patch +0 -41
  745. package/pnpm-workspace.yaml +0 -120
  746. package/scripts/crabbox-wrapper.mjs +0 -2004
  747. package/scripts/lib/official-external-channel-catalog.json +0 -560
  748. package/scripts/lib/official-external-plugin-catalog.json +0 -264
  749. package/scripts/lib/official-external-provider-catalog.json +0 -158
  750. package/scripts/lib/package-dist-imports.mjs +0 -171
  751. package/scripts/npm-runner.mjs +0 -91
  752. package/scripts/postinstall-bundled-plugins.mjs +0 -978
  753. package/scripts/preinstall-package-manager-warning.mjs +0 -64
  754. package/scripts/prepare-git-hooks.mjs +0 -72
  755. package/scripts/windows-cmd-helpers.mjs +0 -22
  756. package/skills/batch/SKILL.md +0 -118
  757. package/skills/code-review/SKILL.md +0 -107
  758. package/skills/debug/SKILL.md +0 -83
  759. package/skills/loop/SKILL.md +0 -118
  760. package/skills/run/SKILL.md +0 -79
  761. package/skills/run-skill-generator/SKILL.md +0 -179
  762. package/skills/verify/SKILL.md +0 -103
  763. package/src/agents/templates/HEARTBEAT.md +0 -3
@@ -1,176 +0,0 @@
1
- ---
2
- summary: "Nextcloud Talk support status, capabilities, and configuration"
3
- read_when:
4
- - Working on Nextcloud Talk channel features
5
- title: "Nextcloud Talk"
6
- ---
7
-
8
- Status: bundled plugin (webhook bot). Direct messages, rooms, reactions, and markdown messages are supported.
9
-
10
- ## Bundled plugin
11
-
12
- Nextcloud Talk ships as a bundled plugin in current FengMing releases, so
13
- normal packaged builds do not need a separate install.
14
-
15
- If you are on an older build or a custom install that excludes Nextcloud Talk,
16
- install the npm package directly:
17
-
18
- Install via CLI (npm registry):
19
-
20
- ```bash
21
- fengming plugins install @fengming/nextcloud-talk
22
- ```
23
-
24
- Use the bare package to follow the current official release tag. Pin an exact
25
- version only when you need a reproducible install.
26
-
27
- Local checkout (when running from a git repo):
28
-
29
- ```bash
30
- fengming plugins install ./path/to/local/nextcloud-talk-plugin
31
- ```
32
-
33
- Details: [Plugins](/tools/plugin)
34
-
35
- ## Quick setup (beginner)
36
-
37
- 1. Ensure the Nextcloud Talk plugin is available.
38
- - Current packaged FengMing releases already bundle it.
39
- - Older/custom installs can add it manually with the commands above.
40
- 2. On your Nextcloud server, create a bot:
41
-
42
- ```bash
43
- ./occ talk:bot:install "FengMing" "<shared-secret>" "<webhook-url>" --feature webhook --feature response --feature reaction
44
- ```
45
-
46
- 3. Enable the bot in the target room settings.
47
- 4. Configure FengMing:
48
- - Config: `channels.nextcloud-talk.baseUrl` + `channels.nextcloud-talk.botSecret`
49
- - Or env: `NEXTCLOUD_TALK_BOT_SECRET` (default account only)
50
-
51
- CLI setup:
52
-
53
- ```bash
54
- fengming channels add --channel nextcloud-talk \
55
- --url https://cloud.example.com \
56
- --token "<shared-secret>"
57
- ```
58
-
59
- Equivalent explicit fields:
60
-
61
- ```bash
62
- fengming channels add --channel nextcloud-talk \
63
- --base-url https://cloud.example.com \
64
- --secret "<shared-secret>"
65
- ```
66
-
67
- File-backed secret:
68
-
69
- ```bash
70
- fengming channels add --channel nextcloud-talk \
71
- --base-url https://cloud.example.com \
72
- --secret-file /path/to/nextcloud-talk-secret
73
- ```
74
-
75
- 5. Restart the gateway (or finish setup).
76
-
77
- Minimal config:
78
-
79
- ```json5
80
- {
81
- channels: {
82
- "nextcloud-talk": {
83
- enabled: true,
84
- baseUrl: "https://cloud.example.com",
85
- botSecret: "shared-secret",
86
- dmPolicy: "pairing",
87
- },
88
- },
89
- }
90
- ```
91
-
92
- ## Notes
93
-
94
- - Bots cannot initiate DMs. The user must message the bot first.
95
- - Webhook URL must be reachable by the Gateway; set `webhookPublicUrl` if behind a proxy.
96
- - Media uploads are not supported by the bot API; media is sent as URLs.
97
- - The webhook payload does not distinguish DMs vs rooms; set `apiUser` + `apiPassword` to enable room-type lookups (otherwise DMs are treated as rooms).
98
-
99
- ## Access control (DMs)
100
-
101
- - Default: `channels.nextcloud-talk.dmPolicy = "pairing"`. Unknown senders get a pairing code.
102
- - Approve via:
103
- - `fengming pairing list nextcloud-talk`
104
- - `fengming pairing approve nextcloud-talk <CODE>`
105
- - Public DMs: `channels.nextcloud-talk.dmPolicy="open"` plus `channels.nextcloud-talk.allowFrom=["*"]`.
106
- - `allowFrom` matches Nextcloud user IDs only; display names are ignored.
107
-
108
- ## Rooms (groups)
109
-
110
- - Default: `channels.nextcloud-talk.groupPolicy = "allowlist"` (mention-gated).
111
- - Allowlist rooms with `channels.nextcloud-talk.rooms`:
112
-
113
- ```json5
114
- {
115
- channels: {
116
- "nextcloud-talk": {
117
- rooms: {
118
- "room-token": { requireMention: true },
119
- },
120
- },
121
- },
122
- }
123
- ```
124
-
125
- - To allow no rooms, keep the allowlist empty or set `channels.nextcloud-talk.groupPolicy="disabled"`.
126
-
127
- ## Capabilities
128
-
129
- | Feature | Status |
130
- | --------------- | ------------- |
131
- | Direct messages | Supported |
132
- | Rooms | Supported |
133
- | Threads | Not supported |
134
- | Media | URL-only |
135
- | Reactions | Supported |
136
- | Native commands | Not supported |
137
-
138
- ## Configuration reference (Nextcloud Talk)
139
-
140
- Full configuration: [Configuration](/gateway/configuration)
141
-
142
- Provider options:
143
-
144
- - `channels.nextcloud-talk.enabled`: enable/disable channel startup.
145
- - `channels.nextcloud-talk.baseUrl`: Nextcloud instance URL.
146
- - `channels.nextcloud-talk.botSecret`: bot shared secret.
147
- - `channels.nextcloud-talk.botSecretFile`: regular-file secret path. Symlinks are rejected.
148
- - `channels.nextcloud-talk.apiUser`: API user for room lookups (DM detection).
149
- - `channels.nextcloud-talk.apiPassword`: API/app password for room lookups.
150
- - `channels.nextcloud-talk.apiPasswordFile`: API password file path.
151
- - `channels.nextcloud-talk.webhookPort`: webhook listener port (default: 8788).
152
- - `channels.nextcloud-talk.webhookHost`: webhook host (default: 0.0.0.0).
153
- - `channels.nextcloud-talk.webhookPath`: webhook path (default: /nextcloud-talk-webhook).
154
- - `channels.nextcloud-talk.webhookPublicUrl`: externally reachable webhook URL.
155
- - `channels.nextcloud-talk.dmPolicy`: `pairing | allowlist | open | disabled`.
156
- - `channels.nextcloud-talk.allowFrom`: DM allowlist (user IDs). `open` requires `"*"`.
157
- - `channels.nextcloud-talk.groupPolicy`: `allowlist | open | disabled`.
158
- - `channels.nextcloud-talk.groupAllowFrom`: group allowlist (user IDs).
159
- - `channels.nextcloud-talk.rooms`: per-room settings and allowlist.
160
- - Static sender access groups can be referenced from `allowFrom` and `groupAllowFrom` with `accessGroup:<name>`.
161
- - `channels.nextcloud-talk.historyLimit`: group history limit (0 disables).
162
- - `channels.nextcloud-talk.dmHistoryLimit`: DM history limit (0 disables).
163
- - `channels.nextcloud-talk.dms`: per-DM overrides (historyLimit).
164
- - `channels.nextcloud-talk.textChunkLimit`: outbound text chunk size (chars).
165
- - `channels.nextcloud-talk.chunkMode`: `length` (default) or `newline` to split on blank lines (paragraph boundaries) before length chunking.
166
- - `channels.nextcloud-talk.blockStreaming`: disable block streaming for this channel.
167
- - `channels.nextcloud-talk.blockStreamingCoalesce`: block streaming coalesce tuning.
168
- - `channels.nextcloud-talk.mediaMaxMb`: inbound media cap (MB).
169
-
170
- ## Related
171
-
172
- - [Channels Overview](/channels) — all supported channels
173
- - [Pairing](/channels/pairing) — DM authentication and pairing flow
174
- - [Groups](/channels/groups) — group chat behavior and mention gating
175
- - [Channel Routing](/channels/channel-routing) — session routing for messages
176
- - [Security](/gateway/security) — access model and hardening
@@ -1,253 +0,0 @@
1
- ---
2
- summary: "Nostr DM channel via NIP-04 encrypted messages"
3
- read_when:
4
- - You want FengMing to receive DMs via Nostr
5
- - You're setting up decentralized messaging
6
- title: "Nostr"
7
- ---
8
-
9
- **Status:** Optional bundled plugin (disabled by default until configured).
10
-
11
- Nostr is a decentralized protocol for social networking. This channel enables FengMing to receive and respond to encrypted direct messages (DMs) via NIP-04.
12
-
13
- ## Bundled plugin
14
-
15
- Current FengMing releases ship Nostr as a bundled plugin, so normal packaged
16
- builds do not need a separate install.
17
-
18
- ### Older/custom installs
19
-
20
- - Onboarding (`fengming onboard`) and `fengming channels add` still surface
21
- Nostr from the shared channel catalog.
22
- - If your build excludes bundled Nostr, install the npm package directly.
23
-
24
- ```bash
25
- fengming plugins install @fengming/nostr
26
- ```
27
-
28
- Use the bare package to follow the current official release tag. Pin an exact
29
- version only when you need a reproducible install.
30
-
31
- Use a local checkout (dev workflows):
32
-
33
- ```bash
34
- fengming plugins install --link <path-to-local-nostr-plugin>
35
- ```
36
-
37
- Restart the Gateway after installing or enabling plugins.
38
-
39
- ### Non-interactive setup
40
-
41
- ```bash
42
- fengming channels add --channel nostr --private-key "$NOSTR_PRIVATE_KEY"
43
- fengming channels add --channel nostr --private-key "$NOSTR_PRIVATE_KEY" --relay-urls "wss://relay.damus.io,wss://relay.primal.net"
44
- ```
45
-
46
- Use `--use-env` to keep `NOSTR_PRIVATE_KEY` in the environment instead of storing the key in config.
47
-
48
- ## Quick setup
49
-
50
- 1. Generate a Nostr keypair (if needed):
51
-
52
- ```bash
53
- # Using nak
54
- nak key generate
55
- ```
56
-
57
- 2. Add to config:
58
-
59
- ```json5
60
- {
61
- channels: {
62
- nostr: {
63
- privateKey: "${NOSTR_PRIVATE_KEY}",
64
- },
65
- },
66
- }
67
- ```
68
-
69
- 3. Export the key:
70
-
71
- ```bash
72
- export NOSTR_PRIVATE_KEY="nsec1..."
73
- ```
74
-
75
- 4. Restart the Gateway.
76
-
77
- ## Configuration reference
78
-
79
- | Key | Type | Default | Description |
80
- | ------------ | -------- | ------------------------------------------- | ----------------------------------- |
81
- | `privateKey` | string | required | Private key in `nsec` or hex format |
82
- | `relays` | string[] | `['wss://relay.damus.io', 'wss://nos.lol']` | Relay URLs (WebSocket) |
83
- | `dmPolicy` | string | `pairing` | DM access policy |
84
- | `allowFrom` | string[] | `[]` | Allowed sender pubkeys |
85
- | `enabled` | boolean | `true` | Enable/disable channel |
86
- | `name` | string | - | Display name |
87
- | `profile` | object | - | NIP-01 profile metadata |
88
-
89
- ## Profile metadata
90
-
91
- Profile data is published as a NIP-01 `kind:0` event. You can manage it from the Control UI (Channels -> Nostr -> Profile) or set it directly in config.
92
-
93
- Example:
94
-
95
- ```json5
96
- {
97
- channels: {
98
- nostr: {
99
- privateKey: "${NOSTR_PRIVATE_KEY}",
100
- profile: {
101
- name: "fengming",
102
- displayName: "FengMing",
103
- about: "Personal assistant DM bot",
104
- picture: "https://example.com/avatar.png",
105
- banner: "https://example.com/banner.png",
106
- website: "https://example.com",
107
- nip05: "fengming@example.com",
108
- lud16: "fengming@example.com",
109
- },
110
- },
111
- },
112
- }
113
- ```
114
-
115
- Notes:
116
-
117
- - Profile URLs must use `https://`.
118
- - Importing from relays merges fields and preserves local overrides.
119
-
120
- ## Access control
121
-
122
- ### DM policies
123
-
124
- - **pairing** (default): unknown senders get a pairing code.
125
- - **allowlist**: only pubkeys in `allowFrom` can DM.
126
- - **open**: public inbound DMs (requires `allowFrom: ["*"]`).
127
- - **disabled**: ignore inbound DMs.
128
-
129
- Enforcement notes:
130
-
131
- - Inbound event signatures are verified before sender policy and NIP-04 decryption, so forged events are rejected early.
132
- - Pairing replies are sent without processing the original DM body.
133
- - Inbound DMs are rate-limited and oversized payloads are dropped before decrypt.
134
-
135
- ### Allowlist example
136
-
137
- ```json5
138
- {
139
- channels: {
140
- nostr: {
141
- privateKey: "${NOSTR_PRIVATE_KEY}",
142
- dmPolicy: "allowlist",
143
- allowFrom: ["npub1abc...", "npub1xyz..."],
144
- },
145
- },
146
- }
147
- ```
148
-
149
- ## Key formats
150
-
151
- Accepted formats:
152
-
153
- - **Private key:** `nsec...` or 64-char hex
154
- - **Pubkeys (`allowFrom`):** `npub...` or hex
155
-
156
- ## Relays
157
-
158
- Defaults: `relay.damus.io` and `nos.lol`.
159
-
160
- ```json5
161
- {
162
- channels: {
163
- nostr: {
164
- privateKey: "${NOSTR_PRIVATE_KEY}",
165
- relays: ["wss://relay.damus.io", "wss://relay.primal.net", "wss://nostr.wine"],
166
- },
167
- },
168
- }
169
- ```
170
-
171
- Tips:
172
-
173
- - Use 2-3 relays for redundancy.
174
- - Avoid too many relays (latency, duplication).
175
- - Paid relays can improve reliability.
176
- - Local relays are fine for testing (`ws://localhost:7777`).
177
-
178
- ## Protocol support
179
-
180
- | NIP | Status | Description |
181
- | ------ | --------- | ------------------------------------- |
182
- | NIP-01 | Supported | Basic event format + profile metadata |
183
- | NIP-04 | Supported | Encrypted DMs (`kind:4`) |
184
- | NIP-17 | Planned | Gift-wrapped DMs |
185
- | NIP-44 | Planned | Versioned encryption |
186
-
187
- ## Testing
188
-
189
- ### Local relay
190
-
191
- ```bash
192
- # Start strfry
193
- docker run -p 7777:7777 ghcr.io/hoytech/strfry
194
- ```
195
-
196
- ```json5
197
- {
198
- channels: {
199
- nostr: {
200
- privateKey: "${NOSTR_PRIVATE_KEY}",
201
- relays: ["ws://localhost:7777"],
202
- },
203
- },
204
- }
205
- ```
206
-
207
- ### Manual test
208
-
209
- 1. Note the bot pubkey (npub) from logs.
210
- 2. Open a Nostr client (Damus, Amethyst, etc.).
211
- 3. DM the bot pubkey.
212
- 4. Verify the response.
213
-
214
- ## Troubleshooting
215
-
216
- ### Not receiving messages
217
-
218
- - Verify the private key is valid.
219
- - Ensure relay URLs are reachable and use `wss://` (or `ws://` for local).
220
- - Confirm `enabled` is not `false`.
221
- - Check Gateway logs for relay connection errors.
222
-
223
- ### Not sending responses
224
-
225
- - Check relay accepts writes.
226
- - Verify outbound connectivity.
227
- - Watch for relay rate limits.
228
-
229
- ### Duplicate responses
230
-
231
- - Expected when using multiple relays.
232
- - Messages are deduplicated by event ID; only the first delivery triggers a response.
233
-
234
- ## Security
235
-
236
- - Never commit private keys.
237
- - Use environment variables for keys.
238
- - Consider `allowlist` for production bots.
239
- - Signatures are verified before sender policy, and sender policy is enforced before decrypt, so forged events are rejected early and unknown senders cannot force full crypto work.
240
-
241
- ## Limitations (MVP)
242
-
243
- - Direct messages only (no group chats).
244
- - No media attachments.
245
- - NIP-04 only (NIP-17 gift-wrap planned).
246
-
247
- ## Related
248
-
249
- - [Channels Overview](/channels) — all supported channels
250
- - [Pairing](/channels/pairing) — DM authentication and pairing flow
251
- - [Groups](/channels/groups) — group chat behavior and mention gating
252
- - [Channel Routing](/channels/channel-routing) — session routing for messages
253
- - [Security](/gateway/security) — access model and hardening
@@ -1,214 +0,0 @@
1
- ---
2
- summary: "Pairing overview: approve who can DM you + which nodes can join"
3
- read_when:
4
- - Setting up DM access control
5
- - Pairing a new iOS/Android node
6
- - Reviewing FengMing security posture
7
- title: "Pairing"
8
- ---
9
-
10
- "Pairing" is FengMing's explicit access approval step.
11
- It is used in two places:
12
-
13
- 1. **DM pairing** (who is allowed to talk to the bot)
14
- 2. **Node pairing** (which devices/nodes are allowed to join the gateway network)
15
-
16
- Security context: [Security](/gateway/security)
17
-
18
- ## 1) DM pairing (inbound chat access)
19
-
20
- When a channel is configured with DM policy `pairing`, unknown senders get a short code and their message is **not processed** until you approve.
21
-
22
- Default DM policies are documented in: [Security](/gateway/security)
23
-
24
- `dmPolicy: "open"` is public only when the effective DM allowlist includes `"*"`.
25
- Setup and validation require that wildcard for public-open configs. If existing
26
- state contains `open` with concrete `allowFrom` entries, runtime still admits
27
- only those senders, and pairing-store approvals do not widen `open` access.
28
-
29
- Pairing codes:
30
-
31
- - 8 characters, uppercase, no ambiguous chars (`0O1I`).
32
- - **Expire after 1 hour**. The bot only sends the pairing message when a new request is created (roughly once per hour per sender).
33
- - Pending DM pairing requests are capped at **3 per channel** by default; additional requests are ignored until one expires or is approved.
34
-
35
- ### Approve a sender
36
-
37
- ```bash
38
- fengming pairing list telegram
39
- fengming pairing approve telegram <CODE>
40
- ```
41
-
42
- If no command owner is configured yet, approving a DM pairing code also bootstraps
43
- `commands.ownerAllowFrom` to the approved sender, such as `telegram:123456789`.
44
- That gives first-time setups an explicit owner for privileged commands and exec
45
- approval prompts. After an owner exists, later pairing approvals only grant DM
46
- access; they do not add more owners.
47
-
48
- Supported channels: `discord`, `feishu`, `googlechat`, `imessage`, `irc`, `line`, `matrix`, `mattermost`, `msteams`, `nextcloud-talk`, `nostr`, `fengming-weixin`, `signal`, `slack`, `synology-chat`, `telegram`, `twitch`, `whatsapp`, `zalo`, `zalouser`.
49
-
50
- ### Reusable sender groups
51
-
52
- Use top-level `accessGroups` when the same trusted sender set should apply to
53
- multiple message channels or to both DM and group allowlists.
54
-
55
- Static groups use `type: "message.senders"` and are referenced with
56
- `accessGroup:<name>` from channel allowlists:
57
-
58
- ```json5
59
- {
60
- accessGroups: {
61
- operators: {
62
- type: "message.senders",
63
- members: {
64
- discord: ["discord:123456789012345678"],
65
- telegram: ["987654321"],
66
- whatsapp: ["+15551234567"],
67
- },
68
- },
69
- },
70
- channels: {
71
- telegram: { dmPolicy: "allowlist", allowFrom: ["accessGroup:operators"] },
72
- whatsapp: { groupPolicy: "allowlist", groupAllowFrom: ["accessGroup:operators"] },
73
- },
74
- }
75
- ```
76
-
77
- Access groups are documented in detail here: [Access groups](/channels/access-groups)
78
-
79
- ### Where the state lives
80
-
81
- Stored under `~/.fengming/credentials/`:
82
-
83
- - Pending requests: `<channel>-pairing.json`
84
- - Approved allowlist store:
85
- - Default account: `<channel>-allowFrom.json`
86
- - Non-default account: `<channel>-<accountId>-allowFrom.json`
87
-
88
- Account scoping behavior:
89
-
90
- - Non-default accounts read/write only their scoped allowlist file.
91
- - Default account uses the channel-scoped unscoped allowlist file.
92
-
93
- Treat these as sensitive (they gate access to your assistant).
94
-
95
- <Note>
96
- The pairing allowlist store is for DM access. Group authorization is separate.
97
- Approving a DM pairing code does not automatically allow that sender to run group
98
- commands or control the bot in groups. First-owner bootstrap is separate config
99
- state in `commands.ownerAllowFrom`, and group chat delivery still follows the
100
- channel's group allowlists (for example `groupAllowFrom`, `groups`, or per-group
101
- or per-topic overrides depending on the channel).
102
- </Note>
103
-
104
- ## 2) Node device pairing (iOS/Android/macOS/headless nodes)
105
-
106
- Nodes connect to the Gateway as **devices** with `role: node`. The Gateway
107
- creates a device pairing request that must be approved.
108
-
109
- ### Pair via Telegram (recommended for iOS)
110
-
111
- If you use the `device-pair` plugin, you can do first-time device pairing entirely from Telegram:
112
-
113
- 1. In Telegram, message your bot: `/pair`
114
- 2. The bot replies with two messages: an instruction message and a separate **setup code** message (easy to copy/paste in Telegram).
115
- 3. On your phone, open the FengMing iOS app → Settings → Gateway.
116
- 4. Scan the QR code or paste the setup code and connect.
117
- 5. Back in Telegram: `/pair pending` (review request IDs, role, and scopes), then approve.
118
-
119
- The setup code is a base64-encoded JSON payload that contains:
120
-
121
- - `url`: the Gateway WebSocket URL (`ws://...` or `wss://...`)
122
- - `bootstrapToken`: a short-lived single-device bootstrap token used for the initial pairing handshake
123
-
124
- That bootstrap token carries the built-in pairing bootstrap profile:
125
-
126
- - the built-in setup profile allows the fresh QR/setup-code baseline only:
127
- `node` plus a bounded `operator` handoff
128
- - the handed-off `node` token stays `scopes: []`
129
- - the handed-off `operator` token is limited to `operator.approvals`,
130
- `operator.read`, and `operator.write`
131
- - `operator.admin` and `operator.pairing` are not granted by QR/setup-code
132
- bootstrap; they require a separate approved operator pairing or token flow
133
- - later token rotation/revocation remains bounded by both the device's approved
134
- role contract and the caller session's operator scopes
135
-
136
- Treat the setup code like a password while it is valid.
137
-
138
- For Tailscale, public, or other remote mobile pairing, use Tailscale Serve/Funnel
139
- or another `wss://` Gateway URL. Plaintext `ws://` setup codes are accepted only
140
- for loopback, private LAN addresses, `.local` Bonjour hosts, and the Android
141
- emulator host. Tailnet CGNAT addresses, `.ts.net` names, and public hosts still
142
- fail closed before QR/setup-code issuance.
143
-
144
- ### Approve a node device
145
-
146
- ```bash
147
- fengming devices list
148
- fengming devices approve <requestId>
149
- fengming devices reject <requestId>
150
- ```
151
-
152
- When an explicit approval is denied because the approving paired-device session
153
- was opened with pairing-only scope, the CLI retries the same request with
154
- `operator.admin`. This lets an existing admin-capable paired device recover a new
155
- Control UI/browser pairing without editing `devices/paired.json` by hand. The
156
- Gateway still validates the retried connection; tokens that cannot authenticate
157
- with `operator.admin` remain blocked.
158
-
159
- If the same device retries with different auth details (for example different
160
- role/scopes/public key), the previous pending request is superseded and a new
161
- `requestId` is created.
162
-
163
- <Note>
164
- An already paired device does not get broader access silently. If it reconnects asking for more scopes or a broader role, FengMing keeps the existing approval as-is and creates a fresh pending upgrade request. Use `fengming devices list` to compare the currently approved access with the newly requested access before you approve.
165
- </Note>
166
-
167
- ### Optional trusted-CIDR node auto-approve
168
-
169
- Device pairing remains manual by default. For tightly controlled node networks,
170
- you can opt in to first-time node auto-approval with explicit CIDRs or exact IPs:
171
-
172
- ```json5
173
- {
174
- gateway: {
175
- nodes: {
176
- pairing: {
177
- autoApproveCidrs: ["192.168.1.0/24"],
178
- },
179
- },
180
- },
181
- }
182
- ```
183
-
184
- This only applies to fresh `role: node` pairing requests with no requested
185
- scopes. Operator, browser, Control UI, and WebChat clients still require manual
186
- approval. Role, scope, metadata, and public-key changes still require manual
187
- approval.
188
-
189
- ### Node pairing state storage
190
-
191
- Stored under `~/.fengming/devices/`:
192
-
193
- - `pending.json` (short-lived; pending requests expire)
194
- - `paired.json` (paired devices + tokens)
195
-
196
- ### Notes
197
-
198
- - The legacy `node.pair.*` API (CLI: `fengming nodes pending|approve|reject|remove|rename`) is a
199
- separate gateway-owned pairing store. WS nodes still require device pairing.
200
- - The pairing record is the durable source of truth for approved roles. Active
201
- device tokens stay bounded to that approved role set; a stray token entry
202
- outside the approved roles does not create new access.
203
-
204
- ## Related docs
205
-
206
- - Security model + prompt injection: [Security](/gateway/security)
207
- - Updating safely (run doctor): [Updating](/install/updating)
208
- - Channel configs:
209
- - Telegram: [Telegram](/channels/telegram)
210
- - WhatsApp: [WhatsApp](/channels/whatsapp)
211
- - Signal: [Signal](/channels/signal)
212
- - iMessage: [iMessage](/channels/imessage)
213
- - Discord: [Discord](/channels/discord)
214
- - Slack: [Slack](/channels/slack)