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,391 +0,0 @@
1
- ---
2
- summary: "FengMing browser control API, CLI reference, and scripting actions"
3
- read_when:
4
- - Scripting or debugging the agent browser via the local control API
5
- - Looking for the `fengming browser` CLI reference
6
- - Adding custom browser automation with snapshots and refs
7
- title: "Browser control API"
8
- ---
9
-
10
- For setup, configuration, and troubleshooting, see [Browser](/tools/browser).
11
- This page is the reference for the local control HTTP API, the `fengming browser`
12
- CLI, and scripting patterns (snapshots, refs, waits, debug flows).
13
-
14
- ## Control API (optional)
15
-
16
- For local integrations only, the Gateway exposes a small loopback HTTP API:
17
-
18
- - Status/start/stop: `GET /`, `POST /start`, `POST /stop`
19
- - Tabs: `GET /tabs`, `POST /tabs/open`, `POST /tabs/focus`, `DELETE /tabs/:targetId`
20
- - Snapshot/screenshot: `GET /snapshot`, `POST /screenshot`
21
- - Actions: `POST /navigate`, `POST /act`
22
- - Hooks: `POST /hooks/file-chooser`, `POST /hooks/dialog`
23
- - Downloads: `POST /download`, `POST /wait/download`
24
- - Permissions: `POST /permissions/grant`
25
- - Debugging: `GET /console`, `POST /pdf`
26
- - Debugging: `GET /errors`, `GET /requests`, `POST /trace/start`, `POST /trace/stop`, `POST /highlight`
27
- - Network: `POST /response/body`
28
- - State: `GET /cookies`, `POST /cookies/set`, `POST /cookies/clear`
29
- - State: `GET /storage/:kind`, `POST /storage/:kind/set`, `POST /storage/:kind/clear`
30
- - Settings: `POST /set/offline`, `POST /set/headers`, `POST /set/credentials`, `POST /set/geolocation`, `POST /set/media`, `POST /set/timezone`, `POST /set/locale`, `POST /set/device`
31
-
32
- All endpoints accept `?profile=<name>`. `POST /start?headless=true` requests a
33
- one-shot headless launch for local managed profiles without changing persisted
34
- browser config; attach-only, remote CDP, and existing-session profiles reject
35
- that override because FengMing does not launch those browser processes.
36
-
37
- If shared-secret gateway auth is configured, browser HTTP routes require auth too:
38
-
39
- - `Authorization: Bearer <gateway token>`
40
- - `x-fengming-password: <gateway password>` or HTTP Basic auth with that password
41
-
42
- Notes:
43
-
44
- - This standalone loopback browser API does **not** consume trusted-proxy or
45
- Tailscale Serve identity headers.
46
- - If `gateway.auth.mode` is `none` or `trusted-proxy`, these loopback browser
47
- routes do not inherit those identity-bearing modes; keep them loopback-only.
48
-
49
- ### `/act` error contract
50
-
51
- `POST /act` uses a structured error response for route-level validation and
52
- policy failures:
53
-
54
- ```json
55
- { "error": "<message>", "code": "ACT_*" }
56
- ```
57
-
58
- Current `code` values:
59
-
60
- - `ACT_KIND_REQUIRED` (HTTP 400): `kind` is missing or unrecognized.
61
- - `ACT_INVALID_REQUEST` (HTTP 400): action payload failed normalization or validation.
62
- - `ACT_SELECTOR_UNSUPPORTED` (HTTP 400): `selector` was used with an unsupported action kind.
63
- - `ACT_EVALUATE_DISABLED` (HTTP 403): `evaluate` (or `wait --fn`) is disabled by config.
64
- - `ACT_TARGET_ID_MISMATCH` (HTTP 403): top-level or batched `targetId` conflicts with request target.
65
- - `ACT_EXISTING_SESSION_UNSUPPORTED` (HTTP 501): action is not supported for existing-session profiles.
66
-
67
- Other runtime failures may still return `{ "error": "<message>" }` without a
68
- `code` field.
69
-
70
- ### Playwright requirement
71
-
72
- Some features (navigate/act/AI snapshot/role snapshot, element screenshots,
73
- PDF) require Playwright. If Playwright isn't installed, those endpoints return
74
- a clear 501 error.
75
-
76
- What still works without Playwright:
77
-
78
- - ARIA snapshots
79
- - Role-style accessibility snapshots (`--interactive`, `--compact`,
80
- `--depth`, `--efficient`) when a per-tab CDP WebSocket is available. This is
81
- a fallback for inspection and ref discovery; Playwright remains the primary
82
- action engine.
83
- - Page screenshots for the managed `fengming` browser when a per-tab CDP
84
- WebSocket is available
85
- - Page screenshots for `existing-session` / Chrome MCP profiles
86
- - `existing-session` ref-based screenshots (`--ref`) from snapshot output
87
-
88
- What still needs Playwright:
89
-
90
- - `navigate`
91
- - `act`
92
- - AI snapshots that depend on Playwright's native AI snapshot format
93
- - CSS-selector element screenshots (`--element`)
94
- - full browser PDF export
95
-
96
- Element screenshots also reject `--full-page`; the route returns `fullPage is
97
- not supported for element screenshots`.
98
-
99
- If you see `Playwright is not available in this gateway build`, the packaged
100
- Gateway is missing the core browser runtime dependency. Reinstall or update
101
- FengMing, then restart the gateway. For Docker, also install the Chromium
102
- browser binaries as shown below.
103
-
104
- #### Docker Playwright install
105
-
106
- If your Gateway runs in Docker, avoid `npx playwright` (npm override conflicts).
107
- For custom images, bake Chromium into the image:
108
-
109
- ```bash
110
- FENGMING_INSTALL_BROWSER=1 ./scripts/docker/setup.sh
111
- ```
112
-
113
- For an existing image, install through the bundled CLI instead:
114
-
115
- ```bash
116
- docker compose run --rm fengming-cli \
117
- node /app/node_modules/playwright-core/cli.js install chromium
118
- ```
119
-
120
- To persist browser downloads, set `PLAYWRIGHT_BROWSERS_PATH` (for example,
121
- `/home/node/.cache/ms-playwright`) and make sure `/home/node` is persisted via
122
- `FENGMING_HOME_VOLUME` or a bind mount. FengMing auto-detects the persisted
123
- Chromium on Linux. See [Docker](/install/docker).
124
-
125
- ## How it works (internal)
126
-
127
- A small loopback control server accepts HTTP requests and connects to Chromium-based browsers via CDP. Advanced actions (click/type/snapshot/PDF) go through Playwright on top of CDP; when Playwright is missing, only non-Playwright operations are available. The agent sees one stable interface while local/remote browsers and profiles swap freely underneath.
128
-
129
- ## CLI quick reference
130
-
131
- All commands accept `--browser-profile <name>` to target a specific profile, and `--json` for machine-readable output.
132
-
133
- <AccordionGroup>
134
-
135
- <Accordion title="Basics: status, tabs, open/focus/close">
136
-
137
- ```bash
138
- fengming browser status
139
- fengming browser start
140
- fengming browser start --headless # one-shot local managed headless launch
141
- fengming browser stop # also clears emulation on attach-only/remote CDP
142
- fengming browser tabs
143
- fengming browser tab # shortcut for current tab
144
- fengming browser tab new
145
- fengming browser tab select 2
146
- fengming browser tab close 2
147
- fengming browser open https://example.com
148
- fengming browser focus abcd1234
149
- fengming browser close abcd1234
150
- ```
151
-
152
- </Accordion>
153
-
154
- <Accordion title="Inspection: screenshot, snapshot, console, errors, requests">
155
-
156
- ```bash
157
- fengming browser screenshot
158
- fengming browser screenshot --full-page
159
- fengming browser screenshot --ref 12 # or --ref e12
160
- fengming browser screenshot --labels
161
- fengming browser snapshot
162
- fengming browser snapshot --format aria --limit 200
163
- fengming browser snapshot --interactive --compact --depth 6
164
- fengming browser snapshot --efficient
165
- fengming browser snapshot --labels
166
- fengming browser snapshot --urls
167
- fengming browser snapshot --selector "#main" --interactive
168
- fengming browser snapshot --frame "iframe#main" --interactive
169
- fengming browser console --level error
170
- fengming browser errors --clear
171
- fengming browser requests --filter api --clear
172
- fengming browser pdf
173
- fengming browser responsebody "**/api" --max-chars 5000
174
- ```
175
-
176
- </Accordion>
177
-
178
- <Accordion title="Actions: navigate, click, type, drag, wait, evaluate">
179
-
180
- ```bash
181
- fengming browser navigate https://example.com
182
- fengming browser resize 1280 720
183
- fengming browser click 12 --double # or e12 for role refs
184
- fengming browser click-coords 120 340 # viewport coordinates
185
- fengming browser type 23 "hello" --submit
186
- fengming browser press Enter
187
- fengming browser hover 44
188
- fengming browser scrollintoview e12
189
- fengming browser drag 10 11
190
- fengming browser select 9 OptionA OptionB
191
- fengming browser download e12 report.pdf
192
- fengming browser waitfordownload report.pdf
193
- fengming browser upload /tmp/fengming/uploads/file.pdf
194
- fengming browser fill --fields '[{"ref":"1","type":"text","value":"Ada"}]'
195
- fengming browser dialog --accept
196
- fengming browser dialog --dismiss --dialog-id d1
197
- fengming browser wait --text "Done"
198
- fengming browser wait "#main" --url "**/dash" --load networkidle --fn "window.ready===true"
199
- fengming browser evaluate --fn '(el) => el.textContent' --ref 7
200
- fengming browser evaluate --timeout-ms 30000 --fn 'async () => { await window.ready; return true; }'
201
- fengming browser highlight e12
202
- fengming browser trace start
203
- fengming browser trace stop
204
- ```
205
-
206
- </Accordion>
207
-
208
- <Accordion title="State: cookies, storage, offline, headers, geo, device">
209
-
210
- ```bash
211
- fengming browser cookies
212
- fengming browser cookies set session abc123 --url "https://example.com"
213
- fengming browser cookies clear
214
- fengming browser storage local get
215
- fengming browser storage local set theme dark
216
- fengming browser storage session clear
217
- fengming browser set offline on
218
- fengming browser set headers --headers-json '{"X-Debug":"1"}'
219
- fengming browser set credentials user pass # --clear to remove
220
- fengming browser set geo 37.7749 -122.4194 --origin "https://example.com"
221
- fengming browser set media dark
222
- fengming browser set timezone America/New_York
223
- fengming browser set locale en-US
224
- fengming browser set device "iPhone 14"
225
- ```
226
-
227
- </Accordion>
228
-
229
- </AccordionGroup>
230
-
231
- Notes:
232
-
233
- - `upload` and `dialog` are **arming** calls; run them before the click/press that triggers the chooser/dialog. If an action opens a modal, the action response includes `blockedByDialog` and `browserState.dialogs.pending`; pass that `dialogId` to respond directly. Dialogs handled outside FengMing appear under `browserState.dialogs.recent`.
234
- - `click`/`type`/etc require a `ref` from `snapshot` (numeric `12`, role ref `e12`, or actionable ARIA ref `ax12`). CSS selectors are intentionally not supported for actions. Use `click-coords` when the visible viewport position is the only reliable target.
235
- - Download, trace, and upload paths are constrained to FengMing temp roots: `/tmp/fengming{,/downloads,/uploads}` (fallback: `${os.tmpdir()}/fengming/...`).
236
- - `upload` can also set file inputs directly via `--input-ref` or `--element`.
237
-
238
- Stable tab ids and labels survive Chromium raw-target replacement when FengMing
239
- can prove the replacement tab, such as same URL or a single old tab becoming a
240
- single new tab after form submission. Raw target ids are still volatile; prefer
241
- `suggestedTargetId` from `tabs` in scripts.
242
-
243
- Snapshot flags at a glance:
244
-
245
- - `--format ai` (default with Playwright): AI snapshot with numeric refs (`aria-ref="<n>"`).
246
- - `--format aria`: accessibility tree with `axN` refs. When Playwright is available, FengMing binds refs with backend DOM ids to the live page so follow-up actions can use them; otherwise treat the output as inspection-only.
247
- - `--efficient` (or `--mode efficient`): compact role snapshot preset. Set `browser.snapshotDefaults.mode: "efficient"` to make this the default (see [Gateway configuration](/gateway/configuration-reference#browser)).
248
- - `--interactive`, `--compact`, `--depth`, `--selector` force a role snapshot with `ref=e12` refs. `--frame "<iframe>"` scopes role snapshots to an iframe.
249
- - `--labels` adds a viewport-only screenshot with overlayed ref labels (prints `MEDIA:<path>`).
250
- - `--urls` appends discovered link destinations to AI snapshots.
251
-
252
- ## Snapshots and refs
253
-
254
- FengMing supports two "snapshot" styles:
255
-
256
- - **AI snapshot (numeric refs)**: `fengming browser snapshot` (default; `--format ai`)
257
- - Output: a text snapshot that includes numeric refs.
258
- - Actions: `fengming browser click 12`, `fengming browser type 23 "hello"`.
259
- - Internally, the ref is resolved via Playwright's `aria-ref`.
260
-
261
- - **Role snapshot (role refs like `e12`)**: `fengming browser snapshot --interactive` (or `--compact`, `--depth`, `--selector`, `--frame`)
262
- - Output: a role-based list/tree with `[ref=e12]` (and optional `[nth=1]`).
263
- - Actions: `fengming browser click e12`, `fengming browser highlight e12`.
264
- - Internally, the ref is resolved via `getByRole(...)` (plus `nth()` for duplicates).
265
- - Add `--labels` to include a viewport screenshot with overlayed `e12` labels.
266
- - Add `--urls` when link text is ambiguous and the agent needs concrete
267
- navigation targets.
268
-
269
- - **ARIA snapshot (ARIA refs like `ax12`)**: `fengming browser snapshot --format aria`
270
- - Output: the accessibility tree as structured nodes.
271
- - Actions: `fengming browser click ax12` works when the snapshot path can bind
272
- the ref through Playwright and Chrome backend DOM ids.
273
- - If Playwright is unavailable, ARIA snapshots can still be useful for
274
- inspection, but refs may not be actionable. Re-snapshot with `--format ai`
275
- or `--interactive` when you need action refs.
276
- - Docker proof for the raw-CDP fallback path: `pnpm test:docker:browser-cdp-snapshot`
277
- starts Chromium with CDP, runs `browser doctor --deep`, and verifies role
278
- snapshots include link URLs, cursor-promoted clickables, and iframe metadata.
279
-
280
- Ref behavior:
281
-
282
- - Refs are **not stable across navigations**; if something fails, re-run `snapshot` and use a fresh ref.
283
- - `/act` returns the current raw `targetId` after action-triggered replacement
284
- when it can prove the replacement tab. Keep using stable tab ids/labels for
285
- follow-up commands.
286
- - If the role snapshot was taken with `--frame`, role refs are scoped to that iframe until the next role snapshot.
287
- - Unknown or stale `axN` refs fail fast instead of falling through to
288
- Playwright's `aria-ref` selector. Run a fresh snapshot on the same tab when
289
- that happens.
290
-
291
- ## Wait power-ups
292
-
293
- You can wait on more than just time/text:
294
-
295
- - Wait for URL (globs supported by Playwright):
296
- - `fengming browser wait --url "**/dash"`
297
- - Wait for load state:
298
- - `fengming browser wait --load networkidle`
299
- - Wait for a JS predicate:
300
- - `fengming browser wait --fn "window.ready===true"`
301
- - Wait for a selector to become visible:
302
- - `fengming browser wait "#main"`
303
-
304
- These can be combined:
305
-
306
- ```bash
307
- fengming browser wait "#main" \
308
- --url "**/dash" \
309
- --load networkidle \
310
- --fn "window.ready===true" \
311
- --timeout-ms 15000
312
- ```
313
-
314
- ## Debug workflows
315
-
316
- When an action fails (e.g. "not visible", "strict mode violation", "covered"):
317
-
318
- 1. `fengming browser snapshot --interactive`
319
- 2. Use `click <ref>` / `type <ref>` (prefer role refs in interactive mode)
320
- 3. If it still fails: `fengming browser highlight <ref>` to see what Playwright is targeting
321
- 4. If the page behaves oddly:
322
- - `fengming browser errors --clear`
323
- - `fengming browser requests --filter api --clear`
324
- 5. For deep debugging: record a trace:
325
- - `fengming browser trace start`
326
- - reproduce the issue
327
- - `fengming browser trace stop` (prints `TRACE:<path>`)
328
-
329
- ## JSON output
330
-
331
- `--json` is for scripting and structured tooling.
332
-
333
- Examples:
334
-
335
- ```bash
336
- fengming browser status --json
337
- fengming browser snapshot --interactive --json
338
- fengming browser requests --filter api --json
339
- fengming browser cookies --json
340
- ```
341
-
342
- Role snapshots in JSON include `refs` plus a small `stats` block (lines/chars/refs/interactive) so tools can reason about payload size and density.
343
-
344
- ## State and environment knobs
345
-
346
- These are useful for "make the site behave like X" workflows:
347
-
348
- - Cookies: `cookies`, `cookies set`, `cookies clear`
349
- - Storage: `storage local|session get|set|clear`
350
- - Offline: `set offline on|off`
351
- - Headers: `set headers --headers-json '{"X-Debug":"1"}'` (legacy `set headers --json '{"X-Debug":"1"}'` remains supported)
352
- - HTTP basic auth: `set credentials user pass` (or `--clear`)
353
- - Geolocation: `set geo <lat> <lon> --origin "https://example.com"` (or `--clear`)
354
- - Media: `set media dark|light|no-preference|none`
355
- - Timezone / locale: `set timezone ...`, `set locale ...`
356
- - Device / viewport:
357
- - `set device "iPhone 14"` (Playwright device presets)
358
- - `set viewport 1280 720`
359
-
360
- ## Security and privacy
361
-
362
- - The fengming browser profile may contain logged-in sessions; treat it as sensitive.
363
- - `browser act kind=evaluate` / `fengming browser evaluate` and `wait --fn`
364
- execute arbitrary JavaScript in the page context. Prompt injection can steer
365
- this. Disable it with `browser.evaluateEnabled=false` if you do not need it.
366
- - Use `fengming browser evaluate --timeout-ms <ms>` when the page-side function
367
- may need longer than the default evaluate timeout.
368
- - For logins and anti-bot notes (X/Twitter, etc.), see [Browser login + X/Twitter posting](/tools/browser-login).
369
- - Keep the Gateway/node host private (loopback or tailnet-only).
370
- - Remote CDP endpoints are powerful; tunnel and protect them.
371
-
372
- Strict-mode example (block private/internal destinations by default):
373
-
374
- ```json5
375
- {
376
- browser: {
377
- ssrfPolicy: {
378
- dangerouslyAllowPrivateNetwork: false,
379
- hostnameAllowlist: ["*.example.com", "example.com"],
380
- allowedHostnames: ["localhost"], // optional exact allow
381
- },
382
- },
383
- }
384
- ```
385
-
386
- ## Related
387
-
388
- - [Browser](/tools/browser) - overview, configuration, profiles, security
389
- - [Browser login](/tools/browser-login) - signing in to sites
390
- - [Browser Linux troubleshooting](/tools/browser-linux-troubleshooting)
391
- - [Browser WSL2 troubleshooting](/tools/browser-wsl2-windows-remote-cdp-troubleshooting)
@@ -1,173 +0,0 @@
1
- ---
2
- summary: "Fix Chrome/Brave/Edge/Chromium CDP startup issues for FengMing browser control on Linux"
3
- read_when: "Browser control fails on Linux, especially with snap Chromium"
4
- title: "Browser troubleshooting"
5
- ---
6
-
7
- ## Problem: "Failed to start Chrome CDP on port 18800"
8
-
9
- FengMing's browser control server fails to launch Chrome/Brave/Edge/Chromium with the error:
10
-
11
- ```
12
- {"error":"Error: Failed to start Chrome CDP on port 18800 for profile \"fengming\"."}
13
- ```
14
-
15
- ### Root cause
16
-
17
- On Ubuntu (and many Linux distros), the default Chromium installation is a **snap package**. Snap's AppArmor confinement interferes with how FengMing spawns and monitors the browser process.
18
-
19
- The `apt install chromium` command installs a stub package that redirects to snap:
20
-
21
- ```
22
- Note, selecting 'chromium-browser' instead of 'chromium'
23
- chromium-browser is already the newest version (2:1snap1-0ubuntu2).
24
- ```
25
-
26
- This is NOT a real browser - it's just a wrapper.
27
-
28
- Other common Linux launch failures:
29
-
30
- - `The profile appears to be in use by another Chromium process` means Chrome
31
- found stale `Singleton*` lock files in the managed profile directory. FengMing
32
- removes those locks and retries once when the lock points at a dead or
33
- different-host process.
34
- - `Missing X server or $DISPLAY` means a visible browser was explicitly
35
- requested on a host without a desktop session. By default, local managed
36
- profiles now fall back to headless mode on Linux when `DISPLAY` and
37
- `WAYLAND_DISPLAY` are both unset. If you set `FENGMING_BROWSER_HEADLESS=0`,
38
- `browser.headless: false`, or `browser.profiles.<name>.headless: false`,
39
- remove that headed override, set `FENGMING_BROWSER_HEADLESS=1`, start `Xvfb`,
40
- run `fengming browser start --headless` for a one-shot managed launch, or run
41
- FengMing in a real desktop session.
42
-
43
- ### Solution 1: Install Google Chrome (Recommended)
44
-
45
- Install the official Google Chrome `.deb` package, which is not sandboxed by snap:
46
-
47
- ```bash
48
- wget https://dl.google.com/linux/direct/google-chrome-stable_current_amd64.deb
49
- sudo dpkg -i google-chrome-stable_current_amd64.deb
50
- sudo apt --fix-broken install -y # if there are dependency errors
51
- ```
52
-
53
- Then update your FengMing config (`~/.fengming/fengming.json`):
54
-
55
- ```json
56
- {
57
- "browser": {
58
- "enabled": true,
59
- "executablePath": "/usr/bin/google-chrome-stable",
60
- "headless": true,
61
- "noSandbox": true
62
- }
63
- }
64
- ```
65
-
66
- ### Solution 2: Use Snap Chromium with Attach-Only Mode
67
-
68
- If you must use snap Chromium, configure FengMing to attach to a manually-started browser:
69
-
70
- 1. Update config:
71
-
72
- ```json
73
- {
74
- "browser": {
75
- "enabled": true,
76
- "attachOnly": true,
77
- "headless": true,
78
- "noSandbox": true
79
- }
80
- }
81
- ```
82
-
83
- 2. Start Chromium manually:
84
-
85
- ```bash
86
- chromium-browser --headless --no-sandbox --disable-gpu \
87
- --remote-debugging-port=18800 \
88
- --user-data-dir=$HOME/.fengming/browser/fengming/user-data \
89
- about:blank &
90
- ```
91
-
92
- 3. Optionally create a systemd user service to auto-start Chrome:
93
-
94
- ```ini
95
- # ~/.config/systemd/user/fengming-browser.service
96
- [Unit]
97
- Description=FengMing Browser (Chrome CDP)
98
- After=network.target
99
-
100
- [Service]
101
- ExecStart=/snap/bin/chromium --headless --no-sandbox --disable-gpu --remote-debugging-port=18800 --user-data-dir=%h/.fengming/browser/fengming/user-data about:blank
102
- Restart=on-failure
103
- RestartSec=5
104
-
105
- [Install]
106
- WantedBy=default.target
107
- ```
108
-
109
- Enable with: `systemctl --user enable --now fengming-browser.service`
110
-
111
- ### Verifying the Browser Works
112
-
113
- Check status:
114
-
115
- ```bash
116
- curl -s http://127.0.0.1:18791/ | jq '{running, pid, chosenBrowser}'
117
- ```
118
-
119
- Test browsing:
120
-
121
- ```bash
122
- curl -s -X POST http://127.0.0.1:18791/start
123
- curl -s http://127.0.0.1:18791/tabs
124
- ```
125
-
126
- ### Config reference
127
-
128
- | Option | Description | Default |
129
- | -------------------------------- | -------------------------------------------------------------------- | ----------------------------------------------------------- |
130
- | `browser.enabled` | Enable browser control | `true` |
131
- | `browser.executablePath` | Path to a Chromium-based browser binary (Chrome/Brave/Edge/Chromium) | auto-detected (prefers default browser when Chromium-based) |
132
- | `browser.headless` | Run without GUI | `false` |
133
- | `FENGMING_BROWSER_HEADLESS` | Per-process override for local managed browser headless mode | unset |
134
- | `browser.noSandbox` | Add `--no-sandbox` flag (needed for some Linux setups) | `false` |
135
- | `browser.attachOnly` | Don't launch browser, only attach to existing | `false` |
136
- | `browser.cdpPort` | Chrome DevTools Protocol port | `18800` |
137
- | `browser.localLaunchTimeoutMs` | Local managed Chrome discovery timeout | `15000` |
138
- | `browser.localCdpReadyTimeoutMs` | Local managed post-launch CDP readiness timeout | `8000` |
139
-
140
- On Raspberry Pi, older VPS hosts, or slow storage, raise
141
- `browser.localLaunchTimeoutMs` when Chrome needs more time to expose its CDP HTTP
142
- endpoint. Raise `browser.localCdpReadyTimeoutMs` when launch succeeds but
143
- `fengming browser start` still reports `not reachable after start`. Values must
144
- be positive integers up to `120000` ms; invalid config values are rejected.
145
-
146
- ### Problem: "No Chrome tabs found for profile=\"user\""
147
-
148
- You're using an `existing-session` / Chrome MCP profile. FengMing can see local Chrome,
149
- but there are no open tabs available to attach to.
150
-
151
- Fix options:
152
-
153
- 1. **Use the managed browser:** `fengming browser start --browser-profile fengming`
154
- (or set `browser.defaultProfile: "fengming"`).
155
- 2. **Use Chrome MCP:** make sure local Chrome is running with at least one open tab, then retry with `--browser-profile user`.
156
-
157
- Notes:
158
-
159
- - `user` is host-only. For Linux servers, containers, or remote hosts, prefer CDP profiles.
160
- - `user` / other `existing-session` profiles keep the current Chrome MCP limits:
161
- ref-driven actions, one-file upload hooks, no dialog timeout overrides, no
162
- `wait --load networkidle`, and no `responsebody`, PDF export, download
163
- interception, or batch actions.
164
- - Local `fengming` profiles auto-assign `cdpPort`/`cdpUrl`; only set those for remote CDP.
165
- - Remote CDP profiles accept `http://`, `https://`, `ws://`, and `wss://`.
166
- Use HTTP(S) for `/json/version` discovery, or WS(S) when your browser
167
- service gives you a direct DevTools socket URL.
168
-
169
- ## Related
170
-
171
- - [Browser](/tools/browser)
172
- - [Browser login](/tools/browser-login)
173
- - [Browser WSL2 troubleshooting](/tools/browser-wsl2-windows-remote-cdp-troubleshooting)
@@ -1,77 +0,0 @@
1
- ---
2
- summary: "Manual logins for browser automation + X/Twitter posting"
3
- read_when:
4
- - You need to log into sites for browser automation
5
- - You want to post updates to X/Twitter
6
- title: "Browser login"
7
- ---
8
-
9
- ## Manual login (recommended)
10
-
11
- When a site requires login, **sign in manually** in the **host** browser profile (the fengming browser).
12
-
13
- Do **not** give the model your credentials. Automated logins often trigger anti-bot defenses and can lock the account.
14
-
15
- Back to the main browser docs: [Browser](/tools/browser).
16
-
17
- ## Which Chrome profile is used?
18
-
19
- FengMing controls a **dedicated Chrome profile** (named `fengming`, orange-tinted UI). This is separate from your daily browser profile.
20
-
21
- For agent browser tool calls:
22
-
23
- - Default choice: the agent should use its isolated `fengming` browser.
24
- - Use `profile="user"` only when existing logged-in sessions matter and the user is at the computer to click/approve any attach prompt.
25
- - If you have multiple user-browser profiles, specify the profile explicitly instead of guessing.
26
-
27
- Two easy ways to access it:
28
-
29
- 1. **Ask the agent to open the browser** and then log in yourself.
30
- 2. **Open it via CLI**:
31
-
32
- ```bash
33
- fengming browser start
34
- fengming browser open https://x.com
35
- ```
36
-
37
- If you have multiple profiles, pass `--browser-profile <name>` (the default is `fengming`).
38
-
39
- ## X/Twitter: recommended flow
40
-
41
- - **Read/search/threads:** use the **host** browser (manual login).
42
- - **Post updates:** use the **host** browser (manual login).
43
-
44
- ## Sandboxing + host browser access
45
-
46
- Sandboxed browser sessions are **more likely** to trigger bot detection. For X/Twitter (and other strict sites), prefer the **host** browser.
47
-
48
- If the agent is sandboxed, the browser tool defaults to the sandbox. To allow host control:
49
-
50
- ```json5
51
- {
52
- agents: {
53
- defaults: {
54
- sandbox: {
55
- mode: "non-main",
56
- browser: {
57
- allowHostControl: true,
58
- },
59
- },
60
- },
61
- },
62
- }
63
- ```
64
-
65
- Then open the host browser yourself (CLI invocations always run against the host browser):
66
-
67
- ```bash
68
- fengming browser open https://x.com --browser-profile fengming
69
- ```
70
-
71
- The agent's `browser` tool calls can then target the host once `sandbox.browser.allowHostControl: true` is set. Alternatively, disable sandboxing for the agent that posts updates.
72
-
73
- ## Related
74
-
75
- - [Browser](/tools/browser)
76
- - [Browser Linux troubleshooting](/tools/browser-linux-troubleshooting)
77
- - [Browser WSL2 troubleshooting](/tools/browser-wsl2-windows-remote-cdp-troubleshooting)