Skip to content

Commit

Permalink
chore: rebranding
Browse files Browse the repository at this point in the history
  • Loading branch information
carlrobertoh committed Mar 3, 2025
1 parent 6a3ec49 commit 9b8c60b
Show file tree
Hide file tree
Showing 42 changed files with 364 additions and 122 deletions.
40 changes: 20 additions & 20 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,12 +2,12 @@

<br />
<div align="center">
<a href="https://github.com/carlrobertoh/CodeGPT">
<img alt="plugin-icon" src="https://github.com/carlrobertoh/CodeGPT-docs/blob/main/images/icon.png?raw=true">
<a href="https://github.com/carlrobertoh/ProxyAI">
<img alt="ProxyAI Logo" src="/src/main/resources/icons/readme-icon.svg" />
</a>
<h1 style="margin: 0;" align="center">CodeGPT</h1>
<h1 style="margin: 0;" align="center">ProxyAI</h1>
<p style="width: 640px">
The leading open-source AI copilot for <a target="_blank" href="https://plugins.jetbrains.com/plugin/21056-codegpt">JetBrains</a>. Connect to any model in any environment, and customize your coding experience in any way you like.
The leading open-source AI copilot for <a target="_blank" href="https://plugins.jetbrains.com/plugin/21056-proxy-ai">JetBrains</a>. Connect to any model in any environment, and customize your coding experience in any way you like.
</p>
</div>

Expand All @@ -29,33 +29,33 @@
</ol>
</details>

![Plugin screenshot](https://www.codegpt.ee/images/main.png)
![Plugin screenshot](https://tryproxy.io/images/main.png)

## About The Project

CodeGPT is an AI-powered code assistant designed to help you with various programming activities. It is a great alternative to GitHub Copilot, AI Assistant, Codiumate, or any other extension on the JetBrains marketplace.
ProxyAI is an AI-powered code assistant designed to help you with various programming activities. It is a great alternative to GitHub Copilot, AI Assistant, Codiumate, or any other extension on the JetBrains marketplace.

We equip you with the latest models, advanced tools, and on-premise solutions that are designed to significantly enhance your developer experience.

Access top-tier language models from OpenAI, Anthropic, Azure, Mistral, and others, or opt for a self-hosted model for a full offline experience.

## Core Features

CodeGPT offers a wide range of features to enhance your development experience:
ProxyAI offers a wide range of features to enhance your development experience:

### Chat

- **Auto Apply:** Stream AI-suggested code changes directly into your editor. Preview modifications in diff view and approve or reject them with a single click.

- **Use images:** Chat with your images. Upload manually or let CodeGPT auto-detect your screenshots.
- **Use images:** Chat with your images. Upload manually or let ProxyAI auto-detect your screenshots.

- **Reference your files and folders:** Quickly access and reference your project files and folders for context-aware coding assistance.

- **Reference web docs:** Quickly reference web docs in your chat session, such as API guides, library manuals, and more.

- **Reference git history:** Quickly reference commit logs and changes in your chat session

- **Search the web:** Connect your favourite LLM to the web. CodeGPT will search for the most relevant information to answer your questions.
- **Search the web:** Connect your favourite LLM to the web. ProxyAI will search for the most relevant information to answer your questions.

- **Customize your assistant:** Choose between multiple different personas for your specific needs, whether you're looking to learn, write or proofread.

Expand All @@ -66,20 +66,20 @@ CodeGPT offers a wide range of features to enhance your development experience:

- **Autocomplete your code:** Receive single-line or whole-function autocomplete suggestions as you type.

- **Edit code in natural language:** Highlight the code you want to modify, describe the desired changes, and watch CodeGPT work its magic.
- **Edit code in natural language:** Highlight the code you want to modify, describe the desired changes, and watch ProxyAI work its magic.

- **Get name suggestions:** Get context-aware naming suggestions for methods, variables, and more.

- **Generate commit messages:** Generate concise and descriptive commit messages based on the changes made in your codebase.

For a full list of features and detailed descriptions, visit our [official documentation](https://docs.codegpt.ee/features).
For a full list of features and detailed descriptions, visit our [official documentation](https://docs.tryproxy.io/features).

## Running locally

**Linux or macOS**
```shell
git clone https://github.com/carlrobertoh/CodeGPT.git
cd CodeGPT
git clone https://github.com/carlrobertoh/ProxyAI.git
cd ProxyAI
git submodule update
./gradlew runIde
```
Expand All @@ -96,15 +96,15 @@ tail -f build/idea-sandbox/system/log/idea.log

## Privacy

**Your data stays yours.** CodeGPT **does not** collect or store any kind of sensitive information.
**Your data stays yours.** ProxyAI **does not** collect or store any kind of sensitive information.

However, with users' consent, we do collect anonymous usage data, which we use to understand how users interact with the extension, including the most-used features and preferred providers.

## Feedback

Your input helps us grow. Reach out through:

- [Issue Tracker](https://github.com/carlrobertoh/CodeGPT/issues)
- [Issue Tracker](https://github.com/carlrobertoh/ProxyAI/issues)
- [Discord](https://discord.gg/8dTGGrwcnR)
- [Email](mailto:[email protected])

Expand All @@ -118,13 +118,13 @@ If you found this project interesting, kindly rate it on the marketplace and don
<!-- MARKDOWN LINKS & IMAGES -->
<!-- https://www.markdownguide.org/basic-syntax/#reference-style-links -->

[downloads-shield]: https://img.shields.io/jetbrains/plugin/d/21056-codegpt
[downloads-shield]: https://img.shields.io/jetbrains/plugin/d/21056-proxy-ai
[discord-shield]: https://img.shields.io/discord/1118629761049182238?style=flat&logo=discord&label=Discord
[version-shield]: https://img.shields.io/jetbrains/plugin/v/21056-codegpt?label=version
[rating-shield]: https://img.shields.io/jetbrains/plugin/r/rating/21056-codegpt
[version-shield]: https://img.shields.io/jetbrains/plugin/v/21056-proxy-ai?label=version
[rating-shield]: https://img.shields.io/jetbrains/plugin/r/rating/21056-proxy-ai
[marketplace-img]: https://github.com/carlrobertoh/CodeGPT-docs/blob/main/images/marketplace.png?raw=true
[plugin-repo]: https://plugins.jetbrains.com/plugin/21056-codegpt
[plugin-repo]: https://plugins.jetbrains.com/plugin/21056-proxy-ai
[invite-link]: https://discord.gg/8dTGGrwcnR
[open-issues]: https://github.com/carlrobertoh/CodeGPT/issues
[open-issues]: https://github.com/carlrobertoh/ProxyAI/issues
[api-key-url]: https://platform.openai.com/account/api-keys
[portfolio]: https://carlrobert.ee
Original file line number Diff line number Diff line change
Expand Up @@ -39,8 +39,8 @@ public TelemetryNotifications() {

public void queryUserConsent() {
Notification notification = group.createNotification(
"Help CodeGPT improve its extensions by allowing them to collect anonymous usage data. " +
"Read our <a href=\"https://codegpt.ee/privacy\">privacy statement</a> " +
"Help ProxyAI improve its extensions by allowing them to collect anonymous usage data. " +
"Read our <a href=\"https://tryproxy.io/privacy\">privacy statement</a> " +
"and learn how to <a href=\"\">opt out</a>.",
NotificationType.INFORMATION);
notification.setTitle("Enable Telemetry");
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -22,11 +22,11 @@
public class TelemetryComponent {

private static final String DESCRIPTION =
"Help CodeGPT improve its products by sending anonymous data about features and plugins used, "
"Help ProxyAI improve its products by sending anonymous data about features and plugins used, "
+ "hardware and software configuration.<br/>"
+ "<br/>"
+ "Please note that this will not include personal data or any sensitive Information.<br/>"
+ "The data sent complies with the <a href=\"https://codegpt.ee/privacy\">Privacy Policy</a>.";
+ "The data sent complies with the <a href=\"https://tryproxy.io/privacy\">Privacy Policy</a>.";

private final JPanel panel;
private final JBCheckBox enabled = new JBCheckBox("Send usage statistics");
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -35,7 +35,7 @@ public class TelemetryConfigurable implements SearchableConfigurable {
@Nls(capitalization = Nls.Capitalization.Title)
@Override
public String getDisplayName() {
return "CodeGPT Telemetry";
return "ProxyAI Telemetry";
}

@Override
Expand Down
4 changes: 2 additions & 2 deletions gradle.properties
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
# IntelliJ Platform Artifacts Repositories -> https://plugins.jetbrains.com/docs/intellij/intellij-artifacts.html

pluginGroup = ee.carlrobert
pluginName = CodeGPT
pluginRepositoryUrl = https://github.com/carlrobertoh/CodeGPT
pluginName = ProxyAI
pluginRepositoryUrl = https://github.com/carlrobertoh/ProxyAI
# SemVer format -> https://semver.org
pluginVersion = 2.16.4

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,7 @@
import com.intellij.openapi.wm.ToolWindowAnchor;
import com.intellij.openapi.wm.ToolWindowManager;
import com.intellij.ui.content.Content;
import ee.carlrobert.codegpt.CodeGPTBundle;
import ee.carlrobert.codegpt.Icons;
import ee.carlrobert.codegpt.completions.ConversationType;
import ee.carlrobert.codegpt.conversations.Conversation;
Expand Down Expand Up @@ -122,12 +123,12 @@ public void resetAll() {

public @NotNull ToolWindow getToolWindow() {
var toolWindowManager = ToolWindowManager.getInstance(project);
var toolWindow = toolWindowManager.getToolWindow("CodeGPT");
var toolWindow = toolWindowManager.getToolWindow("ProxyAI");
// https://intellij-support.jetbrains.com/hc/en-us/community/posts/11533368171026/comments/11538403084562
return Objects.requireNonNullElseGet(toolWindow, () -> toolWindowManager
.registerToolWindow(RegisterToolWindowTask.closable(
"CodeGPT",
() -> "CodeGPT",
"ProxyAI",
() -> CodeGPTBundle.get("project.label"),
Icons.DefaultSmall,
ToolWindowAnchor.RIGHT)));
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -52,7 +52,7 @@ public ChatToolWindowPanel(
imageFileAttachmentNotification = new ToolWindowFooterNotification(() ->
project.putUserData(CodeGPTKeys.IMAGE_ATTACHMENT_FILE_PATH, ""));
upgradePlanLink = new ActionLink("Upgrade your plan", event -> {
BrowserUtil.browse("https://codegpt.ee/#pricing");
BrowserUtil.browse("https://tryproxy.io/#pricing");
});
upgradePlanLink.setFont(JBUI.Fonts.smallFont());
upgradePlanLink.setExternalLinkIcon();
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -41,10 +41,10 @@ public void displayLandingView(JComponent landingView) {
panel.addContent(UIUtil.createTextPane("""
<html>
<p style="margin-top: 4px; margin-bottom: 4px;">
It looks like you haven't configured your API key yet. Visit <a href="#OPEN_SETTINGS">CodeGPT settings</a> to do so.
It looks like you haven't configured your API key yet. Visit <a href="#OPEN_SETTINGS">ProxyAI settings</a> to do so.
</p>
<p style="margin-top: 4px; margin-bottom: 4px;">
Don't have an account? <a href="https://codegpt.ee">Sign up</a> to get the most out of CodeGPT.
Don't have an account? <a href="https://tryproxy.io/signin">Sign up</a> to get the most out of ProxyAI.
</p>
</html>""",
false,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -26,6 +26,7 @@
import com.intellij.openapi.ui.popup.JBPopupListener;
import com.intellij.openapi.ui.popup.LightweightWindowEvent;
import com.intellij.openapi.ui.popup.ListPopup;
import ee.carlrobert.codegpt.CodeGPTBundle;
import ee.carlrobert.codegpt.CodeGPTKeys;
import ee.carlrobert.codegpt.Icons;
import ee.carlrobert.codegpt.completions.llama.LlamaModel;
Expand Down Expand Up @@ -133,7 +134,7 @@ private AnAction[] getCodeGPTModelActions(Project project, Presentation presenta
var actionGroup = new DefaultActionGroup();

if (availableProviders.contains(CODEGPT)) {
actionGroup.addSeparator("CodeGPT");
actionGroup.addSeparator(CodeGPTBundle.get("project.label"));
actionGroup.addAll(getCodeGPTModelActions(project, presentation));
actionGroup.addSeparator();
}
Expand Down
14 changes: 9 additions & 5 deletions src/main/java/ee/carlrobert/codegpt/ui/OverlayUtil.java
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,6 @@

import com.intellij.execution.ExecutionBundle;
import com.intellij.notification.Notification;
import com.intellij.notification.NotificationGroup;
import com.intellij.notification.NotificationListener;
import com.intellij.notification.NotificationType;
import com.intellij.notification.Notifications;
Expand All @@ -36,8 +35,8 @@

public class OverlayUtil {

public static final String NOTIFICATION_GROUP_ID = "CodeGPT Notification Group";
public static final String NOTIFICATION_GROUP_STICKY_ID = "CodeGPT Notification Group Sticky";
public static final String NOTIFICATION_GROUP_ID = "proxyai.notification.group";
public static final String NOTIFICATION_GROUP_STICKY_ID = "proxyai.notification.sticky.group";

private OverlayUtil() {
}
Expand All @@ -49,7 +48,8 @@ public static Notification getDefaultNotification(

public static Notification getDefaultNotification(
@NotNull String content, @NotNull NotificationType type, @NotNull AnAction... actions) {
var notification = new Notification(NOTIFICATION_GROUP_ID, "CodeGPT", content, type);
var notification =
new Notification(NOTIFICATION_GROUP_ID, CodeGPTBundle.get("project.label"), content, type);
notification.setListener(new NotificationListener.UrlOpeningListener(true));
Arrays.asList(actions).forEach(notification::addAction);
return notification;
Expand All @@ -62,7 +62,11 @@ public static Notification getStickyNotification(

public static Notification getStickyNotification(
@NotNull String content, @NotNull NotificationType type, @NotNull AnAction... actions) {
var notification = new Notification(NOTIFICATION_GROUP_STICKY_ID, "CodeGPT", content, type);
var notification = new Notification(
NOTIFICATION_GROUP_STICKY_ID,
CodeGPTBundle.get("project.label"),
content,
type);
Arrays.asList(actions).forEach(notification::addAction);
return notification;
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -147,7 +147,7 @@ class CommitMessageEventListener(
override fun onError(error: ErrorDetails, ex: Throwable) {
Notifications.Bus.notify(
Notification(
"CodeGPT Notification Group",
"proxyai.notification.group",
"CodeGPT",
error.message,
NotificationType.ERROR
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -54,7 +54,7 @@ class EditCodeCompletionListener(
error.message,
NotificationType.ERROR,
NotificationAction.createSimpleExpiring("Upgrade plan") {
BrowserUtil.open("https://codegpt.ee/#pricing")
BrowserUtil.open("https://tryproxy.io/#pricing")
},
)
stopLoading()
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -30,8 +30,8 @@ class DocumentationSettingsState : BaseState() {
}

class DocumentationDetailsState : BaseState() {
var name by string("CodeGPT Docs")
var url by string("https://docs.codegpt.ee")
var name by string("ProxyAI Docs")
var url by string("https://docs.tryproxy.io")
var lastUsedDateTime by string()
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ class DocumentationsConfigurable : Configurable {
private lateinit var component: DocumentationsSettingsForm

override fun getDisplayName(): String {
return "CodeGPT: Documentations"
return "ProxyAI: Documentations"
}

override fun createComponent(): JComponent {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ class PromptsConfigurable : Configurable {
private lateinit var component: PromptsForm

override fun getDisplayName(): String {
return "CodeGPT: Prompts"
return "ProxyAI: Prompts"
}

override fun createComponent(): JComponent {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ class AnthropicServiceConfigurable : Configurable {
private lateinit var component: AnthropicSettingsForm

override fun getDisplayName(): String {
return "CodeGPT: Anthropic Service"
return "ProxyAI: Anthropic Service"
}

override fun createComponent(): JComponent {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ class AzureServiceConfigurable : Configurable {
private lateinit var component: AzureSettingsForm

override fun getDisplayName(): String {
return "CodeGPT: Azure Service"
return "ProxyAI: Azure Service"
}

override fun createComponent(): JComponent {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ class LlamaServiceConfigurable : Configurable {
private lateinit var component: LlamaSettingsForm

override fun getDisplayName(): String {
return "CodeGPT: Custom Service"
return "ProxyAI: Custom Service"
}

override fun createComponent(): JComponent {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ class OpenAIServiceConfigurable : Configurable {
private lateinit var component: OpenAISettingsForm

override fun getDisplayName(): String {
return "CodeGPT: OpenAI Service"
return "ProxyAI: OpenAI Service"
}

override fun createComponent(): JComponent {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ class ServiceConfigurable : Configurable {
private lateinit var component: ServiceConfigurableComponent

override fun getDisplayName(): String {
return "CodeGPT: Services"
return "ProxyAI: Services"
}

override fun createComponent(): JComponent {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -52,7 +52,7 @@ class ServiceConfigurableComponent {

private fun addLinks(formBuilder: FormBuilder) {
mapOf(
"CodeGPT" to CodeGPTServiceConfigurable::class.java,
"ProxyAI" to CodeGPTServiceConfigurable::class.java,
"OpenAI" to OpenAIServiceConfigurable::class.java,
"Custom OpenAI" to CustomServiceConfigurable::class.java,
"Azure" to AzureServiceConfigurable::class.java,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ class CodeGPTServiceConfigurable : Configurable {
private lateinit var component: CodeGPTServiceForm

override fun getDisplayName(): String {
return "CodeGPT: CodeGPT Service"
return "ProxyAI: ProxyAI Service"
}

override fun createComponent(): JComponent {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,7 @@ class CustomServiceConfigurable : Configurable {
private lateinit var component: CustomServiceListForm

override fun getDisplayName(): String {
return "CodeGPT: Custom Service"
return "ProxyAI: Custom Service"
}

override fun createComponent(): JComponent {
Expand Down
Loading

0 comments on commit 9b8c60b

Please sign in to comment.