LogicSage: The mobile AI workspace

LogicSage is an open-source AI workspace for everyone. Chat w/ GPTs. Developers and AI enthusiasts can use it to work with gpts to view code, edit code, and submit PRs!

for Mac OS command line, iOS, and iPadOS - Open Source in Swift

  • This app is perfect for anyone who wants to get started with AI and learning how to prompt.
  • This app is also fantastic for developers who want to learn programming languages better using GPT.
  • This app allows you to check out and examine this apps, or any git repositories source code. The source code viewing file windows are fully color customizable.
  • This app allows you to talk with GPTs via views in the app.
  • This app allows you to talk with chat API via a command line interface including a toolbar and a command bar.
  • All you need is a A.I. API Key to be entered in the Settings menu.

Gist of modes:
iOS app allows working in phone mode for interaction without a mac.
more with the SwiftSage CLI for Mac including a server...

  • Swift Vapor Server records GPT interaction and allows remote control of computer for building A.I. generated Xcode projects.
  • Keep in mind this is an alpha project/app. Please email me or get in touch via support issues to help me finish this app.
  • Integration with text to speech software in both the client and server.
  • In computer mode: Debate mode: pit the GPT personas against one another with "debate" and "debate your topic”

Supported modes can be toggled in the Settings(gear icon) menu.

mobile: this mode allows you to interact with GPT by prefixing your prompt in the command entry window with the g key.


computer: this more advanced mode allows you to create apps automatically in Xcode with the (i) command.

—-

Future of LogicSage:
Google and Link cmd support coming soon!

—-

Demo video (please download to mac or iOS device to view): https://github.com/cdillard/SwiftSage/blob/main/LogicSageDemo.MOV
—-

Getting Started

  1. Clone the repository: git clone https://github.com/cdillard/SwiftSage.git
  2. Navigate to the project directory: cd SwiftSage
  3. Follow the Installation and Configuration steps below.

Configuration

  1. Open Swifty-GPT.xcworkspace.

  2. Change to your Development Code Signing info.

  3. Set OPEN_AI_KEY in GPT-Info.plist.`

    • Optional for customizable bgs: Run ./copy_wallpapers.sh to copy your existing Mac OS Desktops to the SwiftyGPTWorkspace. This is where LogicSage will grab your desired wallpaper backgrounds from.
  4. Run ./run.sh from within SwiftSage folder root to run the Swift Sage Server and Swifty-GPT server binary.

  5. Enjoy!

Installation

Dependencies

Installing Homebrew and Ruby

If you don't have Homebrew and Ruby installed, follow these steps:

  1. Install Homebrew by running: /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
  2. Install Ruby by running: brew install ruby

Installing XcodeGen and Xcodeproj

  1. Install XcodeGen: brew install xcodegen
  2. Install Xcodeproj: gem install xcodeproj

SET API KEYS

SET API KEYS: You'll need to track down the following keys to fully experience SwiftSage.

NOTE: NYTIMES,PIXABAY, and GOOGLE are not required (yet) but be sure that the feat flags for those features are disabled in your Config for now if not using please.

	<key>GOOGLE_KEY</key>
	<string></string>
	<key>OPEN_AI_KEY</key>
	<string></string>
	<key>GOOGLE_SEARCH_ID</key>
	<string></string>
	<key>NYTIMES_KEY</key>
	<string></string>
	<key>NYTIMES_SECRET</key>
	<string></string>
	<key>PIXABAY_KEY</key>
	<string></string>

Check Config.swift for the config.

You can turn on asciiAnimations for fun or turn them off for fun. Your choice.

-More : Move InputText and IdeaText to your ~Documents/SwiftyGPTWorkspace/, this will be your primary entry point for idea and gpt prompts. The xcode terminal does not support pasting multiple lines of code so this is the best way. Use gptFile, ideaFile to execute.

Path Configuration

You may need to change the xcodegenPath variable depending on your configuration:

  • Option 1: let xcodegenPath = "/Users/$USERNAME/.rbenv/shims/xcodegen"
  • Option 2: let xcodegenPath = "/opt/homebrew/bin/xcodegen"

To discover your paths and issues, run:

COMMANDS

Check the following link for the Swifty-GPT server command list.
https://github.com/cdillard/SwiftSage/blob/main/Swifty-GPT/Command/CommandTable.swift

Check the following out for the much shorter list of iOS commands for mobile mode. (Working to add these all so server isn’t required)
https://github.com/cdillard/SwiftSage/blob/main/SwiftSageiOS/SwiftSageiOS/Command/CommandTable.swift

UNDERSTANDING THE SWIFT SAGE COMPONENTS!

SwiftSage


SWIFT SAGE IOS INSTRUCTIONS: (Not needed unless you want to use SwiftSage on iOS/iPadOS devices)

DO NOT use wireless debuggin, it won't work due to websockety conflict

UPDATE the feat flag
let swiftSageIOSEnabled = true

If you have issues: rm -rf WebSocketServer/.build

TURN OFF YOUR FIREWALLS ON ALL USED DEVICES

  1. Install Vapor: brew install vapor

USE THIS COMMAND TO RUN VAPOR SERVER

cd  WebSocketServer
rm -rf .build
vapor build
vapor run

MAC SAGE INSTRUCTIONS:

MAC SAGE or SwiftSageForiOSForMac

I've included a mac OS app you can use for prompting, since the Xcode terminal is a bit rough.

Troubleshooting

Xcode build

tessdata_fast-main should be deleted from the Xcode project. It will be added to the SwiftyGPTWorkspace folder in your Documents dir.


Microphone Access

NOTE: To enable the mic head to Config.swift and turn on let voiceInputEnabled = true

If you experience issues with microphone access/MIC POPUP, follow these steps:

  1. Head to the Swifty-GPT folder and run the following command with your Apple Development account to stop the Mic popup:
    Head to the Swifty-GPT folder and run this on the entitlements fil with your Apple Development account. This will stop the Mic POPUP.
    codesign --entitlements Swifty-GPT.entitlements --force --sign "Apple Development: [email protected] (YOUTEAXZM)" ../Xcode/DerivedData/Swifty-GPT-fsilcclqupwxmwfxejzmbhescakg/Build/Products/Release/Swifty-GPT

Microphone Access

If you see dialogs such as "would like to use your Microphone" or "Would like to send events to other applications," please accept them.


Sometimes GPT will refuse to make apps....

Response non nil, another generation...
?: Sorry, as an AI language model, I am not able to develop an iOS app. My capabilities are limited to generating human-like text based on the given prompts.
found [] names
found [] commands
? found = 0
No names found... failing..
(Function)

If this happens just try again and it usually clears right up.

Contact

Created by: Chris Dillard (c_h_r_i_s_b_d_i_l_l_a_r_d_@_g_m_a_i_l.com) w/ underscores removed.

  • With a little help from my GPT?. Thank you, OpenAI!