在 Manus 中运行任何 Skill
一键导入
一键导入
一键在 Manus 中运行任何 Skill
开始使用$pwd:
$ git log --oneline --stat
stars:10,262
forks:1,236
updated:2026年5月17日 04:36
SKILL.md
Step-by-step guide for adding a new visualization pane type to Visdom (client, server, frontend, tests)
Cypress test creation, visual regression workflow, and testing best practices for Visdom
Version bumping, release workflow, and PyPI publishing process for Visdom
| name | websocket-flow |
| description | Guide for adding new WebSocket commands and API endpoints to Visdom |
Use this skill when adding new real-time WebSocket commands or HTTP API endpoints to Visdom.
Socket handler (py/visdom/server/handlers/socket_handlers.py):
elif cmd == "my_command": in AnySocketHandlerOrWrapper.on_message()broadcast() to push updates to subscriberssend_to_sources() to push events to Python clientsFrontend (js/api/ApiProvider.js):
sendMyCommand function that calls sendSocketMessage({cmd: 'my_command', ...})ApiContext.Provider valueMessage handling (js/api/ApiProvider.js):
case 'my_response': in handleMessage() switch statementHandler (py/visdom/server/handlers/web_handlers.py):
BaseHandlerinitialize(self, app) copying required app attributespost() with @check_auth decoratorRoute (py/visdom/server/app.py):
Application.__init__() (lines 97-116)(r"%s/my_endpoint" % self.base_url, MyHandler, {"app": self})IndexHandler routeClient (py/visdom/__init__.py):
self._send(msg, endpoint="my_endpoint")@check_auth decoratorinitialize() — do not use self.appfunctional-test and functional-test-polling CI jobs