|
1 | | -# phoenix-code-ai-control |
| 1 | +# Phoenix Code AI Control |
| 2 | + |
2 | 3 | 🔐 Control AI features in Phoenix Code with deployment scripts for Windows, macOS, and Linux — made for schools and enterprise setups. |
| 4 | + |
| 5 | +## Overview |
| 6 | + |
| 7 | +Phoenix Code AI Control provides system administrators and users with tools to manage AI functionality in educational and enterprise environments. This repository contains: |
| 8 | + |
| 9 | +- Installation scripts for Windows, macOS, and Linux |
| 10 | +- Browser detection for AI availability |
| 11 | + |
| 12 | +## Installation |
| 13 | + |
| 14 | +### System Requirements |
| 15 | + |
| 16 | +- Windows 10/11, macOS 10.15+, or Ubuntu/Debian-based Linux |
| 17 | +- Administrative access for system-wide installation |
| 18 | +- Phoenix Code Desktop or Browser version |
| 19 | + |
| 20 | +### Desktop Installation Scripts |
| 21 | + |
| 22 | +Download and run the appropriate script for your platform: |
| 23 | + |
| 24 | +- [Windows Script](https://download.phcode.dev/ai-control/setup_phoenix_ai_control_win.bat) |
| 25 | +- [macOS Script](https://download.phcode.dev/ai-control/setup_phoenix_ai_control_mac.sh) |
| 26 | +- [Linux Script](https://download.phcode.dev/ai-control/setup_phoenix_ai_control_linux.sh) |
| 27 | + |
| 28 | +#### Windows Installation |
| 29 | + |
| 30 | +1. Download the Windows script |
| 31 | +2. Right-click and select "Run as administrator" |
| 32 | +3. Follow the on-screen prompts |
| 33 | + |
| 34 | +#### macOS Installation |
| 35 | + |
| 36 | +1. Download the macOS script |
| 37 | +2. Open Terminal and navigate to your download location |
| 38 | +3. Run: `chmod +x setup_phoenix_ai_control_mac.sh` |
| 39 | +4. Execute: `sudo ./setup_phoenix_ai_control_mac.sh` |
| 40 | + |
| 41 | +#### Linux Installation |
| 42 | + |
| 43 | +1. Download the Linux script |
| 44 | +2. Open Terminal and navigate to your download location |
| 45 | +3. Run: `chmod +x setup_phoenix_ai_control_linux.sh` |
| 46 | +4. Execute: `sudo ./setup_phoenix_ai_control_linux.sh` |
| 47 | + |
| 48 | +## Installation Script CLI Options |
| 49 | + |
| 50 | +All installation scripts support the same command-line options: |
| 51 | + |
| 52 | +| Option | Description | |
| 53 | +|--------|-------------| |
| 54 | +| `--help` | Display usage information and help text | |
| 55 | +| `--managedByEmail <email>` | Admin email who manages AI policy. Can be used in your Phoenix managed AI dashboard to selectively enable features and manage usage quotas | |
| 56 | +| `--allowedUsers <user1,user2,...>` | Comma-separated list of usernames allowed to use AI even when disabled for others | |
| 57 | +| `--disableAI` | If present, AI will be disabled by default for all users except those specified in `allowedUsers` | |
| 58 | + |
| 59 | +### Example Usage |
| 60 | + |
| 61 | +```bash |
| 62 | +# Enable AI with administrative contact |
| 63 | +sudo ./setup_phoenix_ai_control_linux.sh --managedByEmail [email protected] |
| 64 | + |
| 65 | +# Enable AI for specific users only |
| 66 | +sudo ./setup_phoenix_ai_control_linux.sh --allowedUsers alice,bob --disableAI |
| 67 | + |
| 68 | +# Complete setup with all options |
| 69 | +sudo ./setup_phoenix_ai_control_linux.sh --managedByEmail [email protected] --allowedUsers alice,bob --disableAI |
| 70 | +``` |
| 71 | + |
| 72 | +### Configuration File Locations |
| 73 | + |
| 74 | +The scripts create configuration files in the following system-wide locations: |
| 75 | + |
| 76 | +- **Windows**: `C:\Program Files\Phoenix AI Control\config.json` |
| 77 | +- **macOS**: `/Library/Application Support/Phoenix AI Control/config.json` |
| 78 | +- **Linux**: `/etc/phoenix-ai-control/config.json` |
| 79 | + |
| 80 | +These files are created with read-only permissions for regular users and can only be modified by administrators. |
| 81 | + |
| 82 | +## Verifying AI Control Status |
| 83 | + |
| 84 | +### In Desktop App |
| 85 | + |
| 86 | +1. Open Phoenix Code |
| 87 | +2. Navigate to File → Check AI Control Status |
| 88 | +3. A dialog will appear showing your current configuration: |
| 89 | + - AI Status (Enabled/Disabled) |
| 90 | + - Platform information |
| 91 | + - Current user |
| 92 | + - Managed by (administrative contact) |
| 93 | + - List of allowed users (if configured) |
| 94 | + |
| 95 | +### In Browser Version |
| 96 | + |
| 97 | +1. Open Phoenix Code in your web browser |
| 98 | +2. Navigate to File → Check AI Control Status |
| 99 | +3. The browser will check if `ai.phcode.dev` is accessible: |
| 100 | + - First shows "Checking if AI is disabled..." |
| 101 | + - Then displays whether AI is available or blocked |
| 102 | + - Provides information on firewall configuration |
| 103 | + |
| 104 | +## Configuration Options |
| 105 | + |
| 106 | +### Network Blocking (Recommended for Schools) |
| 107 | + |
| 108 | +The simplest way to disable AI functionality is to block access to: |
| 109 | +- `ai.phcode.dev` |
| 110 | + |
| 111 | +Add this domain to your firewall or content filtering system. The browser version of Phoenix Code will automatically detect if the domain is unreachable. |
| 112 | + |
| 113 | +### User-Level Control (Desktop Only) |
| 114 | + |
| 115 | +For more granular control on desktop installations: |
| 116 | + |
| 117 | +1. The installation scripts create a configuration file at a system-wide location |
| 118 | +2. This file contains: |
| 119 | + - `disableAI`: Boolean flag to control global AI access |
| 120 | + - `managedByEmail`: Optional administrative contact |
| 121 | + - `allowedUsers`: Optional array of usernames with AI access |
| 122 | +3. Only administrative users can modify this configuration |
| 123 | + |
| 124 | +## FAQ |
| 125 | + |
| 126 | +### How do I know if AI control is working? |
| 127 | + |
| 128 | +In both the desktop and browser versions, go to File → Check AI Control Status to see a detailed report. |
| 129 | + |
| 130 | +### Can I allow specific users to access AI features? |
| 131 | + |
| 132 | +Yes, but only in the desktop version. Use the `--allowedUsers` parameter with a comma-separated list of usernames when running the installation script. These users will be able to access AI features even when disabled system-wide with the `--disableAI` flag. |
| 133 | + |
| 134 | +### What's the difference between browser and desktop control? |
| 135 | + |
| 136 | +- **Browser Control**: Limited to network-level blocking of `ai.phcode.dev` |
| 137 | +- **Desktop Control**: Supports both network blocking and fine-grained user permissions through the configuration file |
| 138 | + |
| 139 | +### Is AI control mandatory? |
| 140 | + |
| 141 | +No, AI control is optional and meant for educational institutions or enterprises that need to regulate AI usage. By default, all users have access to AI features. |
| 142 | + |
| 143 | +### Will blocking AI affect other Phoenix Code features? |
| 144 | + |
| 145 | +No, all other features of Phoenix Code will continue to work normally. Only the AI-powered features like code generation and explanations will be affected. |
| 146 | + |
| 147 | +### How can I update the AI control configuration? |
| 148 | + |
| 149 | +Simply run the installation script again with the new parameters. The script will overwrite the existing configuration file with your new settings. |
| 150 | + |
| 151 | +### Does this completely prevent AI usage? |
| 152 | + |
| 153 | +For the desktop version, the control is comprehensive when properly configured. For the browser version, you must implement network-level blocking of the `ai.phcode.dev` domain to effectively control access. |
| 154 | + |
| 155 | +### How can I verify that the firewall is properly blocking AI access? |
| 156 | + |
| 157 | +In the browser version, use the "Check AI Control Status" option which will attempt to connect to the AI service and report whether it's accessible or blocked. |
| 158 | + |
| 159 | +## Support |
| 160 | + |
| 161 | +For more information about controlling AI in educational institutions, visit: |
| 162 | +[https://docs.phcode.dev/docs/control-ai](https://docs.phcode.dev/docs/control-ai) |
| 163 | + |
| 164 | +## For Developers |
| 165 | + |
| 166 | +To contribute to this project: |
| 167 | + |
| 168 | +1. Clone the repository |
| 169 | +2. Make your changes |
| 170 | +3. Test on all supported platforms |
| 171 | +4. Submit a pull request |
| 172 | + |
| 173 | +## License |
| 174 | + |
| 175 | +[MIT License](LICENSE) |
0 commit comments