Clewd修改版 功能说明&更新日志
原版提供功能请详细查看注释,本说明仅限修改版的修改与更新内容,教程见官网Claude2食用方法
- 目录
FAQ
- 相比原版Clewd和其他类似反代,Clewd修改版在发送内容上有什么区别?
- Clewd修改版独有的与发送内容相关的功能为
padtxt
、xmlPlot
和FullColon
,其中padtxt
类似功能在部分其他反代上可能已经支持 padtxt
:使用重复无效数据在开始处填充到指定tokens,用于防止黄标过滤xmlPlot
:优化和增加自定义发送格式FullColon
:防止A社将发送内容中的\n\nHuman:
和\n\nAssistant:
转换为\n\nH:
和\n\nA:
- Clewd修改版独有的与发送内容相关的功能为
padtxt
为什么能防止黄标?- 仅限个人推测,A社的内容检测AI可能存在类似slack的窗口长度限制(以前大约12000现在大约6000),超过一定tokens或一定字节数则API无法收到任何输入,从而输出毫不相关的内容,padtxt利用了这一点,用对模型影响最小的无效重复数据填充至目标值,从而避免黄标,对破限也有一定作用
-
xmlPlot
为什么要进行role合并?-
Claude模型传入格式与GPT模型的json不同,是单纯的字符串格式,而区分用户和AI内容标志为前缀的
\n\nHuman:
和\n\nAssistant:
,例如:
意味着AI认为你输入了
Hello
,它回应了Hi
,但是如果出现以下连续role的情况:
AI会对role前缀同时也是A社默认停止序列的
\n\nHuman:
和\n\nAssistant:
顺序理解产生影响,可能使AI在开始就输出role前缀导致空消息,或者其他内容错误 - 同时Claude与GPT不同,只有Human和Assistant两种role,而非GPT的user、assistant和system三种,因此只能将system与user合并到Human,避免出现要求被写在Assistant内,导致AI认为自己提出了要求的情况
-
-
FullColon
为什么要防止\n\nHuman:
和\n\nAssistant:
被转换为\n\nH:
和\n\nA:
?-
首先说明A社为什么要将发送内容中的
\n\nHuman:
和\n\nAssistant:
转换为\n\nH:
和\n\nA:
,这是由于一个完整的Claude API接收格式大致如下
接受此格式后AI便会接着写出回应,而对于官网或者slack等等来说,所有的前缀
\n\nHuman:
和\n\nAssistant:
都将自动附加,如果用户发送内容内包含\n\nHuman:
和\n\nAssistant:
可能导致格式混乱,所以A社进行了替换,使其从真正的对话变为像H:A:对话示例的形式 -
上文中已经提到区分用户和AI内容标志为前缀的
\n\nHuman:
和\n\nAssistant:
,如果被转换为\n\nH:
和\n\nA:
,则模型实际输入的内容如下:
当然,部分其他反代也会做去掉首尾的Human和Assistant的功能,但这不能解决HA转换问题,转换后大致如下:
意味着AI会认为你输入了所有的H:和A:,而与它自身无关,所以它在输出时只是模仿你提供的H:和A:格式。这就是为什么没有FullColon时,AI会输出超长的HA对话。FullColon避免了这一点,使得发送格式理论上等同Claude API(转换为tokens后与API的前缀无区别)
-
xmlPlot
具体功能说明以下功能按顺序执行,历史版本
4.8(6)更新:更换历史遗留的默认xml处理,优化逻辑
4.7(1)更新:正则改为分三次执行,用order属性区分
4.7(0)更新:
<|System Role|>
可单独使system role合并为一个\n\nSystem:
;<card>
或<|card|>
不再作为启动标签4.6(12)更新:越狱倒置功能去除,card与example补全功能去除,功能触发标签统一为
<|说明|>
格式,所有符合格式标签除<|curtail|>
与<|padtxt|>
外使用后替换为\n\n
(替换包含两端空白符)- 一次正则替换
- 格式
<regex order=1>"正则表达式" : "替换内容"<\/regex>
,例如<regex order=1>"/a/gm" : "b"<\/regex>
意味将正则表达式/a/gm找到的内容替换为b
- 格式
- 一次role合并
- 将连续的system和user role合并为一个Human,连续的assistant role合并为一个Assistant(OpenAI格式转Claude格式)
任意位置使用
<|Merge Disable|>
,可关闭此功能,关闭后不做任何合并任意位置使用
<|Merge System Disable|>
,可使system role提示转换为无前缀的一般提示任意位置使用
<|Merge Human Disable|>
,可单独使user role不参与合并,此时允许存在连续Human:出现任意位置使用
<|Merge Assistant Disable|>
,可单独使assistant role不参与合并,此时允许存在连续Assistant:出现
- 将连续的system和user role合并为一个Human,连续的assistant role合并为一个Assistant(OpenAI格式转Claude格式)
- 自由深度插入
- 格式
<@(\d+)>.*?</@\1>
,例如<@1>Hello world</@1>
意味着将Hello world插入深度1(最后的Assistant之下),如果@2
就是插入深度2(倒数第二个Human之下),依次类推。注意这里的深度与酒馆的深度不同,是经过role合并后的深度
- 格式
- 二次正则替换(默认)
- 格式
<regex>"正则表达式" : "替换内容"<\/regex>
或者<regex order=2>"正则表达式" : "替换内容"<\/regex>
,除顺序外与一次无异
- 格式
- 二次role合并
- 与role合并功能无异,以防以上处理后出现遗漏
- 三次正则替换
- 格式
<regex order=3>"正则表达式" : "替换内容"<\/regex>
,除顺序外与一次无异
- 格式
- Plain Prompt
\n\nPlainPrompt:
或\n\nHuman: *PlainPrompt:
后的所有内容将以prompt形式而非附加txt形式发送(不保留\n\nPlainPrompt:
),如果最后一句包含<|Plain Prompt Enable|>
(不会保留在发送数据中)则替换最后的\n\nHuman:
为\n\nPlainPrompt:
- 功能标签
<|curtail|>
:将与标签相邻的空白符全部合并为一个\n(一般用于消除两个提示间的空行)<|space|>
:将与标签相邻的空白符全部合并为一个空格<|join|>
:将与标签相邻的空白符全部去除<|padtxt|>
:将padtxt的插入位置设置为<|padtxt|>标签所在位置,并且可以使api模式开启padtxt<|padtxt off|>
:临时关闭padtxt功能<|padtxt 数字t|>
:在<|padtxt 数字t|>标签所在位插入指定数字tokens的padtxt,不受<|padtxt|>
与<|padtxt off|>
影响<|noAssistant|>
、<|reverseHA|>
:见 6. API模式功能说明
- 一次正则替换
- API模式功能说明(版本4.6(12))
能为API提供xmlPlot与FullColon格式预处理以及设置api_rProxy镜像来绕过API地域限制,酒馆ProxyPassword换成apikey开启API模式
xmlPlot
提供格式预处理,功能与使用cookie类似,API模式有以下独有功能:- 智能首尾:相比酒馆原版逻辑,
xmlPlot
会自动判断role顺序来添加首尾的\n\nHuman:
和\n\nAssistant:
,使OAI格式也能做到claude格式下的AI预填充Assistant Prefill
,同时claude2.1下第一个role为user以外时自动启用系统提示System Prompt
<|noAssistant|>
提示中任意位置包含该标签即可开启,去除最后的空\n\nAssistant:
,结合FullColon并让最后的role为Human可以做到Human示例仿写<|reverseHA|>
提示中任意位置包含该标签即可开启,反转所有Assistant
和Human
,结合FullColon可以做到role反转破限克劳德:成为人类<|padtxt|>
包含该标签时才会在api启用padtxt,并用占位符替换<|padtxt|>
标签所在位置
- 智能首尾:相比酒馆原版逻辑,
FullColon
相比使用cookie,仅在第一个role不为Human或最后的role不为Assistant时生效,用于解除role顺序的限制
- Clewd API模式与酒馆的简要异同(版本4.6(12))
注意:酒馆与Clewd最终发送内容均为OpenAI初始格式转换而来,这里仅说明Clewd与酒馆在 OAI to Claude 转换上的差异
- 酒馆逻辑
- 非2.1时,提示词首位加上
\n\nHuman:
和\n\nAssistant:
(开启Exclude Assistant suffix时不添加\n\nAssistant:
,但必须手动添加最后的\n\nAssistant:
保证最后的role为Assistant),user转换为\n\nHuman:
前缀,assistant转化为\n\nAssistant:
前缀,示例对话中为\n\nH:
和\n\nA:
,system转换为\n\n
(无前缀) - 2.1时,相比非2.1会使用系统提示,规则为第一个user或assistant之前的所有system转换为
\n\n
并用作系统提示,剩下的部分按非2.1格式处理
- 非2.1时,提示词首位加上
- Clewd逻辑(默认开启xmlPlot和FullColon,部分功能可用特殊标签开启或关闭)
- 非2.1时,连续的system和user合并为一个
\n\nHuman:
前缀,连续的assistant合并为一个\n\nAssistant:
前缀,示例对话中为\n\nH:
和\n\nA:
(示例对话无合并)最后添加首位的\n\nHuman:
,并判断最后一个role是否为Assistant(\n\nHuman:
和\n\nAssistant:
谁在最后),如果不是则末尾添加\n\nAssistant:
(相当于自动判断的Exclude Assistant suffix功能) - 2.1时,相比非2.1会使用系统提示,规则为第一个user或assistant之前的所有system转换为
\n\n
并用作系统提示(该部分同酒馆)但剩下的部分按非2.1格式处理时,不会为首位添加\n\nHuman:
- 非2.1时,连续的system和user合并为一个
- Clewd解决的问题
- role合并等xmlPlot预处理功能(同cookie,详见 3.
xmlPlot
为什么要进行role合并 与 5.xmlPlot
具体功能说明) - Exclude Assistant suffix的自动判断
- FullColon绕过role顺序限制(详见 6.API模式功能说明)
- 使用系统提示时,可以避免酒馆自动添加首位
\n\nHuman:
来的空Human:问题
- role合并等xmlPlot预处理功能(同cookie,详见 3.
- 酒馆逻辑
Clewd 4.8修改版
- Clewd 4.8(10) added:
- 增加标签
<|\xxxx|>
,可以在发送时替换为去转义字符,例如<|\u0023|>
代表# - 增加标签
<|stopSet []|>
,可以添加停止字符串,例如<|stopSet ["xyz","XYZ"]|>
,则可添加xyz与XYZ作为stop - 增加标签
<|stopRevoke []|>
,可以去除停止字符串,例如<|stopRevoke ["\n\nHuman:","\n\nAssistant:"]|>
,则可去除默认stop - 增加log.txt显示参数
- 增加通过反代url更换api_rProxy,方法为在clewd反代地址后添加
?api_rProxy=反代地址$
,例如http://127.0.0.1:8444/v1?api_rProxy=https://api.anthropic.com/v1$
- 增加在config中单独保留删除cookie的功能
- 解决oaiKey模式中,原生模型只能--force强制使用问题,并修复部分反代cf报错问题
- 增加标签
- Clewd 4.8(9) :
- 增加oai格式第三方反代支持,反代地址写入config.js中api_rProxy内,反代密钥格式为
oaiKey: 反代密钥
- 增加融合信息模式,使用<|Fusion Mode|>标签开启,将信息融合到单一user role中,用于少数提示词预处理存在问题的反代或其他测试(仅限 msg_api与oai_api)
- 增加将cookie默认模型写入cookie开头的@前作为标记功能
- passparams与根据模型切换cookie功能解耦,现在需要强制发送模型时,需要在末尾加上--force,例如claude-2.1 --force,写入custom补全源
- 增加oai格式第三方反代支持,反代地址写入config.js中api_rProxy内,反代密钥格式为
- Clewd 4.8(8) fixed: 修复模型显示错误,增加更多账号状态识别
关于更换cookie时的提示:
- 红字提示(删除提示)
Overlap!:在更换cookie过程中,发现同一账号的重复cookie,删除该cookie
Unverified!:未通过验证(短信或老号)的账号,删除该cookie
Invalid/Null!:无效或失效cookie(过期或者登出等原因导致),删除该cookie(原Expired!)
Banned/Disabled!:账号被封禁,删除该cookie - 紫字提示(跳过提示)
Restricted!:账号黄标警告中,
SkipRestricted
为true时跳过该cookie
Exceeded limit!:账号到达对话上限,跳过该cookie - 白字提示
index:表示当前cookie在数组中的位置
length:表示cookie数组中的cookie个数(仅限Cookiecounter
为-1时)
progress:表示cookie数组的清理进度(仅限Cookiecounter
为-1时)
- 红字提示(删除提示)
- Clewd 4.8(7) fixed: 优化messages api提示词处理逻辑,增加
SkipRestricted
选择,可自行选择黄标是否跳过 - Clewd 4.8(6) fixed: 修复错误失效判断问题,优化
xmlPlot
逻辑 - Clewd 4.8(5) added: 优化messages接口处理逻辑,增加
<|messagesLog|>
标签用于在clewd控制台输出messages接口发送原始内容,增加claude-default
模型选项用于cookie默认模型;增加claude-3自动换用msg_api,无须<|messagesAPI|>
标签,<|completeAPI|>
用于第三方api手动换回传统接口 - Clewd 4.8(4) added: 增加messages API接口调用,使用方法为在提示中包含
<|messagesAPI|>
标签;修复claude-3模型的系统提示无效问题 - Clewd 4.8(3) added: 增加padtxt到达硬下限后的占位符设置(
placeholder_byte
,原padtxt_placeholder
改为placeholder_token
),可以通过将该占位符设置为同token数但字节数更大的占位符来减少padtxt占用tokens数,其中padtxt第一个值代表超过上限后的tokens数,第二个代超过上限前最小补充tokens数,第三个代表padxt上限(兼容之前的设置);增加top_k,top_p与响应上限发送(cookie需要打开PassParams
),允许通过降低响应上限来增加发送上下文长度(免费cookie上下文长度设置为25000 - padtxt第一个数
,响应长度 1 ~ 4096 自由设置),top_k需要选择custom补全源,在Additional Parameters
中按说明设置。 - Clewd 4.8(2) added: 取消已失效的预先对话次数上限检测,增加stop_sequences发送(需
PassParams
) - Clewd 4.8(1) fixed: 取消更换cookie提示,修复429无法更换bug
- Clewd 4.8(0) fixed: 由于A社关闭老接口,更改官网接口为新接口,限制免费账号prompt长度25k(pro为190k)
Clewd 4.7修改版
- Clewd 4.7(4) added:增加claude-2.1-surf新模型的适配;增加pro账号的自动判断选择模型,无需打开
PassParams
(如果需要pro控制台没有的隐藏模型,可以打开PassParams
尝试其他模型,关闭时自动其他模型会自动转到默认模型);增加第三方反代api的多key随机使用模式,逗号分隔,格式3rdKey: key1,key2,key3...
- Clewd 4.7(3) fixed:修复xmlPlot的正则逻辑,避免极少数情况部分正则失效。添加生效正则写入log.txt,失效正则通过clewd控制台报错
- Clewd 4.7(2) fixed:1. 非429报错时不更换cookie,避免频繁更换导致等待时间过长。2. 因历史对话过多导致超并限制报错的bug。3. 暂无cookie使用时依旧保持切换cookie状态的bug
- Clewd 4.7(1) added: 当酒馆中模型选择"claude-2.0"或"claude-2.1"时,会自动轮换到对应模型cookie,选择其他任意模型则默认不更换,酒馆换模型后的第一次请求clewd可能会提示轮询中(Polling)报错,为正常现象;增加第三方反代api接入:第三方反代地址填入api_rProxy,酒馆Proxy Password填入格式
3rdKey: 第三方反代api密码
;xmlPlot
功能更改,见xmlPlot
功能说明 - Clewd 4.7(0) added: 增加pro账号的模型选择,其中部分不支持模型将被自动转换为相近模型,与原版相比需要打开
PassParams
使用,注意打开后一般账号只能使用claude-2.1,否则会提示invalid model模型错误,多次模型错误可能引起封号;xmlPlot
功能更改,见xmlPlot
功能说明
Clewd 4.6修改版
- Clewd 4.6(13) added: api模式增加多Key随机使用模式,只需要将多个Key写入Proxy Password;添加非镜像时cookie切换时间间隔,使每次切换不少于15s
- Clewd 4.6(12) fixed: 优化xmlPlot以及api提示词处理逻辑;在无可用cookie时启用apiKey-Only模式
- Clewd 4.6(11) added: 可以为api提供格式预处理,酒馆Proxy Password换成api key即可切换为api模式,此时提示将变为
模型名 [api]
- Clewd 4.6(10) fixed: 更换更精确的tokens计数方法,增加
Cookiecounter
清理Cookie方式,-2为仅保留原版claude-2模型,-201为仅保留claude-2.0-magenta模型 - Clewd 4.6(9) added: 增加模型检测
- Clewd 4.6(7) added: 新增
<regex>
,详细用法见上文xmlPlot说明 - Clewd 4.6(5) added: 增加ProxyPassword项用于反代密码设置,在config.js中填写后或设置ProxyPassword环境变量生效,云端需用https
-
基于原版4.6修改,原版修复prompt处理bug和增加ARMv7支持
- 新增
CookieIndex
,可以决定首次登录的Cookie,1为第一个、2为第二个依次类推;默认值0则与之前相同,为随机登录(更换Cookie均为顺序更换) - 自动更换cookie时消除同一账号的重复cookie
- 登录时预先检查是否到达对话次数上限
- 新增
Clewd 4.5修改版
-
基于原版4.5修改,
Superfetch
流式传输已可以正常使用,新增/更改以下功能VPNfree
取消,改为rProxy
,可在config.js
内自定义镜像网址- fixed: 减少原版流式传输可能出现非法字符�的概率
- 新增
Cookiecounter
选项,0为报错更换Cookie,正数为依据响应次数更换Cookie(报错依旧更换),-1为自动轮询清除无效Cookie,可在config.js
内自定义 xmlPlot
新增功能</hidden>
触发(启用xmlPlot世界书即可,空标签会被自动删除),功能说明:- 将Assistant:下被<hidden></hidden>标签包裹的内容移入上一个Human:中,以保证不会出现对Assistant的要求写在Assistant的回复中的情况
- 将末尾为
/Assistant: *.$/
的越狱(例如Assistant: ❤
)移入最后的Human:之前 - 注意 如果越狱末尾为
/Assistant: *.$/
,则越狱开头必须设置为Human:
,否则将出现严重错误
\n\nPrevHuman:
触发,功能说明:- 将PrevHuman:后的内容移入上一个Human:的末尾
xmlPlot2
设置xmlPlot为2启用\n\nPrevHuman:
触发,将最后的Human:以prompt形式而非附加txt形式发送
Clewd 3.8.5修改版
-
基于原版3.8.5修改,新增/更改以下功能
VPNfree
默认开启并不再单独设置开关,在Superfetch
关闭时为开启,如接受无流式可在config.js
开启Superfetch
padtxt
现在可更改tokens阈值(约数)- 新增 faststart.bat/sh 快速启动(仅限非第一次启动)
Clewd 3.4修改版
-
基于原版3.4修改,新增/更改以下功能
- 基本上是原作者修复了3.3的原版bug,但由于大部分修改版3.3修过了,所以区别不大,原版取消了有bug的自定义发送格式,并据说流式传输速度更快(个人感知不明显)
Clewd 3.3修改版
-
基于原版3.3修改,大更改,必须按照教程重新配置,新增/更改以下功能
- 更换为OpenAI接收格式,支持RisuAI流式传输,本地接入RisuAI.xyz需要打开
localtunnel
并使用tunnel URL CookieArray
,报错时自动更换Cookie,并在触发read-only时自动删除该Cookie,请在clewd关闭后修改config.js
中CookieArray
项padtxt
,默认为半随机字符串,可以在config.js
中padtxt_placeholder
项自定义可覆盖默认设置- 自定义发送格式,原版功能,与xmlPlot冲突,
需要自定义者请关闭xmlPlot后自行修改,有bug,请不要使用该原版功能,并改动最后5项"Settings": {}
之后的5项
- 更换为OpenAI接收格式,支持RisuAI流式传输,本地接入RisuAI.xyz需要打开
Clewd 2.7修改版
-
基于原版2.7修改,新增/更改以下功能
VPNfree
开启后将使用国内镜像站 claudeai.ai 代替 claude.ai,不再需要代理连接,速度较慢xmlPlot
,增加判断,即使有<card>
,如果上下文中没有</plot>
,则不会增加<plot>
标签;新增<extra_prompt>
,使用方法为加入sd prompt等额外提示的开头,可以自动顶替越狱(仅限自用破限系列),避免sd prompt和越狱冲突;新增<illustration>
,自动将任何位置的插图DLC转移到越狱中padtxt
,更改为半随机字符串(随机+重复),如需自定义内容,则改为var placeholder = '';
,并在''
中填入你的内容localtunnel
,现默认关闭,PC端有接入外部网站需求者,自行设置为true
开启
Clewd 2.6修改版
-
基于原版2.6修改,相比2.4降低了流式传输的卡顿,新增/更改以下功能
ReplaceSamples
(原AdaptClaude
)原版已更改为2.4修改版类似逻辑,更改发送数据中所有的H:为Human:,A:为Assistant:,由于FullColon
开启时不会出现HA,默认关闭,如需要,可以设置为true
const BufferSize = 8;
,由8改为1,进一步降低流式卡顿并减少传输错误,虽然原版说明8以下会造成,原版写错了,是ReplaceSamples
出错,但理论上目前该功能仅用于发送,真实性存疑PreventImperson
(原版防HA,由于FullColon
开启时不会出现HA,默认关闭)需要开启PreventImperson
者可以考虑改回8xmlPlot
,修正群组bug,修正特殊情况没有<card>
也会触发xmlPlot
Clewd 2.4修改版
-
基于原版2.4修改,相比1.6版或原版,新增/更改以下功能(如需自行设置可在
clewd.js
中更改const Settings = {};
部分)FullColon
,7.30新增修改版功能,根源性防止H:/A:,疑似原理为防止Human与Assistant被暗改为H与A,默认开启,不建议关闭padtxt
,修改版功能,自动补全tokens超过10000,默认开启,如不需要,可以设置为false
RemoveFirstH
,7.27新增,修改版功能,去除最开始的Human或H,默认开启,如不需要,可以设置为false
xmlPlot
,已修正群组bug,修改版功能,增加标识符:剧情开始<plot>
、示例对话开始与结束<example>
</example>
、人物设定结束指示</card>
,默认开启,如不需要,可以设置为false
,使用自用V2.7以上破限必须开启,其他xml格式破限根据情况使用(仅在提示包含<card>
时触发)localtunnel
,修改版功能,提供外网访问url(安卓版已去除)PromptExperiment
,原版txt发送,修改版改为更接近在官网复制粘贴的形式而不是随机文件名,默认开启, 不建议关闭PreventImperson
,原版“H:”截断,默认开启,如不需要,可以设置为false
AdaptClaude
,7.23修正,根据clewd作者与a社的说明,应使用Human/Assistant唯二对话者格式,H/A仅在示例对话中使用,更改此功能为:更改发送格式中示例对话后的H与System为Human,A为Assistant,默认开启,如不需要,可以设置为false
DeleteChats
,7.23修正,修复了功能无法使用的原版的bug,原版功能,每次登录清空所有对话,对话结束删除当前对话,默认关闭,如需要,可以设置为true
RetryRegenerate
,原版功能,使用自带的重新生成,默认关闭,如需要,可以设置为true
Clewd 1.6修改版
Clewd 1.6修改版 ,配合原版1.6分支使用
- 提供原版没有的txt发送与“H:”截断功能(
AntiHA
选项),稳定版,流式传输速度与“H:”截断较2.x版本更好(目前2.4版本以上已较为稳定,可以尝试使用)