First, I highly recommend that you read Get Started with GoJS and then all of the Introduction pages, GoJS Introduction -- Northwoods Software, that describe features that you want in your app.
If you want the user to drag-and-drop new nodes, use a Palette, as many of the samples do. Or use the ClickCreatingTool.
If you want to add nodes programmatically, call Model | GoJS API. To modify existing nodes programmatically, call Model | GoJS API. Read more at GoJS Data Binding -- Northwoods Software.
For highlighting, read GoJS Highlighting -- Northwoods Software and examine the samples that use those features.