diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index ccc2a054..aab265f0 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -95,6 +95,10 @@ jobs: OPENAI_API_KEY: ${{ secrets.OPENAI_API_KEY_PRD }} MCP_BASIC_KEY: ${{ secrets.MCP_BASIC_KEY_PRD }} MCP_PAPERSCORE_KEY: ${{ secrets.MCP_PAPERSCORE_KEY_PRD }} + XTRAGPT_OPENAI_API_KEY: ${{ secrets.XTRAGPT_OPENAI_API_KEY_PRD }} + XTRAGPT_OPENREVIEW_BASE_URL: ${{ secrets.XTRAGPT_OPENREVIEW_BASE_URL_PRD }} + XTRAGPT_OPENREVIEW_USERNAME: ${{ secrets.XTRAGPT_OPENREVIEW_USERNAME_PRD }} + XTRAGPT_OPENREVIEW_PASSWORD: ${{ secrets.XTRAGPT_OPENREVIEW_PASSWORD_PRD }} MONGO_URI: ${{ secrets.MONGO_URI_PRD }} GHCR_DOCKER_CONFIG: ${{ secrets.GHCR_DOCKER_CONFIG_PRD }} CLOUDFLARE_TUNNEL_TOKEN: ${{ secrets.CLOUDFLARE_TUNNEL_TOKEN_PRD }} diff --git a/hack/dev-apply.sh b/hack/dev-apply.sh index 3d6f00af..37ad76b4 100755 --- a/hack/dev-apply.sh +++ b/hack/dev-apply.sh @@ -10,6 +10,10 @@ echo $ROOT_DIR OPENAI_API_KEY=${OPENAI_API_KEY:-sk-dummy-OPENAI_API_KEY} MCP_BASIC_KEY=${MCP_BASIC_KEY:-sk-dummy-MCP_BASIC_KEY} MCP_PAPERSCORE_KEY=${MCP_PAPERSCORE_KEY:-sk-dummy-MCP_PAPERSCORE_KEY} +XTRAGPT_OPENAI_API_KEY=${XTRAGPT_OPENAI_API_KEY:-sk-dummy-XTRAGPT_OPENAI_API_KEY} +XTRAGPT_OPENREVIEW_BASE_URL=${XTRAGPT_OPENREVIEW_BASE_URL:-https://api2.openreview.net} +XTRAGPT_OPENREVIEW_USERNAME=${XTRAGPT_OPENREVIEW_USERNAME:-dummy-XTRAGPT_OPENREVIEW_USERNAME} +XTRAGPT_OPENREVIEW_PASSWORD=${XTRAGPT_OPENREVIEW_PASSWORD:-dummy-XTRAGPT_OPENREVIEW_PASSWORD} GHCR_DOCKER_CONFIG=${GHCR_DOCKER_CONFIG:-dummy-ghcr-docker-config} CLOUDFLARE_TUNNEL_TOKEN=${CLOUDFLARE_TUNNEL_TOKEN:-dummy-cloudflare-tunnel-token} @@ -20,6 +24,10 @@ helm template $ROOT_DIR/helm-chart \ --set-string openai_api_key=$OPENAI_API_KEY \ --set-string mcp_basic_key=$MCP_BASIC_KEY \ --set-string mcp_paperscore_key=$MCP_PAPERSCORE_KEY \ + --set-string xtragpt_openai_api_key=$XTRAGPT_OPENAI_API_KEY \ + --set-string xtragpt_openreview_base_url=$XTRAGPT_OPENREVIEW_BASE_URL \ + --set-string xtragpt_openreview_username=$XTRAGPT_OPENREVIEW_USERNAME \ + --set-string xtragpt_openreview_password=$XTRAGPT_OPENREVIEW_PASSWORD \ --set-string ghcr_docker_config=$GHCR_DOCKER_CONFIG \ --set-string cloudflare_tunnel_token=$CLOUDFLARE_TUNNEL_TOKEN | kubectl apply -f - diff --git a/hack/prd.sh b/hack/prd.sh index 54ae92f4..4deeb38a 100755 --- a/hack/prd.sh +++ b/hack/prd.sh @@ -8,6 +8,10 @@ cd $ROOT_DIR OPENAI_API_KEY=${OPENAI_API_KEY:-sk-dummy-OPENAI_API_KEY} MCP_BASIC_KEY=${MCP_BASIC_KEY:-sk-dummy-MCP_BASIC_KEY} MCP_PAPERSCORE_KEY=${MCP_PAPERSCORE_KEY:-sk-dummy-MCP_PAPERSCORE_KEY} +XTRAGPT_OPENAI_API_KEY=${XTRAGPT_OPENAI_API_KEY:-sk-dummy-XTRAGPT_OPENAI_API_KEY} +XTRAGPT_OPENREVIEW_BASE_URL=${XTRAGPT_OPENREVIEW_BASE_URL:-https://api2.openreview.net} +XTRAGPT_OPENREVIEW_USERNAME=${XTRAGPT_OPENREVIEW_USERNAME:-dummy-XTRAGPT_OPENREVIEW_USERNAME} +XTRAGPT_OPENREVIEW_PASSWORD=${XTRAGPT_OPENREVIEW_PASSWORD:-dummy-XTRAGPT_OPENREVIEW_PASSWORD} PAPERDEBUGGER_IMAGE=${PAPERDEBUGGER_IMAGE:-ghcr.io/paperdebugger/sharelatex-paperdebugger:latest} MONGO_URI=${MONGO_URI:-} GHCR_DOCKER_CONFIG=${GHCR_DOCKER_CONFIG:-dummy-ghcr-docker-config} @@ -20,6 +24,10 @@ helm template $ROOT_DIR/helm-chart \ --set-string openai_api_key=$OPENAI_API_KEY \ --set-string mcp_basic_key=$MCP_BASIC_KEY \ --set-string mcp_paperscore_key=$MCP_PAPERSCORE_KEY \ + --set-string xtragpt_openai_api_key=$XTRAGPT_OPENAI_API_KEY \ + --set-string xtragpt_openreview_base_url=$XTRAGPT_OPENREVIEW_BASE_URL \ + --set-string xtragpt_openreview_username=$XTRAGPT_OPENREVIEW_USERNAME \ + --set-string xtragpt_openreview_password=$XTRAGPT_OPENREVIEW_PASSWORD \ --set-string paperdebugger.image=$PAPERDEBUGGER_IMAGE \ --set-string mongo.uri=$MONGO_URI \ --set-string ghcr_docker_config=$GHCR_DOCKER_CONFIG \ diff --git a/hack/stg.sh b/hack/stg.sh index 64a5aafa..29ec771f 100755 --- a/hack/stg.sh +++ b/hack/stg.sh @@ -8,6 +8,10 @@ cd $ROOT_DIR OPENAI_API_KEY=${OPENAI_API_KEY:-sk-dummy-OPENAI_API_KEY} MCP_BASIC_KEY=${MCP_BASIC_KEY:-sk-dummy-MCP_BASIC_KEY} MCP_PAPERSCORE_KEY=${MCP_PAPERSCORE_KEY:-sk-dummy-MCP_PAPERSCORE_KEY} +XTRAGPT_OPENAI_API_KEY=${XTRAGPT_OPENAI_API_KEY:-sk-dummy-XTRAGPT_OPENAI_API_KEY} +XTRAGPT_OPENREVIEW_BASE_URL=${XTRAGPT_OPENREVIEW_BASE_URL:-https://api2.openreview.net} +XTRAGPT_OPENREVIEW_USERNAME=${XTRAGPT_OPENREVIEW_USERNAME:-dummy-XTRAGPT_OPENREVIEW_USERNAME} +XTRAGPT_OPENREVIEW_PASSWORD=${XTRAGPT_OPENREVIEW_PASSWORD:-dummy-XTRAGPT_OPENREVIEW_PASSWORD} PAPERDEBUGGER_IMAGE=${PAPERDEBUGGER_IMAGE:-ghcr.io/paperdebugger/sharelatex-paperdebugger:latest} MONGO_URI=${MONGO_URI:-} GHCR_DOCKER_CONFIG=${GHCR_DOCKER_CONFIG:-dummy-ghcr-docker-config} @@ -20,6 +24,10 @@ helm template $ROOT_DIR/helm-chart \ --set-string openai_api_key=$OPENAI_API_KEY \ --set-string mcp_basic_key=$MCP_BASIC_KEY \ --set-string mcp_paperscore_key=$MCP_PAPERSCORE_KEY \ + --set-string xtragpt_openai_api_key=$XTRAGPT_OPENAI_API_KEY \ + --set-string xtragpt_openreview_base_url=$XTRAGPT_OPENREVIEW_BASE_URL \ + --set-string xtragpt_openreview_username=$XTRAGPT_OPENREVIEW_USERNAME \ + --set-string xtragpt_openreview_password=$XTRAGPT_OPENREVIEW_PASSWORD \ --set-string paperdebugger.image=$PAPERDEBUGGER_IMAGE \ --set-string mongo.uri=$MONGO_URI \ --set-string ghcr_docker_config=$GHCR_DOCKER_CONFIG \ diff --git a/helm-chart/templates/paperdebugger-xtramcp-server.yaml b/helm-chart/templates/paperdebugger-xtramcp-server.yaml new file mode 100644 index 00000000..4b88b354 --- /dev/null +++ b/helm-chart/templates/paperdebugger-xtramcp-server.yaml @@ -0,0 +1,54 @@ +--- +apiVersion: apps/v1 +kind: Deployment +metadata: + name: paperdebugger-xtramcp-server + namespace: {{ .Values.namespace }} +spec: + selector: + matchLabels: + app: paperdebugger-xtramcp-server + template: + metadata: + labels: + app: paperdebugger-xtramcp-server + spec: + imagePullSecrets: + - name: ghcr-secret + containers: + - name: paperdebugger-xtramcp-server + image: {{ .Values.paperdebuggerXtraMcpServer.image }} + imagePullPolicy: IfNotPresent + ports: + - containerPort: 8080 + envFrom: + - configMapRef: + name: paperdebugger-xtramcp-server +--- +apiVersion: v1 +kind: Service +metadata: + name: paperdebugger-xtramcp-server + namespace: {{ .Values.namespace }} +spec: + selector: + app: paperdebugger-xtramcp-server + ports: + - name: http + port: 80 + targetPort: 8080 + - name: http-alt + port: 8080 + targetPort: 8080 + type: ClusterIP +--- +apiVersion: v1 +kind: ConfigMap +metadata: + name: paperdebugger-xtramcp-server + namespace: {{ .Values.namespace }} +data: + OPENAI_API_KEY: "{{ .Values.xtragpt_openai_api_key }}" + OPENREVIEW_BASE_URL: "{{ .Values.xtragpt_openreview_base_url }}" + OPENREVIEW_USERNAME: "{{ .Values.xtragpt_openreview_username }}" + OPENREVIEW_PASSWORD: "{{ .Values.xtragpt_openreview_password }}" diff --git a/helm-chart/values.yaml b/helm-chart/values.yaml index d862064f..1d4576f0 100644 --- a/helm-chart/values.yaml +++ b/helm-chart/values.yaml @@ -10,6 +10,9 @@ paperdebugger: paperdebuggerMcpServer: image: ghcr.io/paperdebugger/paperdebugger-mcp-server:main-14409c5 +paperdebuggerXtraMcpServer: + image: ghcr.io/paperdebugger/paperdebugger-xtramcp-server:main-14409c5 + mongo: in_cluster: true uri: "" # if in_cluster is false, use the external mongo instead diff --git a/internal/libs/cfg/cfg.go b/internal/libs/cfg/cfg.go index 161c7331..a13dc416 100644 --- a/internal/libs/cfg/cfg.go +++ b/internal/libs/cfg/cfg.go @@ -33,7 +33,7 @@ func xtraMCPURI() string { if val != "" { return val } - return "http://paperdebugger-xtra-mcp-server.com/mcp" + return "http://paperdebugger-xtramcp-server:8080/mcp" } func mongoURI() string { diff --git a/webapp/_webapp/src/components/markdown.tsx b/webapp/_webapp/src/components/markdown.tsx index ac4270a5..7ca9305e 100644 --- a/webapp/_webapp/src/components/markdown.tsx +++ b/webapp/_webapp/src/components/markdown.tsx @@ -52,13 +52,13 @@ const MarkdownComponent = memo(({ children, prevAttachment, animated }: Markdown ), }, - p: { - component: ({ children, ...props }: ComponentProps) => ( -