An app is several connectors behind one set of instructions. It answers questions the way you told it to, and you can publish it as a link, a widget, or a client config.
Nothing here generates source code. The thing you are editing is a configuration — sources, instructions, runtime, appearance — with a live runtime behind it. Every choice stays visible and changeable in the same place.
The shortest route is to ask something first, then keep it.
The canvas opens already holding the sources you used, the questions you asked as starters, and instructions drafted from how you phrased things. You edit it rather than author it, which is a much easier job.
Starting from Apps → New works too, and gives you the same canvas empty.
Which connectors the app may call. More is not better — an app with three focused sources answers more reliably than one with ten, for the same reason a person with three reference books answers faster than one in a library.
How it should behave: what it is for, what it should refuse, how to phrase an answer, what to do when the data does not go back far enough. This is the field that most changes the quality of what people get.
Hosted runs on our infrastructure and can be published as a link or a widget. In your client produces a config for your own agent instead.
The model menu only offers providers that are actually configured and implemented on this deployment. A provider that is neither would give you an app that looks saved and fails on first use.
Name, heading, placeholder, accent. These are what a visitor sees on the hosted page and inside the widget.
The canvas has a preview that runs the app as it currently stands, against the same thread you started from. Change the instructions, ask again, see the difference.