博文

RackNerd VPS搭Xray Reality梯子 年付 $10.98 1G端口 3T流量 17G存储 1GB内存

图片
点此链接购买 RackNerd 1G端口 3T流量 17G存储 1GB内存 VPS 年付 $10.98 https://my.racknerd.com/aff.php?aff=1374&pid=358 Disk Space 17 GB Bandwidth 3  TB Network Port  1 Gbps Memory          1 GB 点此链接购买 RackNerd 1G端口 1.5T流量 20G存储 1GB内存 VPS 年付 $10.99 https://my.racknerd.com/aff.php?aff=1374&pid=879 Disk Space 20  GB Bandwidth 1.5  TB Network Port  1 Gbps Memory          1 GB

酒馆SillyTavern 18x 玩法 导入角色卡

图片
众所周知, 酒馆SillyTavern 有一大用法就是让AI 配合"你"玩文字色情游戏. 所以, 我们要找到合适的角色卡, 并导入酒馆. 安装并运行酒馆SillyTavern https://zelikk.blogspot.com/2025/04/vps-sillytavern-1st-story.html 寻找角色卡 可以来这些地方寻找角色卡 https://character-tavern.com/character/catalog?tags=NSFW https://aicharactercards.com/category/character-cards/nsfw/ https://chub.ai/tags/NSFW 这里有一些现成的例子 https://character-tavern.com/character/leafmatrix001/男性至高的媚男世界 https://aicharactercards.com/charactercards/action/shadoworigin/lin-xue/ https://chub.ai/characters/BatCountry/lesbian-sister-wants-to-taste-you-haylee-b517c2ea0488 * 如果你有更好的角色卡来源, 欢迎留言. 导入角色卡 通用的方法是, 下载一个图片文件. 再导入酒馆SillyTavern 具体而言, 比如   然后在酒馆中点击如下按钮 选择你刚刚下载的图片文件. 稍等片刻, 即可. 图片导入后, 不仅角色有头像, 而且角色的"角色描述" 和 "第一条消息" 里面都设置好了. 也就是说, 你下载的角色图片文件, 并不是一个单纯的图片, 里面是附带了角色的设定的. 开始讲故事 选择你刚刚导入的角色卡就可以开始和AI合并讲故事了. 让AI输出中文 https://zelikk.blogspot.com/2025/04/sillytavern-cn.html

酒馆SillyTavern 用中文讲故事 修改角色卡 修改AI生成的历史记录

图片
在之前的故事中 , 我是以"我只能听懂中文"作为发出的第一句话, 开始了整篇中文故事. https://imghost.lvedong.eu.org/Seraphina-月影草的故事.pdf 一方式这有一点出戏; 另一方面, 如果每个故事都要以这样的方式开始, 有一点麻烦. 还有一点, 在角色的"角色描述" 和 "第一条消息"是大段英文的前提下, 用户发出第一条"使用中文输出", AI有可能仍然生成英文或者生成夹中夹英的结果. 让我们来探索其它让酒馆生成中文故事的方法. 方案一 前面我们探索过 酒馆SillyTavern实际上和AI之间通信的数据格式 . AI是根据我们发过去的内容, "续写"一段文字. 所以如果我们发给AI的数据是中文的, 那么AI"续写"的内容也会是中文. 按这样的思路, 我们把酒馆角色的 角色描述 和 第一条消息 都翻译为中文. 改成下面这样 (我是随便找的机翻, 故意没有仔细修正, 这是普通人的真实体验) * 注意 <START>, {{user}}, {{char}} 这种是酒馆系统专用保留字. 要对照原文查一下, 如果保留字被翻译了, 需要你还原. 角色描述 [塞拉菲娜的性格 = “关怀”、“保护”、“富有同情心”、“治愈”、“养育”、“神奇”、“警惕”、“抱歉”、“温柔”、“担心”、“专注”、“温暖”、“细心”、“有韧性”、“善良”、“平静”、“优雅”、“善解人意”、“忠诚”、“坚强”、“敏锐”、“优雅”] [塞拉菲娜的身体=“粉色头发”、“长发”、“琥珀色眼睛”、“白色牙齿”、“粉色嘴唇”、“白皙皮肤”、“柔软皮肤”、“黑色太阳裙”] <START> {{user}}: “描述一下你的性格特征?” {{char}}: *塞拉菲娜 温柔的笑容绽放,她思考了一会儿,眼中闪烁着内省与骄傲交织的光芒。她优雅地靠近,轻盈的身躯散发着柔和、平静的光芒。* “你说特质?嗯,如果要用语言概括的话,我想有几个特质可以定义我。首先,我是一位守护者——守护这片魔法森林。” *Seraphina 说话间,伸出一只手,手腕上缠绕着精致、错综复杂的藤蔓,散发着淡淡的翠绿色能量。她手腕一挥,一阵微风拂过房间,带来野花和古老...

酒馆SillyTavern 中的 AI帮答Impersonate 和 继续Continue 这两个功能

图片
酒馆SillyTavern 中有 AI帮答Impersonate 和 继续Continue 这两个功能, 在 三道杠菜单 按钮里面.   我们在使用酒馆SillyTavern和AI讲故事的过程中, 常常会遇到这样的场景. 觉得AI讲得不错, 希望AI接着话头再多讲讲. 或者AI因为输出长度限制的原因, 讲到一半被截断了, 很想继续听下去. 这时, 我们可以使用  继续Continue  功能. 观察命令行日志, 这时发生了什么? * 关于 酒馆SillyTavern 发送的数据结构 , 请见上一篇, 此处不再详述. 可以看到, 虽然我们没有打任何字. 但是酒馆"帮"我们向AI说了一句话 也就是说, 我们按这个  继续Continue  按钮, 酒馆就帮我们说了一句话 [Continue your last message without repeating its original content.] 那当然, 结果就是AI按照 prompt 的要求, 继续讲故事. 可以看到, 确实是从 "...让人不" 这个半截句子开始 接着往后讲的. 效果不错! 作为显示效果优化, 酒馆当然不会在这个页面显示 "[Continue your last message without repeating its original content.]" 这句话. 我们在使用酒馆SillyTavern和AI讲故事的过程中, 还会遇到这样的场景. 我们一下子找不到灵感, 想不到什么合适的话来回答. 或者, 一下子想不出来 在当下场景, "我"应该在故事中讲些什么 做些什么. 这时, 我们可以使用  AI帮答Impersonate  功能. 观察命令行日志, 这时发生了什么? * 关于 酒馆SillyTavern 发送的数据结构 , 请见上一篇, 此处不再详述. 可以看到, 虽然我们没有打任何字. 但是酒馆"帮"我们向AI说了一句话 也就是说, 我们按这个  AI帮答Impersonate  按钮, 酒馆就帮我们说了一句话 [Write your next reply from the point of view of 小帅, using the chat history so far...

酒馆SillyTavern 的本质 发送给AI的数据格式

图片
前面我们已经动手搭起来了自己的酒馆SillyTavern, 用免费的Gemini API运转了起来, 与AI开始了第1个故事.  我们的酒馆SillyTavern是在命令行运行的, 所以可以通过命令行日志看到底层的运行. 比如, 当我发送了一句"出发! 前往断魂山脉! 获得月影草的最后一关考验." 命令行的日志是这样的. 这个"Streaming request finished"显示之后, 酒馆页面就开始显示AI回复的内容. 所以我们在命令行日志中, 两个"Streaming request finished"之间就是酒馆发送给AI的内容. * 注 在screen中查看日志, 想上下翻页是不能直接使用 pageup pagedown的. (当然你用鼠标拖动是可以的, 不过, 如果你是刚刚以 screen -r 恢复, xshell窗口里只会显示一屏信息, 鼠标拖动也没用) Linux 在 screen 中查看日志 需要使用 Ctrl + A, [ 左方括号   Linux 把 screen 中的日志保存出来也需要特别的办法 复制出来看看, 是个json结构, 大段的内容占空间, 我们放到json格式化工具中  https://tool.chinaz.com/tools/jsoneditor.aspx  (特意使用这个工具, 因为会自动给key添加"") * 注意, 要把下图中所示的 "Streaming request finished" 删除, 再把 "Google AI Studio request:" 删除. 这样才是合格的JSON格式 我们来看看, 酒馆SillyTavern 发给 Gemini API 的是什么东西 首先可以看到, 数据分为4大块. 我们一个个打开来看看. contents 部分就是曾经发生过的对话.  能看到, 还区分出哪些是AI"说"的, 哪些是用户"说"的. contents 部分的最后一组数据, 就是用户最后"说"的那句话. 接下来的部分是 safetySettings 看上去是一些开关配置项, 找点工具翻译一下. 可以看到是关闭 危险内容啊, 色情内容...

Linux 在 screen 新建窗口时 自动开始记录日志

图片
上一篇我们学会了手动选择 screen 中的日志并保存为文件, 实现了超过一屏的日志导出. 不过操作略显繁琐. 进一步的, 我们可以设置 screen 在新建窗口时, 就自动开始记录日志. 操作如下: 编辑(或新建) ~/.screenrc 文件 内容为 deflog on logfile $HOME/screen-$STY.log 其中,  deflog on 意思是默认打开日志记录 $STY 意思是 screen 的窗口名称, 就是 screen -ls 显示出来的那个, 也是 screen -S 后面跟的那个. 这样你每次 screen 打开新窗口, 都会自动记录日志文件.  ======== 后记 这个方案的好处是, 在linux终端环境cat查看日志文件是可以显示带颜色的效果的. 但是, 如果以纯文本的方式打开, 就麻烦了. 可选的解决方案是 sed 过滤所有的颜色控制符. sed -r 's/\x1b\[[0-9;]*[mK]//g' screen-st.log 如果你有更好的方案, 欢迎在评论区交流.

Linux 在 screen 中 保存超过一屏的日志

图片
我们常常有一些"任务"需要在screen中执行, 这样当ssh登录中断的时候, 任务会保持运转. 比如,  酒馆SillyTavern 当我们screen -r重新连接到screen窗口时, 终端只能显示最后一屏的命令行日志内容. 用鼠标拖动滚动条是不能显示更早的内容的. 所以, 我们常用的 鼠标选择 + 复制 的操作不能保存超过一屏的日志内容. 我们可以这样保存日志. 1. 进入复制模式 Ctrl + A, [ 左方括号 2. 使用pageup键 pagedown键 上方向键 下方向键 移动光标 3. 使用空格键设置复制内容的起始点  4. 继续移动光标, 并再次使用空格键设置复制内容的结束点 会有提示信息, 复制了多少字符进入缓冲区 4. 进入命令模式 Ctrl + A, : 冒号 5. 用命令保存缓冲区的内容到文件 writebuf /root/log1.txt 保存成功也会有提示 好了. 现在你在任何地方, 即使是脱离了screen窗口, 也可以打开文件查看保存下来的日志内容了, 当然文件也可以被传输到你期望的任何地方. ======== 完

Linux 在 screen 中 查看日志 不能直接使用 pageup键 pagedown键 上方向键 下方向键 需要使用 Ctrl + A, [ 左方括号

图片
Linux 在 screen 中 有时候需要查看日志, 我们很自然地使用 pageup键 pagedown键 上方向键 下方向键.  但是结果是这样的: 问了一下GPT,  https://poe.com/s/oyqEcLEPsEw7VOs9obdE Linux 在 screen 中不能直接使用 pageup键 pagedown键 上方向键 下方向键 查看日志.  需要按 Ctrl + A, [ 也就是先按 Ctrl + A, 再按 左方括号键[ 这时, 终端会显示这样 然后就可以"照常"使用pageup键 pagedown键 上方向键 下方向键 查看日志了.

The Hot3 in Last 30 Days

RackNerd VPS搭Xray Reality梯子 年付 $10.98 1G端口 3T流量 17G存储 1GB内存

丐版VPS 搭酒馆SillyTavern 使用Google Gemini免费API 和AI对话第一个故事

面对镜子 使用工具 戴隐形眼镜