ChatPC

MacOS Getting Started

Follow the instructions below to get started.

Install the MacOS Application

  1. Download the MacOS ChatPC application (requires MacOS 13.0 and higher)

  2. Unzip the .zip file.

  3. Move the extracted ChatPC application file to your Applications folder.

    move app to applications folder

  4. Go to your Applications folder and open the ChatPC application.

  5. The app should appear in the MacOS menu bar at the top right of your screen.

    opened app

  6. The settings window should automatically open. If it does not, right-click (or control-click) the ChatPC menu bar icon, and click Settings > General.

    settings

  7. Click the Sign up button and click Continue in the popup. This will open a sign up window in your web browser.

    sign up

  8. Follow the instructions on the sign up page.

Acccessing settings

To access settings and other options, right-click (or control-click) the ChatPC menu bar icon.

Permissions

  1. ChatPC requires certain permissions in order to provide a convenient and simple user experience for you.

  2. These permissions will be prompted for at the time they are needed.

  3. To chat with the current selected text, ChatPC needs access to:

    1. System Events

      system events permission alert

    2. Accessibility features (you can change this setting anytime in your Mac’s System Settings > Privacy & Security > Accessibility)

      accessibility permission alert

      accessibility permission alert

Adding actions

Actions allow ChatPC to interact with your local computer and interact with other native applications. The ChatPC AI assistant will determine which actions to run based on your prompts.

To add actions, go to the Actions tab in the ChatPC settings.

Note that all added actions are sent to the AI assistant in every message and will consume credits.

Shortcuts actions

  1. ChatPC can run Shortcuts from your Mac’s Shortcuts application.

  2. The ChatPC AI assistant will decide when to call your Shortcut based on its description, which defaults to the Shortcut name.

  3. If your Shortcut takes a text input, add a description for what input the AI assistant should pass in as the input, including what format the input should be in (e.g. JSON array of fruit names).

  4. If your Shortcut produces a text output, add a description for the output, including the format of the output, so the AI assistant knows how to use it.

AppleScripts actions

ChatPC can also run arbitrary AppleScript that you provide, with a few requirements:

  1. The script must begind with a comment block at the top of the file:
    • (* ... *) for AppleScript
    • /* ... */ for JavaScript (JXA)
  2. The comment block must contain the following tags that describe the script:
    • @permission {permissionType}
      • Permission type can be allow, ask, block (to disable the script)
    • @summary - Short summary of what the script does
    • @description - Longer description of what the script does
    • @param {type} name - Description of the parameter for each parameter (in order)
      • Type can be boolean, number, or string
      • Type can be followed by a ? to indicate it is optional (for example string?)
    • @return {type} - Description of the return value
      • Type can be boolean, number, string, or void
      • The description is optional if the type is void
  3. The script must contain an entry point function that has the same name as the script. This function should take in the parameters described in the comment block (in the same order) and return the value as described in the comment block.
  4. The script may contain other helper functions as needed.

Here is an example of a valid script:

/*
@permission {ask}
@summary Search contacts
@description Search through all contacts by all fields and returns a vCard representation for each matching contact
@param {string} searchString - The string to search for
@return {string} JSON array of vCard strings of matching contacts
*/
function searchContacts(searchString) {
    let app = Application("Contacts");
	const vcards = app.people()
		.map(p => p.vcard())
	    .filter(vcard => vcard.toLowerCase().includes(searchString.toLowerCase()));
	return JSON.stringify(vcards);
}

You can download and unzip more example scripts here.

Folder actions

ChatPC will only manage folders you have explicitly given it permission to access. Once you have added one or more folders, the following actions become available:

Controlling permissions

Once you’ve added a folder you can control the read and write permissions for the folder.

For each permission type, you can select one of the following options:

Limitations

Interacting with the ChatPC AI assistant

You can interact and prompt the ChatPC AI assistant in different ways.

  1. Chat through the built in chat UI. The AI model can be selected when starting a new conversation. The following models are supported:

    1. gpt-3.5-turbo - uses 1 credit per token

    2. gpt-3.5-turbo-16k - uses 2 credits per token

    3. gpt-4 - uses 20 credits per token. This model will give the best results, especially for more complex tasks.

    4. For more information on these models, see the OpenAI documentation.

  2. Prompt it as part of a Shortcut.

    prompt via Shortcuts

  3. Prompt it as part of an AppleScript. The model parameter is optional and defaults to gpt-3.5-turbo.

tell application "ChatPC"
	log (prompt with message "write me a short poem")
	log (prompt "gpt-4" with message "write me a better poem")
end tell

Using the Chat UI

Basic chats

  1. Open the chat window by clicking the menu bar icon or using the global shortcut Control-Space (can be changed under Settings > Chat).

  2. Type your request for your AI assistant. New lines can be inserted with Option-Return.

    empty chat

  3. Press Return or click the arrow button to send your message.

  4. Close the chat window by hitting the esc key, or clicking anywhere outside the chat window.

Chat with selection

ChatPC allows you to chat with selected text.

  1. Select some text in any application

  2. Open the chat window with Control-Space.

  3. Once the chat window is open, you can see your selected text.

    import selected text

  4. If needed, you can edit the selected text.

  5. Use one of the one click actions, or write your own message like a normal chat.

Using the AI response

  1. You can copy the AI response with a click of a button.

  2. You can even insert the AI response into the frontmost app! Click the insert button of the response you want to insert, or use Command-Return to insert the latest response.

    chat response

Custom one-click prompts

  1. You can add your own custom one-click prompts for selected text under Settings > Chat. Drag and drop the prompts to reorder.

    custom prompts settings

    custom prompts example

    custom prompts usage

Managing previous chats

  1. Use the title bar to view previous chats, delete chats, and start a new chat.

    chat management

  2. The delete button reveals 3 options:

    1. Delete current chat - Delete the current active chat (only visible if there is an active chat).
    2. Delete older chats - Delete all chats older than the current active chat (only visible if there is an active chat).
    3. Delete all chats - Delete all chats.

Keyboard shortcuts

Action Shortcut
Open chat window Control-Space (default)
Send message Return
Insert new line in message Option-Return
Insert last AI response into frontmost app Command-Return
New chat Command-N
Go to next chat Command-J
Go to previous chat Command-K
Delete current chat Command-D

Subscription plans

The default free plan has a lifetime token limit as well as other limitations. You can manage your subscription plan in the app settings.

Check out the different subscription plans at https://chatpc.ai/plans!

With a subscription plan, you can enter your own OpenAI API key to avoid using credits or if you run out of credits. You can set your OpenAI API key under Chat settings.

FAQ

Coming soon

Support

If you run into any issues or have any questions, please reach out to us at support@chatpc.ai.