I think both approaches are open for consideration, but I personally prefer the solution of users uploading their own file.
Option 1) Personally, I would love to see the ability to upload my own SVG or PNG as my own icon as that would enable the largest flexibility. Ideally, if a file is uploaded, it can be added to the list of icons the user can select (for one or more Custom Assistants); this way the user won't need to upload the same file multiple times. There would have to be a way to remove icons as well. There are always concerns that arise when hosting user-uploaded content, particularly images, which can be tackled.
Option 2) The alternative approach is for having a curated list of icons created or provided by Kagi. Users can simply select from an already existing list of given icons, maybe even select a color for it. The types of icons I was thinking simple things like: An open book (representing a book, example), Graduation cap (representing schooling or academia, example), Roman pillars structure (representing government, example), Pen and paper (representing writing or editing text, example), Abstract sphere (representing a globe, example), Stick figure running (representing exercise, example), A stethoscope (representing health, example), A brain (representing thought or mind, example). This approach has the potential issue of frustrating customers who cannot find from a very narrow selection of icons so has that disadvantage. But this approach does have the advantage of not having any extra friction or barriers to the user, only requiring a few clicks without much thought, so it has that advantage (over option 1).
For me personally, I would prefer the option 1. It will provide me complete freedom in choosing what icon I want. For the general user base, most people would probably not bother finding and uploading their own icon but may want to still change so option 2 may be preferable for general users, but I could be mistaken. Of course, both options are not mutually exclusive; it is possible to provide a curated list as example icons the user can select (and can't delete) but still allow users to upload their own too.
Workaround Option 3) Using an emoji Unicode character as part of the name of the Custom Assistant is a partial workaround. It does use iconography but tend to have a certain emoji style that some individuals dislike. Additionally, they are usually rendered in their colored form (text mode rendering is hit or miss on whether they show correctly or not from my experience). This is nice because there are a lot of choices for the user.
Thinking about it some more, I think option 3 basically covers option 2 already. The only way this would not be the case if abstract icons are chosen as the curated list of icons. Some inspiration can come from a search for abstract icons.