feat: add qwen3.5-plus for testing and make it default

This commit is contained in:
Simon
2026-02-24 00:59:42 +08:00
parent d913dd7bd0
commit 2b99620de3
10 changed files with 130 additions and 27 deletions

View File

@@ -64,8 +64,8 @@ npm install page-agent
import { PageAgent } from 'page-agent' import { PageAgent } from 'page-agent'
const agent = new PageAgent({ const agent = new PageAgent({
model: 'deepseek-chat', model: 'qwen3.5-plus',
baseURL: 'https://api.deepseek.com', baseURL: 'https://dashscope.aliyuncs.com/compatible-mode/v1',
apiKey: 'YOUR_API_KEY', apiKey: 'YOUR_API_KEY',
language: 'en-US', language: 'en-US',
}) })

View File

@@ -64,8 +64,8 @@ npm install page-agent
import { PageAgent } from 'page-agent' import { PageAgent } from 'page-agent'
const agent = new PageAgent({ const agent = new PageAgent({
model: 'deepseek-chat', model: 'qwen3.5-plus',
baseURL: 'https://api.deepseek.com', baseURL: 'https://dashscope.aliyuncs.com/compatible-mode/v1',
apiKey: 'YOUR_API_KEY', apiKey: 'YOUR_API_KEY',
language: 'zh-CN', language: 'zh-CN',
}) })

38
docs/privacy.md Normal file
View File

@@ -0,0 +1,38 @@
# Privacy
**Last updated:** February 2026
"We" in this document refers to the maintainers of the open-source Page Agent project (https://github.com/alibaba/page-agent). This policy covers only the Page Agent software itself — **not** any third-party product or service built with it. If you are using a product that integrates Page Agent, please refer to that product's own privacy policy.
## No Backend, No Data Collection
Page Agent (PageAgent.js and PageAgent Extension) is a **client-side only** tool. The product itself does **not** include any backend service. We do **not** collect or transmit any user data, and do **not** have access to your browsing activity, page content, or task instructions.
All data transmission occurs **only** between your browser and the LLM provider you configure. You are in full control of which provider receives your data.
## Free Testing LLM Proxies
We provide two free LLM proxy services **for technical evaluation of PageAgent.js and PageAgent Extension only**:
| Model | Proxy Target | Terms / Privacy |
| ----------------------- | -------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------- |
| Qwen (Singapore Region) | `https://dashscope-intl.aliyuncs.com/compatible-mode/v1` | [Alibaba Cloud Bailian Terms](https://terms.alicdn.com/legal-agreement/terms/common_platform_service/20230728213935489/20230728213935489.html) |
| DeepSeek | `https://api.deepseek.com` | [DeepSeek Privacy Policy](https://cdn.deepseek.com/policies/en-US/deepseek-privacy-policy.html) |
When using these proxies:
- Your task instructions and simplified page content are forwarded to the respective LLM provider
- We do **not** store your task content, page content, or visited URLs
- Minimal logging (timestamps, request metadata) may exist for abuse prevention
- The free model and service providers may change at any time without notice
- **Not recommended for production or daily use**
## Your Control
- You choose which LLM provider to use
- You may configure your own API endpoint at any time
- The project is open source and can be audited: https://github.com/alibaba/page-agent
## Contact
https://github.com/alibaba/page-agent/issues

View File

@@ -25,13 +25,17 @@ are sent to the LLM API endpoint configured in **your settings**.
**If you configure a third-party LLM provider** (e.g., OpenAI, Anthropic, or others), data is sent directly to that provider. Their privacy policies apply. **If you configure a third-party LLM provider** (e.g., OpenAI, Anthropic, or others), data is sent directly to that provider. Their privacy policies apply.
**If you use our testing endpoint**, your requests are proxied to [DeepSeek](https://deepseek.com) for AI processing. Regarding this test endpoint: **If you use our testing endpoints**, your requests are proxied to an LLM provider for AI processing. We currently offer two free testing endpoints:
- This endpoint is provided for evaluation purposes only and is not recommended for production or daily use - **Qwen**: Proxied to `https://dashscope-intl.aliyuncs.com/compatible-mode/v1` ([Alibaba Cloud Bailian](https://bailian.console.aliyun.com/)). [Bailian Terms of Service](https://terms.alicdn.com/legal-agreement/terms/common_platform_service/20230728213935489/20230728213935489.html) applies.
- **DeepSeek**: Proxied to `https://api.deepseek.com`. [DeepSeek Privacy Policy](https://cdn.deepseek.com/policies/en-US/deepseek-privacy-policy.html) applies.
Regarding these test endpoints:
- These endpoints are provided for evaluation purposes only and are not recommended for production or daily use
- The free model and their service providers may change at any time without prior notice - The free model and their service providers may change at any time without prior notice
- We do **not** store your task content, page content, or visited URLs - We do **not** store your task content, page content, or visited URLs
- Minimal logging (timestamps, request metadata, IP addresses) may be collected for abuse prevention and service stability - Minimal logging (timestamps, request metadata, IP addresses) may be collected for abuse prevention and service stability
- DeepSeek's [Privacy Policy](https://cdn.deepseek.com/policies/en-US/deepseek-privacy-policy.html) applies to their processing of your requests
## Data Storage ## Data Storage

View File

@@ -1,10 +1,10 @@
import type { LLMConfig } from '@page-agent/llms' import type { LLMConfig } from '@page-agent/llms'
// Demo LLM for testing // Demo LLM for testing
export const DEMO_MODEL = 'PAGE-AGENT-FREE-TESTING-RANDOM' export const DEMO_MODEL = 'qwen3.5-plus'
export const DEMO_BASE_URL = export const DEMO_BASE_URL =
'https://hwcxiuzfylggtcktqgij.supabase.co/functions/v1/llm-testing-proxy' 'https://hwcxiuzfylggtcktqgij.supabase.co/functions/v1/llm-testing-proxy-qwen'
export const DEMO_API_KEY = 'PAGE-AGENT-FREE-TESTING-RANDOM' export const DEMO_API_KEY = 'NA'
export const DEMO_CONFIG: LLMConfig = { export const DEMO_CONFIG: LLMConfig = {
apiKey: DEMO_API_KEY, apiKey: DEMO_API_KEY,

View File

@@ -13,9 +13,9 @@ window.PageAgent = PageAgent
console.log('🚀 page-agent.js loaded!') console.log('🚀 page-agent.js loaded!')
const DEMO_MODEL = 'PAGE-AGENT-FREE-TESTING-RANDOM' const DEMO_MODEL = 'qwen3.5-plus'
const DEMO_BASE_URL = 'https://hwcxiuzfylggtcktqgij.supabase.co/functions/v1/llm-testing-proxy' const DEMO_BASE_URL = 'https://hwcxiuzfylggtcktqgij.supabase.co/functions/v1/llm-testing-proxy-qwen'
const DEMO_API_KEY = 'PAGE-AGENT-FREE-TESTING-RANDOM' const DEMO_API_KEY = 'NA'
// in case document.x is not ready yet // in case document.x is not ready yet
setTimeout(() => { setTimeout(() => {

View File

@@ -5,7 +5,7 @@ export const CDN_DEMO_CN_URL =
'https://registry.npmmirror.com/page-agent/1.3.0/files/dist/iife/page-agent.demo.js' 'https://registry.npmmirror.com/page-agent/1.3.0/files/dist/iife/page-agent.demo.js'
// Demo LLM for website testing // Demo LLM for website testing
export const DEMO_MODEL = 'PAGE-AGENT-FREE-TESTING-RANDOM' export const DEMO_MODEL = 'qwen3.5-plus'
export const DEMO_BASE_URL = export const DEMO_BASE_URL =
'https://hwcxiuzfylggtcktqgij.supabase.co/functions/v1/llm-testing-proxy' 'https://hwcxiuzfylggtcktqgij.supabase.co/functions/v1/llm-testing-proxy-qwen'
export const DEMO_API_KEY = 'PAGE-AGENT-FREE-TESTING-RANDOM' export const DEMO_API_KEY = 'NA'

View File

@@ -140,7 +140,7 @@ export default function Models() {
const pageAgent = new PageAgent({ const pageAgent = new PageAgent({
baseURL: 'https://dashscope.aliyuncs.com/compatible-mode/v1', baseURL: 'https://dashscope.aliyuncs.com/compatible-mode/v1',
apiKey: 'your-api-key', apiKey: 'your-api-key',
model: 'qwen-plus' model: 'qwen3.5-plus'
}); });
// Self-hosted models (e.g., Ollama) // Self-hosted models (e.g., Ollama)
@@ -150,16 +150,77 @@ const pageAgent = new PageAgent({
model: 'qwen3:14b' model: 'qwen3:14b'
}); });
// Free testing endpoint
// Note: Rate-limited, content-filtered, subject to change. Replace with your own.
// Note: Uses official DeepSeek-chat (3.2). See DeepSeek website for terms & privacy.
const DEMO_MODEL = 'PAGE-AGENT-FREE-TESTING-RANDOM'
const DEMO_BASE_URL = 'https://hwcxiuzfylggtcktqgij.supabase.co/functions/v1/llm-testing-proxy'
const DEMO_API_KEY = 'PAGE-AGENT-FREE-TESTING-RANDOM'
`} `}
/> />
</section> </section>
{/* Free Testing API Section */}
<section className="mb-10">
<h2 className="text-2xl font-semibold mb-4">
{isZh ? '免费测试接口' : 'Free Testing API'}
</h2>
<p className="text-sm text-gray-600 dark:text-gray-400 mb-4">
{isZh
? '以下免费测试接口仅供 PageAgent.js 和 PageAgent Extension 的技术评估使用。有速率限制,可能随时变更。请勿用于生产环境。'
: 'The following free testing endpoints are provided for technical evaluation of PageAgent.js and PageAgent Extension only. Rate-limited, subject to change. Not for production use.'}
</p>
<div className="space-y-4">
<div className="bg-gray-50 dark:bg-gray-900/30 rounded-lg p-5 border border-gray-200 dark:border-gray-800">
<h3 className="font-semibold text-gray-900 dark:text-gray-100 mb-2">Qwen (Default)</h3>
<p className="text-xs text-gray-500 dark:text-gray-400 mb-3">
{isZh ? '转发至阿里云百炼平台' : 'Proxied to'}{' '}
<code className="text-xs bg-gray-200 dark:bg-gray-700 px-1 rounded">
https://dashscope-intl.aliyuncs.com/compatible-mode/v1
</code>
{' · '}
<a
href="https://terms.alicdn.com/legal-agreement/terms/common_platform_service/20230728213935489/20230728213935489.html"
target="_blank"
rel="noopener noreferrer"
className="text-blue-500 hover:underline"
>
{isZh ? '百炼服务协议' : 'Bailian Terms'}
</a>
</p>
<CodeEditor
code={`LLM_BASE_URL="https://hwcxiuzfylggtcktqgij.supabase.co/functions/v1/llm-testing-proxy-qwen"
LLM_MODEL_NAME="qwen3.5-plus"
LLM_API_KEY="NA"`}
/>
</div>
<div className="bg-gray-50 dark:bg-gray-900/30 rounded-lg p-5 border border-gray-200 dark:border-gray-800">
<h3 className="font-semibold text-gray-900 dark:text-gray-100 mb-2">DeepSeek</h3>
<p className="text-xs text-gray-500 dark:text-gray-400 mb-3">
{isZh ? '转发至 DeepSeek 官方 API' : 'Proxied to'}{' '}
<code className="text-xs bg-gray-200 dark:bg-gray-700 px-1 rounded">
https://api.deepseek.com
</code>
{' · '}
<a
href="https://cdn.deepseek.com/policies/en-US/deepseek-privacy-policy.html"
target="_blank"
rel="noopener noreferrer"
className="text-blue-500 hover:underline"
>
{isZh ? 'DeepSeek 隐私政策' : 'DeepSeek Privacy Policy'}
</a>
</p>
<CodeEditor
code={`LLM_BASE_URL="https://hwcxiuzfylggtcktqgij.supabase.co/functions/v1/llm-testing-proxy"
LLM_MODEL_NAME="PAGE-AGENT-FREE-TESTING-RANDOM"
LLM_API_KEY="PAGE-AGENT-FREE-TESTING-RANDOM"`}
/>
</div>
</div>
<div className="mt-4 p-4 bg-amber-50 dark:bg-amber-950/20 rounded-lg border border-amber-200 dark:border-amber-800">
<p className="text-xs text-gray-600 dark:text-gray-400">
{isZh
? '⚠️ 测试接口仅供技术评估。免费模型及其提供商可能随时变更,恕不另行通知。请参阅各 LLM 提供商的隐私政策了解数据处理方式。'
: "⚠️ Testing endpoints are for technical evaluation only. The free model and service providers may change at any time without notice. Refer to each LLM provider's privacy policy for data handling details."}
</p>
</div>
</section>
{/* Ollama Section */} {/* Ollama Section */}
<section className="mb-10"> <section className="mb-10">
<h2 className="text-2xl font-semibold mb-4">Ollama</h2> <h2 className="text-2xl font-semibold mb-4">Ollama</h2>

View File

@@ -71,8 +71,8 @@ import { PageAgent } from 'page-agent'`}
</h3> </h3>
<CodeEditor <CodeEditor
code={`const agent = new PageAgent({ code={`const agent = new PageAgent({
model: 'deepseek-chat', model: 'qwen3.5-plus',
baseURL: 'https://api.deepseek.com', baseURL: 'https://dashscope.aliyuncs.com/compatible-mode/v1',
apiKey: 'YOUR_API_KEY', apiKey: 'YOUR_API_KEY',
language: '${isZh ? 'zh-CN' : 'en-US'}' language: '${isZh ? 'zh-CN' : 'en-US'}'
})`} })`}

View File

@@ -290,8 +290,8 @@ export default function HeroSection() {
<li className="flex items-start text-left"> <li className="flex items-start text-left">
<span className="w-1.5 h-1.5 bg-yellow-500 rounded-full mt-2 mr-2 shrink-0 "></span> <span className="w-1.5 h-1.5 bg-yellow-500 rounded-full mt-2 mr-2 shrink-0 "></span>
{isZh {isZh
? '使用 DeepSeek 模型,参考 DeepSeek 用户协议和隐私政策' ? '使用 Qwen 模型(阿里云百炼),参考阿里云隐私政策'
: 'This free demo uses DeepSeek API (see their terms and privacy policy)'} : 'This free demo uses Qwen via Alibaba Cloud Bailian (see their privacy policy)'}
</li> </li>
<li className="flex items-start text-left"> <li className="flex items-start text-left">
<span className="w-1.5 h-1.5 bg-yellow-500 rounded-full mt-2 mr-2 shrink-0 "></span> <span className="w-1.5 h-1.5 bg-yellow-500 rounded-full mt-2 mr-2 shrink-0 "></span>