ReverseSillyTavernToAPI是一个基于 Selenium 的 SillyTavern API 代理服务,通过Selenium自动化操作SillyTavern网页,实现了SillyTavern的API接口。
本项目仅用于学习和研究目的:
- 请遵守 SillyTavern 的使用条款和规则
- 不得用于任何商业用途
- 使用本项目造成的任何问题由使用者自行承担
- 使用 Selenium 自动化操作 SillyTavern 网页界面
- 提供 HTTP API 接口,支持发送消息和查询状态
- 自动等待页面加载和响应
- 支持命令行交互模式
- Python 3.7+
- Google Chrome 浏览器
- ChromeDriver(与 Chrome 版本匹配)
- 克隆仓库:
git clone https://github.com/the-lazy-me/ReverseSillyTavernToAPI.git
-
设置chrome浏览器
-
配置
config.py
文件-
关键是设置,也可以使用相对路径,默认如下
CHROME_PATH = r'browser/chrome.exe' CHROME_DRIVER_PATH = r'browser/driver/chromedriver.exe'
-
-
安装依赖,程序根目录
pip install -r requirements.txt -i https://pypi.tuna.tsinghua.edu.cn/simple
-
运行
python main.py
- 请控制请求频率,避免对服务器造成压力
- 建议在个人或测试环境中使用
- 遵守相关法律法规和服务条款
检查服务是否就绪。
curl http://localhost:4444/status
响应示例:
{
"status": "ready" // 或 "initializing"
}
向 SillyTavern 发送消息并获取回复。
curl -X POST http://localhost:4444 \
-H "Content-Type: application/json" \
-d '{"message": "Hi!"}'
响应示例:
{
"response": "Hello! How can I help you today?"
}
错误响应示例:
{
"error": "聊天系统正在初始化,请稍后再试" // 503 Service Unavailable
}
{
"error": "Message is required" // 400 Bad Request
}
# 创建一个 SillyTavernAPI 实例
api = SillyTavernAPI()
# 发送消息
response = api.send_message("Hi!")
print(response)
# 查询状态
status = api.get_status()
print(status)
# 检查状态
curl http://localhost:4444/status
# 发送消息
curl -X POST http://localhost:4444 \
-H "Content-Type: application/json" \
-d '{"message": "Hi!"}'
// 发送消息
fetch('http://localhost:4444', {
method: 'POST',
headers: {
'Content-Type': 'application/json'
},
body: JSON.stringify({
message: 'Hi!'
})
})
.then(response => response.json())
.then(data => console.log(data));
// 检查状态
fetch('http://localhost:4444/status')
.then(response => response.json())
.then(data => console.log(data));