Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
직접 명령은 검토 Prompt를 거치지 않습니다. 실행하기 전에 소스를 확인하세요.
npx skills add https://github.com/aivos-xie/hermes-skills --skill fanqie-checkin명령은 한 줄로 유지됩니다. 복사하기 전에 가로로 스크롤해 전체 내용을 확인하세요.
로컬 사본을 원하시나요? SkillsMP에서 현재 제공할 수 있는 파일을 다운로드하세요.
Delegate coding to OpenAI Codex CLI (features, PRs).
Configure, extend, or contribute to Hermes Agent.
Manage multiple remote servers from Hermes via SSH — deploy services, configure firewalls, transfer files, run commands across servers
SOC 직업 분류 기준
SKILL.md 표시 중
| name | fanqie-checkin |
| description | 番茄小说自动签到:网页端API签到获取金币奖励 |
| version | 1.0.0 |
| author | Hermes Agent |
| license | MIT |
| platforms | ["linux","macos","windows"] |
| metadata | {"hermes":{"tags":["fanqie","novel","checkin","automation","番茄小说","签到"]}} |
通过网页端API实现番茄小说每日自动签到,获取金币奖励。
方式一:浏览器获取(推荐)
sessionidnovel_web_idttwid方式二:使用Playwright自动获取
pip install playwright
playwright install chromium
python get_cookie.py
编辑 ~/.hermes/scripts/fanqie_checkin.py,填入你的Cookie:
COOKIES = {
"sessionid": "你的sessionid",
"novel_web_id": "你的novel_web_id",
"ttwid": "你的ttwid",
}
python ~/.hermes/scripts/fanqie_checkin.py
在青龙面板中添加任务,或使用系统cron:
# 每天早上8点签到
0 8 * * * python3 ~/.hermes/scripts/fanqie_checkin.py
详细API文档见 references/fanqie-api.md
| 项目 | 详情 |
|---|---|
| URL | https://fanqienovel.com/api/reader/sign_in |
| 请求方式 | POST |
| 认证方式 | Cookie |
| Content-Type | application/json |
| 项目 | 详情 |
|---|---|
| URL | https://fanqienovel.com/api/reader/sign_in/query |
| 请求方式 | GET |
| 认证方式 | Cookie |
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36
Referer: https://fanqienovel.com/
Cookie: sessionid=xxx; novel_web_id=xxx; ttwid=xxx
#!/usr/bin/env python3
# -*- coding: utf-8 -*-
"""番茄小说自动签到"""
import requests
import json
from datetime import datetime
# 配置Cookie - 请替换为你的实际Cookie
COOKIES = {
"sessionid": "YOUR_SESSION_ID",
"novel_web_id": "YOUR_NOVEL_WEB_ID",
"ttwid": "YOUR_TTWID",
}
SIGN_URL = "https://fanqienovel.com/api/reader/sign_in"
QUERY_URL = "https://fanqienovel.com/api/reader/sign_in/query"
HEADERS = {
"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) "
"AppleWebKit/537.36 (KHTML, like Gecko) "
"Chrome/120.0.0.0 Safari/537.36",
"Referer": "https://fanqienovel.com/",
"Content-Type": "application/json",
}
def query_sign_status():
"""查询签到状态"""
session = requests.Session()
session.cookies.update(COOKIES)
session.headers.update(HEADERS)
try:
resp = session.get(QUERY_URL)
data = resp.json()
print(f"📋 签到状态查询: {json.dumps(data, ensure_ascii=False, indent=2)}")
return data
except Exception as e:
print(f"❌ 查询失败: {e}")
return None
def sign_in():
"""执行签到"""
session = requests.Session()
session.cookies.update(COOKIES)
session.headers.update(HEADERS)
:
resp = session.post(SIGN_URL)
data = resp.json()
now = datetime.now().strftime()
data.get() == :
reward = data.get(, {}).get(, )
()
:
msg = data.get(, )
()
data
Exception e:
()
__name__ == :
()
( * )
query_sign_status()
sign_in()
const axios = require('axios');
const COOKIES = {
sessionid: 'YOUR_SESSION_ID',
novel_web_id: 'YOUR_NOVEL_WEB_ID',
ttwid: 'YOUR_TTWID',
};
const cookieStr = Object.entries(COOKIES)
.map(([k, v]) => `${k}=${v}`)
.join('; ');
const headers = {
'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36',
'Referer': 'https://fanqienovel.com/',
'Cookie': cookieStr,
'Content-Type': 'application/json',
};
async function signIn() {
try {
const resp = await axios.post('https://fanqienovel.com/api/reader/sign_in', {}, { headers });
const data = resp.data;
if (data.code === 0) {
console.log(`✅ 签到成功!获得 ${data.data?.reward || 0} 金币`);
} {
.();
}
} (e) {
.();
}
}
();
在青龙面板中添加环境变量:
| 变量名 | 值 |
|---|---|
FANQIE_SESSION_ID | 你的sessionid |
FANQIE_NOVEL_WEB_ID | 你的novel_web_id |
FANQIE_TTWID | 你的ttwid |
# 每天早上8:30签到
30 8 * * * python3 /ql/scripts/fanqie_checkin.py
网页端Cookie和APP端Cookie是两套完全不同的体系,不能混用。
| 类型 | 来源 | 关键字段 | 适用接口 |
|---|---|---|---|
| 网页端Cookie | 浏览器登录 fanqienovel.com | sessionid, novel_web_id, ttwid | 网页端API (fanqienovel.com/api/...) |
| APP端Cookie | 手机APP抓包 | install_id, passport_csrf_token | APP端API (fqnovel.com/reading/...) |
实测结果 (2026-06):
passport_auth_status, passport_mfa_token等)发送到网页端API返回 "请先登录",说明不是真正的登录态sessionid 和 ttwid — 这两个才是网页端真正的登录凭证~/fanqie_checkin.py 使用APP端API,需要 install_id(只能通过抓包获取)网页端签到可行性未验证 — 网页端 /api/reader/sign_in 返回403(WAF拦截),可能需要额外的反爬token。
推荐方案:用APP端API + HttpCanary抓包获取 install_id
& 分隔多个Cookie#!/usr/bin/env python3
"""获取番茄小说Cookie"""
from playwright.sync_api import sync_playwright
import json
def get_cookies():
with sync_playwright() as p:
browser = p.chromium.launch(headless=False)
context = browser.new_context()
page = context.new_page()
page.goto("https://fanqienovel.com/")
print("请在浏览器中登录番茄小说...")
print("登录完成后按回车继续...")
input()
cookies = context.cookies()
cookie_dict = {}
for cookie in cookies:
if cookie['name'] in ['sessionid', 'novel_web_id', 'ttwid']:
cookie_dict[cookie['name']] = cookie['value']
print(f"\n获取到的Cookie:")
print(json.dumps(cookie_dict, indent=2))
browser.close()
return cookie_dict
if __name__ == "__main__":
cookies = get_cookies()
本脚本仅供学习研究使用,请遵守番茄小说的用户协议和使用条款。自动签到属于个人使用范畴,请勿用于商业用途或恶意刷取奖励。