add scripts

Signed-off-by: wozulong <>
This commit is contained in:
wozulong 2024-05-17 15:00:02 +08:00
parent ed9ed5bdb6
commit c62a0dfdec
7 changed files with 229 additions and 15 deletions

View File

@ -2,31 +2,28 @@
## 这个仓库什么也不能做,请不要盯着我。 ## 这个仓库什么也不能做,请不要盯着我。
VSCode 配置: ### VSCode 配置:
```json ```json
"github.copilot.advanced": { "github.copilot.advanced": {
"debug.overrideProxyUrl": "http://localhost:8181", "debug.overrideProxyUrl": "http://127.0.0.1:8181",
"debug.chatOverrideProxyUrl": "http://localhost:8181/v1/chat/completions", "debug.chatOverrideProxyUrl": "http://127.0.0.1:8181/v1/chat/completions",
"authProvider": "github-enterprise" "authProvider": "github-enterprise"
}, },
"github-enterprise.uri": "https://cocopilot.org", "github-enterprise.uri": "https://cocopilot.org",
``` ```
其中 `http://localhost:8181` 是你启动的 `override` 服务地址。 ### JetBrains等 配置:
JetBrains 配置: 按照 coco dash 页面截图配置后执行对应系统的脚本后重启IDE
请在自己的.zshrc/.bashrc文件中配置好环境变量参数然后重启JetBrains工具. * scripts/install.sh 适用于 `macOS``Linux`
```shell * scripts/install-all-users.vbs 适用于 `Windows`,为电脑上所有用户配置,需要有管理员权限。
## code 配置 * scripts/install-current-user.vbs 适用于 `Windows`,为当前用户配置,无需管理员权限。
export AGENT_DEBUG_OVERRIDE_PROXY_URL="http://127.0.0.1:8181" * scripts/uninstall 相关脚本与之对应,为卸载配置。
## chat配置
export AGENT_DEBUG_OVERRIDE_CAPI_URL="http://127.0.0.1:8181/v1"
```
其中 `http://localhost:8181` 是你启动的 `override` 服务地址。 其中 `http://127.0.0.1:8181` 是你启动的 `override` 服务地址。
config.json 配置 ### config.json 配置
```json ```json
{ {
@ -55,13 +52,14 @@ config.json 配置
可以通过 `OVERRIDE_` + 大写配置项作为环境变量,可以覆盖 `config.json` 中的值。例如:`OVERRIDE_CODEX_API_KEY=sk-xxxx` 可以通过 `OVERRIDE_` + 大写配置项作为环境变量,可以覆盖 `config.json` 中的值。例如:`OVERRIDE_CODEX_API_KEY=sk-xxxx`
### 其他说明
1. 理论上Chat 部分可以使用 `chat2api` ,而 Codex 代码生成部分则不太适合使用 `chat2api` 1. 理论上Chat 部分可以使用 `chat2api` ,而 Codex 代码生成部分则不太适合使用 `chat2api`
2. 代码生成部分做过延时生成和客户端 Cancel 处理很有效节省你的Token。 2. 代码生成部分做过延时生成和客户端 Cancel 处理很有效节省你的Token。
3. 我目前就试了下 `VSCode` ,至于 `JetBrains` 等IDE尚未适配如果你有相关经验请告诉我。 3. 我目前就试了下 `VSCode` ,至于 `JetBrains` 等IDE尚未适配如果你有相关经验请告诉我。
4. 项目基于 `MIT` 协议发布,你可以修改,请保留原作者信息。 4. 项目基于 `MIT` 协议发布,你可以修改,请保留原作者信息。
5. 有什么问题,请在论坛 https://linux.do 讨论欢迎PR。 5. 有什么问题,请在论坛 https://linux.do 讨论欢迎PR。
## Star History ### Star History
[![Star History Chart](https://api.star-history.com/svg?repos=linux-do/override&type=Date)](https://star-history.com/#linux-do/override&Date) [![Star History Chart](https://api.star-history.com/svg?repos=linux-do/override&type=Date)](https://star-history.com/#linux-do/override&Date)

View File

@ -0,0 +1,31 @@
If Not WScript.Arguments.Named.Exists("elevate") Then
CreateObject("Shell.Application").ShellExecute WScript.FullName, """" & WScript.ScriptFullName & """ /elevate", "", "runas", 10
WScript.Quit
End If
Set oShell = CreateObject("WScript.Shell")
Set oEnvSystem = oShell.Environment("SYSTEM")
Set oFS = CreateObject("Scripting.FileSystemObject")
MsgBox "It may take a few seconds to execute this script." & vbCrLf & vbCrLf & "Click 'OK' button and wait for the prompt of 'Done.' to pop up!"
Dim baseUrl
baseUrl = "http://127.0.0.1:8181"
Sub RemoveEnv(env)
On Error Resume Next
env.Remove("AGENT_DEBUG_OVERRIDE_PROXY_URL")
env.Remove("GITHUB_COPILOT_OVERRIDE_PROXY_URL")
env.Remove("AGENT_DEBUG_OVERRIDE_CAPI_URL")
env.Remove("GITHUB_COPILOT_OVERRIDE_CAPI_URL")
End Sub
RemoveEnv oShell.Environment("USER")
oEnvSystem("AGENT_DEBUG_OVERRIDE_PROXY_URL") = baseUrl
oEnvSystem("GITHUB_COPILOT_OVERRIDE_PROXY_URL") = baseUrl
oEnvSystem("AGENT_DEBUG_OVERRIDE_CAPI_URL") = baseUrl & "/v1"
oEnvSystem("GITHUB_COPILOT_OVERRIDE_CAPI_URL") = baseUrl & "/v1"
MsgBox "Done."

View File

@ -0,0 +1,15 @@
Set oShell = CreateObject("WScript.Shell")
Set oEnv = oShell.Environment("USER")
Set oFS = CreateObject("Scripting.FileSystemObject")
Dim baseUrl
baseUrl = "http://127.0.0.1:8181"
MsgBox "It may take a few seconds to execute this script." & vbCrLf & vbCrLf & "Click 'OK' button and wait for the prompt of 'Done.' to pop up!"
oEnv("AGENT_DEBUG_OVERRIDE_PROXY_URL") = baseUrl
oEnv("GITHUB_COPILOT_OVERRIDE_PROXY_URL") = baseUrl
oEnv("AGENT_DEBUG_OVERRIDE_CAPI_URL") = baseUrl & "/v1"
oEnv("GITHUB_COPILOT_OVERRIDE_CAPI_URL") = baseUrl & "/v1"
MsgBox "Done."

82
scripts/install.sh Executable file
View File

@ -0,0 +1,82 @@
#!/bin/sh
set -e
OS_NAME=$(uname -s)
BASE_URL="http://127.0.0.1:8181"
KDE_ENV_DIR="${HOME}/.config/plasma-workspace/env"
LAUNCH_AGENTS_DIR="${HOME}/Library/LaunchAgents"
PROFILE_PATH="${HOME}/.profile"
ZSH_PROFILE_PATH="${HOME}/.zshrc"
PLIST_PATH="${LAUNCH_AGENTS_DIR}/copilot.override.plist"
if [ "$OS_NAME" = "Darwin" ]; then
BASH_PROFILE_PATH="${HOME}/.bash_profile"
mkdir -p "${LAUNCH_AGENTS_DIR}"
echo '<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"><plist version="1.0"><dict><key>Label</key><string>copilot.override</string><key>ProgramArguments</key><array><string>sh</string><string>-c</string><string>' >"${PLIST_PATH}"
else
BASH_PROFILE_PATH="${HOME}/.bashrc"
mkdir -p "${KDE_ENV_DIR}"
fi
touch "${PROFILE_PATH}"
touch "${BASH_PROFILE_PATH}"
touch "${ZSH_PROFILE_PATH}"
GH_OVERRIDE_SHELL_NAME="copilot.override.sh"
GH_OVERRIDE_SHELL_FILE="${HOME}/.${GH_OVERRIDE_SHELL_NAME}"
echo '#!/bin/sh' >"${GH_OVERRIDE_SHELL_FILE}"
# shellcheck disable=SC2016
EXEC_LINE='___GH_OVERRIDE_SHELL_FILE="${HOME}/.copilot.override.sh"; if [ -f "${___GH_OVERRIDE_SHELL_FILE}" ]; then . "${___GH_OVERRIDE_SHELL_FILE}"; fi'
# shellcheck disable=SC2129
echo "export AGENT_DEBUG_OVERRIDE_PROXY_URL=\"${BASE_URL}\"" >>"${GH_OVERRIDE_SHELL_FILE}"
echo "export GITHUB_COPILOT_OVERRIDE_PROXY_URL=\"${BASE_URL}\"" >>"${GH_OVERRIDE_SHELL_FILE}"
echo "export AGENT_DEBUG_OVERRIDE_CAPI_URL=\"${BASE_URL}/v1\"" >>"${GH_OVERRIDE_SHELL_FILE}"
echo "export GITHUB_COPILOT_OVERRIDE_CAPI_URL=\"${BASE_URL}/v1\"" >>"${GH_OVERRIDE_SHELL_FILE}"
if [ "$OS_NAME" = "Darwin" ]; then
launchctl setenv "AGENT_DEBUG_OVERRIDE_PROXY_URL" "${BASE_URL}"
launchctl setenv "GITHUB_COPILOT_OVERRIDE_PROXY_URL" "${BASE_URL}"
launchctl setenv "AGENT_DEBUG_OVERRIDE_CAPI_URL" "${BASE_URL}/v1"
launchctl setenv "GITHUB_COPILOT_OVERRIDE_CAPI_URL" "${BASE_URL}/v1"
# shellcheck disable=SC2129
echo "launchctl setenv \"AGENT_DEBUG_OVERRIDE_PROXY_URL\" \"${BASE_URL}\"" >>"${PLIST_PATH}"
echo "launchctl setenv \"GITHUB_COPILOT_OVERRIDE_PROXY_URL\" \"${BASE_URL}\"" >>"${PLIST_PATH}"
echo "launchctl setenv \"AGENT_DEBUG_OVERRIDE_CAPI_URL\" \"${BASE_URL}/v1\"" >>"${PLIST_PATH}"
echo "launchctl setenv \"GITHUB_COPILOT_OVERRIDE_CAPI_URL\" \"${BASE_URL}/v1\"" >>"${PLIST_PATH}"
fi
if [ "$OS_NAME" = "Darwin" ]; then
# shellcheck disable=SC2016
sed -i '' '/___GH_OVERRIDE_SHELL_FILE="${HOME}\/\.copilot\.override\.sh"; if /d' "${PROFILE_PATH}" >/dev/null 2>&1
# shellcheck disable=SC2016
sed -i '' '/___GH_OVERRIDE_SHELL_FILE="${HOME}\/\.copilot\.override\.sh"; if /d' "${BASH_PROFILE_PATH}" >/dev/null 2>&1
# shellcheck disable=SC2016
sed -i '' '/___GH_OVERRIDE_SHELL_FILE="${HOME}\/\.copilot\.override\.sh"; if /d' "${ZSH_PROFILE_PATH}" >/dev/null 2>&1
echo '</string></array><key>RunAtLoad</key><true/></dict></plist>' >>"${PLIST_PATH}"
else
# shellcheck disable=SC2016
sed -i '/___GH_OVERRIDE_SHELL_FILE="${HOME}\/\.copilot\.override\.sh"; if /d' "${PROFILE_PATH}" >/dev/null 2>&1
# shellcheck disable=SC2016
sed -i '/___GH_OVERRIDE_SHELL_FILE="${HOME}\/\.copilot\.override\.sh"; if /d' "${BASH_PROFILE_PATH}" >/dev/null 2>&1
# shellcheck disable=SC2016
sed -i '/___GH_OVERRIDE_SHELL_FILE="${HOME}\/\.copilot\.override\.sh"; if /d' "${ZSH_PROFILE_PATH}" >/dev/null 2>&1
fi
echo "${EXEC_LINE}" >>"${PROFILE_PATH}"
echo "${EXEC_LINE}" >>"${BASH_PROFILE_PATH}"
echo "${EXEC_LINE}" >>"${ZSH_PROFILE_PATH}"
if [ "$OS_NAME" = "Darwin" ]; then
echo 'done. the "kill Dock" command can fix the crash issue.'
else
ln -sf "${GH_OVERRIDE_SHELL_FILE}" "${KDE_ENV_DIR}/${GH_OVERRIDE_SHELL_NAME}"
echo "done. you'd better log off first!"
fi

View File

@ -0,0 +1,22 @@
If Not WScript.Arguments.Named.Exists("elevate") Then
CreateObject("Shell.Application").ShellExecute WScript.FullName, """" & WScript.ScriptFullName & """ /elevate", "", "runas", 10
WScript.Quit
End If
MsgBox "It may take a few seconds to execute this script." & vbCrLf & vbCrLf & "Click 'OK' button and wait for the prompt of 'Done.' to pop up!"
Sub RemoveEnv(env)
On Error Resume Next
env.Remove("AGENT_DEBUG_OVERRIDE_PROXY_URL")
env.Remove("GITHUB_COPILOT_OVERRIDE_PROXY_URL")
env.Remove("AGENT_DEBUG_OVERRIDE_CAPI_URL")
env.Remove("GITHUB_COPILOT_OVERRIDE_CAPI_URL")
End Sub
Set oShell = CreateObject("WScript.Shell")
RemoveEnv oShell.Environment("USER")
RemoveEnv oShell.Environment("SYSTEM")
MsgBox "Done."

View File

@ -0,0 +1,11 @@
Set oShell = CreateObject("WScript.Shell")
Set oEnv = oShell.Environment("USER")
MsgBox "It may take a few seconds to execute this script." & vbCrLf & vbCrLf & "Click 'OK' button and wait for the prompt of 'Done.' to pop up!"
oEnv.Remove("AGENT_DEBUG_OVERRIDE_PROXY_URL")
oEnv.Remove("GITHUB_COPILOT_OVERRIDE_PROXY_URL")
oEnv.Remove("AGENT_DEBUG_OVERRIDE_CAPI_URL")
oEnv.Remove("GITHUB_COPILOT_OVERRIDE_CAPI_URL")
MsgBox "Done."

55
scripts/uninstall.sh Executable file
View File

@ -0,0 +1,55 @@
#!/bin/sh
set -e
OS_NAME=$(uname -s)
KDE_ENV_DIR="${HOME}/.config/plasma-workspace/env"
PROFILE_PATH="${HOME}/.profile"
ZSH_PROFILE_PATH="${HOME}/.zshrc"
PLIST_PATH="${HOME}/Library/LaunchAgents/copilot.override.plist"
if [ "$OS_NAME" = "Darwin" ]; then
BASH_PROFILE_PATH="${HOME}/.bash_profile"
else
BASH_PROFILE_PATH="${HOME}/.bashrc"
fi
touch "${PROFILE_PATH}"
touch "${BASH_PROFILE_PATH}"
touch "${ZSH_PROFILE_PATH}"
GH_OVERRIDE_SHELL_NAME="copilot.override.sh"
GH_OVERRIDE_SHELL_FILE="${HOME}/.${GH_OVERRIDE_SHELL_NAME}"
rm -rf "${GH_OVERRIDE_SHELL_FILE}"
if [ "$OS_NAME" = "Darwin" ]; then
launchctl unsetenv "AGENT_DEBUG_OVERRIDE_PROXY_URL"
launchctl unsetenv "GITHUB_COPILOT_OVERRIDE_PROXY_URL"
launchctl unsetenv "AGENT_DEBUG_OVERRIDE_CAPI_URL"
launchctl unsetenv "GITHUB_COPILOT_OVERRIDE_CAPI_URL"
rm -rf "${PLIST_PATH}"
# shellcheck disable=SC2016
sed -i '' '/___GH_OVERRIDE_SHELL_FILE="${HOME}\/\.copilot\.override\.sh"; if /d' "${PROFILE_PATH}" >/dev/null 2>&1
# shellcheck disable=SC2016
sed -i '' '/___GH_OVERRIDE_SHELL_FILE="${HOME}\/\.copilot\.override\.sh"; if /d' "${BASH_PROFILE_PATH}" >/dev/null 2>&1
# shellcheck disable=SC2016
sed -i '' '/___GH_OVERRIDE_SHELL_FILE="${HOME}\/\.copilot\.override\.sh"; if /d' "${ZSH_PROFILE_PATH}" >/dev/null 2>&1
echo 'done.'
else
# shellcheck disable=SC2016
sed -i '/___GH_OVERRIDE_SHELL_FILE="${HOME}\/\.copilot\.override\.sh"; if /d' "${PROFILE_PATH}" >/dev/null 2>&1
# shellcheck disable=SC2016
sed -i '/___GH_OVERRIDE_SHELL_FILE="${HOME}\/\.copilot\.override\.sh"; if /d' "${BASH_PROFILE_PATH}" >/dev/null 2>&1
# shellcheck disable=SC2016
sed -i '/___GH_OVERRIDE_SHELL_FILE="${HOME}\/\.copilot\.override\.sh"; if /d' "${ZSH_PROFILE_PATH}" >/dev/null 2>&1
# shellcheck disable=SC2115
rm -rf "${KDE_ENV_DIR}/${GH_OVERRIDE_SHELL_NAME}"
echo "done. you'd better log off first!"
fi