diff --git a/.github/actions/server-test-env/action.yml b/.github/actions/server-test-env/action.yml index 9755ea0e33..3f08733e43 100644 --- a/.github/actions/server-test-env/action.yml +++ b/.github/actions/server-test-env/action.yml @@ -24,8 +24,10 @@ runs: - name: Import config shell: bash run: | - printf '{"copilot":{"enabled":true,"providers.fal":{"apiKey":"%s"},"providers.gemini":{"apiKey":"%s"},"providers.openai":{"apiKey":"%s"},"providers.perplexity":{"apiKey":"%s"}}}' \ + printf '{"copilot":{"enabled":true,"providers.fal":{"apiKey":"%s"},"providers.gemini":{"apiKey":"%s"},"providers.openai":{"apiKey":"%s"},"providers.perplexity":{"apiKey":"%s"},"providers.anthropic":{"apiKey":"%s"},"exa":{"key":"%s"}}}' \ "$COPILOT_FAL_API_KEY" \ "$COPILOT_GOOGLE_API_KEY" \ "$COPILOT_OPENAI_API_KEY" \ - "$COPILOT_PERPLEXITY_API_KEY" > ./packages/backend/server/config.json + "$COPILOT_PERPLEXITY_API_KEY" \ + "$COPILOT_ANTHROPIC_API_KEY" \ + "$COPILOT_EXA_API_KEY" > ./packages/backend/server/config.json diff --git a/.github/workflows/build-test.yml b/.github/workflows/build-test.yml index 34e1a8b408..cb680cda46 100644 --- a/.github/workflows/build-test.yml +++ b/.github/workflows/build-test.yml @@ -894,6 +894,8 @@ jobs: COPILOT_GOOGLE_API_KEY: ${{ secrets.COPILOT_GOOGLE_API_KEY }} COPILOT_FAL_API_KEY: ${{ secrets.COPILOT_FAL_API_KEY }} COPILOT_PERPLEXITY_API_KEY: ${{ secrets.COPILOT_PERPLEXITY_API_KEY }} + COPILOT_ANTHROPIC_API_KEY: ${{ secrets.COPILOT_ANTHROPIC_API_KEY }} + COPILOT_EXA_API_KEY: ${{ secrets.COPILOT_EXA_API_KEY }} uses: ./.github/actions/server-test-env - name: Run server tests @@ -991,6 +993,8 @@ jobs: COPILOT_GOOGLE_API_KEY: ${{ secrets.COPILOT_GOOGLE_API_KEY }} COPILOT_FAL_API_KEY: ${{ secrets.COPILOT_FAL_API_KEY }} COPILOT_PERPLEXITY_API_KEY: ${{ secrets.COPILOT_PERPLEXITY_API_KEY }} + COPILOT_ANTHROPIC_API_KEY: ${{ secrets.COPILOT_ANTHROPIC_API_KEY }} + COPILOT_EXA_API_KEY: ${{ secrets.COPILOT_EXA_API_KEY }} uses: ./.github/actions/server-test-env - name: Run Copilot E2E Test ${{ matrix.shardIndex }}/${{ matrix.shardTotal }} diff --git a/.github/workflows/copilot-test.yml b/.github/workflows/copilot-test.yml index c50420b68b..a729f16641 100644 --- a/.github/workflows/copilot-test.yml +++ b/.github/workflows/copilot-test.yml @@ -81,6 +81,8 @@ jobs: COPILOT_FAL_API_KEY: ${{ secrets.COPILOT_FAL_API_KEY }} COPILOT_GOOGLE_API_KEY: ${{ secrets.COPILOT_GOOGLE_API_KEY }} COPILOT_PERPLEXITY_API_KEY: ${{ secrets.COPILOT_PERPLEXITY_API_KEY }} + COPILOT_ANTHROPIC_API_KEY: ${{ secrets.COPILOT_ANTHROPIC_API_KEY }} + COPILOT_EXA_API_KEY: ${{ secrets.COPILOT_EXA_API_KEY }} uses: ./.github/actions/server-test-env - name: Run server tests @@ -150,6 +152,8 @@ jobs: COPILOT_FAL_API_KEY: ${{ secrets.COPILOT_FAL_API_KEY }} COPILOT_GOOGLE_API_KEY: ${{ secrets.COPILOT_GOOGLE_API_KEY }} COPILOT_PERPLEXITY_API_KEY: ${{ secrets.COPILOT_PERPLEXITY_API_KEY }} + COPILOT_ANTHROPIC_API_KEY: ${{ secrets.COPILOT_ANTHROPIC_API_KEY }} + COPILOT_EXA_API_KEY: ${{ secrets.COPILOT_EXA_API_KEY }} uses: ./.github/actions/server-test-env - name: Run Copilot E2E Test ${{ matrix.shardIndex }}/${{ matrix.shardTotal }} diff --git a/packages/backend/server/src/__tests__/copilot.spec.ts b/packages/backend/server/src/__tests__/copilot.spec.ts index 99e6735486..e4eb482420 100644 --- a/packages/backend/server/src/__tests__/copilot.spec.ts +++ b/packages/backend/server/src/__tests__/copilot.spec.ts @@ -92,6 +92,12 @@ test.before(async t => { perplexity: { apiKey: process.env.COPILOT_PERPLEXITY_API_KEY ?? '1', }, + anthropic: { + apiKey: process.env.COPILOT_ANTHROPIC_API_KEY ?? '1', + }, + }, + exa: { + key: process.env.COPILOT_EXA_API_KEY ?? '1', }, }, }), diff --git a/packages/backend/server/src/plugins/copilot/prompt/prompts.ts b/packages/backend/server/src/plugins/copilot/prompt/prompts.ts index 9f7c2ee7d2..e5435893ed 100644 --- a/packages/backend/server/src/plugins/copilot/prompt/prompts.ts +++ b/packages/backend/server/src/plugins/copilot/prompt/prompts.ts @@ -1037,7 +1037,7 @@ Finally, please only send us the content of your continuation in Markdown Format const chat: Prompt[] = [ { name: 'Chat With AFFiNE AI', - model: 'gpt-4.1', + model: 'claude-3-7-sonnet-20250219', messages: [ { role: 'system',