本教程使用的是 clew修改版,修改版支持多账号轮询
环境变量(括号内代表默认值)
-
Superfetch (true)
-
描述:是否启用破限跳过错误
-
true:启用
-
false: 不启用
-
-
-
PreventImperson (false)
-
描述:是否自动切断AI回复中如 “Human:”、“Assistant:”这样冒充人类自嗨的内容
-
true:切断
-
false:保留这些有趣的内容
-
-
-
PromptExperiments (true)
-
描述:试验性功能,采取新策略优化系统提示词注入
-
true:开启
-
false:关闭
-
-
-
RetryRegenerate (false)
-
描述:试验性功能,重试时使用官方的重试机制生成新的响应,有利保持对话的一致性
-
true:开启
-
false:每次重试都开启新对话
-
-
-
SystemExperiments (true),仅 RenewAlways 为 false 生效,true每次都是新对话因此无效
-
描述:试验性功能,交替执行 完整模式 和 精简模式
-
true:交替,功能更全面完整
-
false: 不交替,适合对稳定性和一致性有要求的场合
-
-
-
RenewAlways (true)
-
描述:用户每次请求是否都创建一个全新的对话,建议关闭
-
true:开启,不保留对话历史,每次都开启新对话
-
false:关闭,保留对话历史但注意 token 消耗会更快
-
-
-
SendImageDepth (3)
-
描述:控制图像在对话中的处理方式,系统会在指定深度范围内搜索图像,超出范围的图像将被忽略
-
设置为 0 意为完全不向 AI 发送图像
-
设置为 3 意为仅发送最近的3条消息中的图像
-
-
StripAssistant (false)
-
描述:移除AI回复中代表身份的 “Assistant:” 前缀
-
true:移除,使对话显得更简洁自然,减少人工标记符
-
false:不移除,可以显式地标明哪些信息是由助手提供的,对于区分对话双方角色有用
-
-
-
StripHuman (false)
-
描述:移除用户消息中代表身份的 “Human:” 前缀
-
true:移除,简化对话显示,使之更加流畅和直接
-
false:不移除,明确识别对话中哪些信息是由用户提供
-
-
-
AllSamples (false),与 NoSamples 互斥
-
描述:是否简化实际对话的Human和Assistant,示例
-
H: 今天天气怎么样?
-
A: 今天阳光明媚,天气很好。
-
true:简化,适合开发、测试
-
false:不简化
-
-
-
NoSamples (false),与 AllSamples 互斥
-
描述:是否把对话示例的H和A恢复展示,示例
-
Human: 今天天气怎么样?
-
Assistant: 今天阳光明媚,天气很好。
-
true:恢复
-
false:不恢复
-
-
-
LogMessages (true)
-
描述:是否将所有对话包括提示词都记录到日志
-
true:记录,注意这可能会占用大量空间
-
false:不记录,利于保护隐私
-
-
-
ClearFlags (false)
-
描述:清除系统警告消息
-
true:开启,但注意效果存疑(sanke-oil)
-
false:关闭
-
-
-
PassParams (true)
-
描述:是否将前端设置的温度参数传递给系统
-
注意:Claude只接受 <=1.0 和 >= 0.1 的温度值,低温回复更精准,高温回复更随机
-
true:开启,可能导致账号封禁
-
false:关闭
-
-
-
PreserveChats (false)
-
描述:是否锁定聊天记录
-
true:锁定,可以防止旧聊天记录被误删除
-
false:不锁定
-
-
配置建议
下面是官方仓库给的配置建议
- 保守策略
PreventImperson: true
PromptExperiments: true
RenewAlways: true
PreserveChats: true
- 激进策略
PreventImperson: true
PromptExperiments: false
SystemExperiments: true
RenewAlways: false
RetryRegenerate: true
AllSamples: true
安装nvm
博客发布时 nvm 最新版本v0.40.1
,可前往nvm官方网站查看最新版本:访问地址
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.40.1/install.sh | bash
查看安装版本,安装成功会返回版本号如0.40.1
,如果没能查到,可以重新登陆ssh后尝试查询
node -v
安装node
博客发布时 node 最新版本v23.3.0
,可前往nodejs 官方网站查看最新版本:访问地址
nvm install node 23.3.0
查看版本,确保返回 v20.4.0
以上的版本
node -v
安装clewd
git clone https://github.com/teralomaniac/clewd
cd clewd
npm install
配置文件
首次运行 clewd.js 会生成配置文件 config.js
node clewd.js
编辑 config.js
,配置了 CookieArray 后 Cookie 参数就不再生效,此时可留空
module.exports = {
"Cookie": "sessionKey=sk-ant-sid01-******AA",
"CookieArray": [
"sessionKey=sk-ant-sid01-******AA",
"sessionKey=sk-ant-sid01-******AA",
"sessionKey=sk-ant-sid01-******AA",
],
"WastedCookie": [],
"unknownModels": [],
"Cookiecounter": 3,
"CookieIndex": 0,
"ProxyPassword": "abcdefg",
"Ip": "127.0.0.1",
"Port": 4444,
"localtunnel": false,
"BufferSize": 7,
"SystemInterval": 3,
"rProxy": "",
"api_rProxy": "",
"placeholder_token": "",
"placeholder_byte": "",
"PromptExperimentFirst": "",
"PromptExperimentNext": "",
"PersonalityFormat": "'s personality: ",
"ScenarioFormat": "Dialogue scenario: ",
"Settings": {
"RenewAlways": true,
"RetryRegenerate": false,
"PromptExperiments": true,
"SystemExperiments": true,
"PreventImperson": true,
"AllSamples": false,
"NoSamples": false,
"StripAssistant": false,
"StripHuman": false,
"PassParams": false,
"ClearFlags": true,
"PreserveChats": true,
"LogMessages": false,
"FullColon": true,
"padtxt": "1000,1000,15000",
"xmlPlot": true,
"SkipRestricted": false,
"Artifacts": false,
"Superfetch": true
}
}
再次运行clew.js
node clewd.js
请求示例
curl --request POST \
--url http://localhost:4444/v1/chat/completions \
--header 'content-type: application/json' \
--data '{
"model": "claude-3-5-sonnet-20241022",
"messages": [
{
"role": "system",
"content": "You are a helpful assistant."
},
{
"role": "user",
"content": "Can you explain how OpenAI API works?"
}
],
"max_tokens": 1000,
"temperature": 0.7
}'