Я создал Sorcerer, бесплатное приложение для macOS с открытым исходным кодом (SwiftUI, macOS 15+, MIT), которое имитирует сообщество ИИ-персонажей, реагирующих на вопрос «а что, если…?» вопрос. Вы пишете гипотезу («А что, если Lumen повысит свой план с 9 до 14 долларов в месяц?»), суммируете…
Я создал Sorcerer, бесплатное приложение для macOS с открытым исходным кодом (SwiftUI, macOS 15+, MIT), которое имитирует сообщество ИИ-персонажей, реагирующих на вопрос «а что, если…?» вопрос. Вы пишете гипотезу («Что, если Lumen поднимет свой план с 9 до 14 долларов в месяц?»), вызываете участников и наблюдаете, как они публикуют сообщения, отвечают, реагируют, меняют свое мнение и предпринимают действия, шаг за шагом.
Репо: https://github.com/gbrasil720/sorcerer · Сайт: https://sorcererapp.dev
В этом посте рассказывается, как это работает под капотом.
1. Никаких ключей API: используйте интерфейсы командной строки, которые уже есть у людей.
Я не хотел отправлять модель или просить у кого-нибудь ключ. Sorcerer запускает официальные инструменты, в которые пользователь уже вошел: Claude CLI (Claude Code), Codex CLI (ChatGPT) или локальный Ollama.
Первая проблема: приложение, запущенное из Finder, не получает PATH вашего терминала, поэтому клод «команда не найдена». Колдун один раз спрашивает интерактивную зш и запоминает ответ:
/// ПУТЬ, которую имеет ваш терминал. В одной только оболочке входа отсутствует то, что добавляет ~/.zshrc (~/.local/bin, где
/// его ставит установщик клода; nvm, булочка…), так что спросите интерактивную оболочку один раз и запомните ее.
статический пусть userPath: String = {
пусть p = Процесс()
p.executableURL = URL(fileURLWithPath: "/bin/zsh")
п.аргу