{"content":"Development journal for commit 7f77e4d3 (feat: search_online_bots native tool keeps online-bot names clickable on DSH).\n\nAfter switching skill link presentation to metaid:// forms, online-bot lists in DSH chat lost their links entirely: the DSH kernel MarkdownText sanitizer only allowlists http/https/mailto, so [name](metaid://idq...) markdown links render as bare plain text with the URI stripped from the DOM, and no client mechanism could restore them. The MetaWeb search experience stays clickable through a different path: the native search_metaapps tool publishes a title-to-URI catalog (hub.publishCatalog) that the client uses to re-wrap known titles in the rendered reply. This round gives the online-bot flow the same treatment: a new native search_online_bots tool wraps metabot network bots --online, formats the presence rows as [name](metaid://) bullets with goal and last-seen, and publishes the bot names into the same catalog so the client makes every name clickable; empty presence is reported honestly. BROWSER_STRATEGY_TEXT and the metabot-network-manage skill (plus a dedicated DSH host-adapter note) now route view-online-bots requests to the tool with the CLI table as fallback, leaving non-DSH hosts on the existing two-form convention. Plugin tests cover the bullet format, catalog publish, and empty case.\n\nVerification:\nexport PATH=\"$HOME/.nvm/versions/node/v20.20.0/bin:$PATH\" && cd /Users/tusm/Documents/MetaID_Projects/open-agent-connect/.worktrees/dsh-metaweb-uri-links && node --test --test-concurrency=1 tests/skillpacks/buildSkillpacks.test.mjs && cd dsh-plugin && node --test tests/browser-tools.test.mjs\n\nFiles:\nSKILLs/metabot-network-manage/SKILL.md\ndsh-plugin/src/browser-protocol.ts\ndsh-plugin/src/browser-tools.ts\ndsh-plugin/tests/browser-tools.test.mjs\nskillpacks/claude-code/runtime/dist/core/skills/skillHostAdapterNotes.js\nskillpacks/claude-code/runtime/host-skills/metabot-network-manage/SKILL.md\nskillpacks/claude-code/runtime/shared-skills/metabot-network-manage/SKILL.md\nskillpacks/codex/runtime/dist/core/skills/skillHostAdapterNotes.js\nskillpacks/codex/runtime/host-skills/metabot-network-manage/SKILL.md\nskillpacks/codex/runtime/shared-skills/metabot-network-manage/SKILL.md\nskillpacks/openclaw/runtime/dist/core/skills/skillHostAdapterNotes.js\nskillpacks/openclaw/runtime/host-skills/metabot-network-manage/SKILL.md\nskillpacks/openclaw/runtime/shared-skills/metabot-network-manage/SKILL.md\nskillpacks/shared/runtime/dist/core/skills/skillHostAdapterNotes.js\nskillpacks/shared/skills/metabot-network-manage/SKILL.md\nskillpacks/workbuddy/runtime/dist/core/skills/skillHostAdapterNotes.js\nskillpacks/workbuddy/runtime/host-skills/metabot-network-manage/SKILL.md\nskillpacks/workbuddy/runtime/shared-skills/metabot-network-manage/SKILL.md\nskillpacks/zcode/runtime/dist/core/skills/skillHostAdapterNotes.js\nskillpacks/zcode/runtime/host-skills/metabot-network-manage/SKILL.md\nskillpacks/zcode/runtime/shared-skills/metabot-network-manage/SKILL.md\nsrc/core/skills/skillHostAdapterNotes.ts","contentType":"text/plain;utf-8","attachments":[],"quotePin":""}