Code
Hub
Workspaces
Following
Trending
Connect
MCP
copy
Create free account
hub
/
github.com/Aerdelan/MirrorNovel
/ functions
Functions
207 in github.com/Aerdelan/MirrorNovel
⨍
Functions
207
◇
Types & classes
5
↓ 23 callers
Function
streamGenerate
* 流式生成 * @returns {Promise<{content:string, tokenCount:number}>}
server/services/aiService.js:281
↓ 21 callers
Function
resolveApiConfig
* 根据用户配置和模型类型获取 API 请求参数
server/services/aiService.js:239
↓ 14 callers
Function
deductTokens
(user, content)
server/routes/novel.js:1351
↓ 8 callers
Function
countTokens
* 估算 token 消耗(中文字符 ≈ 1.5 token,英文 ≈ 0.3 token)
server/services/aiService.js:7
↓ 8 callers
Function
safeSet
(key, val)
app/src/stores/auth.js:15
↓ 7 callers
Function
processChapter
* 完整后处理流水线 * @param {string} text - 原始章节内容 * @param {Object} options - 配置项 * @param {boolean} options.doDeAI - 是否执行去AI味 * @param {boolean} options
server/services/chapterToolchain.js:188
↓ 6 callers
Function
checkTokenBalance
* 检查用户 token 余额是否足够,若不足则抛出错误
server/routes/novel.js:1386
↓ 6 callers
Function
finalSave
(status = 'completed')
server/routes/novel.js:748
↓ 5 callers
Function
decodeText
* 解码被字体反爬混淆的文本
server/services/fontDecoder.js:52
↓ 5 callers
Function
ensureTokensLeft
* 每章之前快速检查是否还有可用 Token,一旦用完立即抛出 TOKEN_EXHAUSTED * 这样不用等到整章生成完才发现没钱了
server/routes/novel.js:1402
↓ 4 callers
Function
buildCharMap
* 从 Buffer 解析 woff/woff2 字体,返回 PUA→正常字符 映射表
server/services/fontDecoder.js:11
↓ 4 callers
Function
getAvailableTokens
()
server/routes/novel.js:1467
↓ 4 callers
Function
httpGet
* HTTP GET 请求(带超时)
server/services/fanqieScraper.js:23
↓ 4 callers
Function
request
(method, url, data, options = {})
app/src/api/index.js:8
↓ 4 callers
Function
saveChapterContent
(isFinal = false)
server/routes/novel.js:1200
↓ 3 callers
Function
buildSystemPrompt
* 构建小说生成系统提示词(支持男女频区分) * @param {string} novelTypeId - 类型 ID * @param {string} [gender] - 'male' | 'female' | 'unisex'
server/services/aiService.js:27
↓ 3 callers
Function
countAIFlavor
* 统计AI味词汇密度
server/services/chapterToolchain.js:49
↓ 3 callers
Function
extractChapterSnapshot
* 提取单章摘要(关键事件 + 关键对话 + 结局状态)
server/services/novelContext.js:14
↓ 3 callers
Function
generateOneChapter
生成并保存一个章节
server/routes/novel.js:353
↓ 2 callers
Function
buildAugmentedContext
* 构建增强上下文(替代 distillChapters) * 策略:最近3章保持详细,之前的压缩为摘要
server/services/novelContext.js:122
↓ 2 callers
Function
buildOutlinePrompt
* 生成大纲的提示词
server/services/aiService.js:80
↓ 2 callers
Function
closeBrowser
()
server/services/playwrightProxy.js:170
↓ 2 callers
Function
createApp
()
app/src/main.js:5
↓ 2 callers
Function
decodeContent
(text)
server/routes/novel.js:979
↓ 2 callers
Function
ensurePage
* 确保页面已加载(带 cookie + 字体 JS 初始化)
tmp_upload/playwrightProxy.js:27
↓ 2 callers
Function
ensurePage
(cs)
server/services/playwrightProxy.js:26
↓ 2 callers
Function
exportNovels
(req, res)
server/routes/novel.js:985
↓ 2 callers
Function
extractActiveCharacters
* 从已写章节中提取活跃角色
server/services/novelContext.js:43
↓ 2 callers
Function
extractPlotHooks
* 提取未回收的伏笔
server/services/novelContext.js:88
↓ 2 callers
Function
extractStyleProfile
(fileContent, mainCategory, subCategory, novelType = 'normal')
server/routes/reference.js:35
↓ 2 callers
Function
fetchWithRetry
* 带重试和超时的通用抓取包装
server/services/fanqieScraper.js:125
↓ 2 callers
Function
getToken
()
app/src/stores/novel.js:6
↓ 2 callers
Function
httpGet
* HTTP GET 请求
tmp_upload/fanqieScraper.js:23
↓ 2 callers
Function
isNative
()
app/src/utils/apiUrl.js:6
↓ 2 callers
Function
matchTemplates
* 类型模板匹配函数 * 根据用户输入的世界观文本,与 typeTemplates 的 keywords 计算相似度 * 同时返回匹配的 gender 信息,供后续动态模板构建使用
server/routes/novel.js:1275
↓ 2 callers
Function
parseStyleOutput
(text)
server/routes/reference.js:204
↓ 2 callers
Function
safeGet
(key)
app/src/stores/auth.js:5
↓ 2 callers
Function
safeRemove
(key)
app/src/stores/auth.js:24
↓ 2 callers
Function
saveProgress
(status = 'generating')
server/routes/novel.js:739
↓ 2 callers
Function
setAuth
(userData, authToken)
client/src/stores/auth.js:25
↓ 2 callers
Function
setAuth
(userData, authToken)
app/src/stores/auth.js:38
↓ 1 callers
Function
API_BASE
()
app/src/utils/apiUrl.js:18
↓ 1 callers
Function
_checkVer
()
server/index.js:23
↓ 1 callers
Function
_startVerCheck
()
server/index.js:44
↓ 1 callers
Function
autoFormat
* 自动格式化章节文本:分段 + 首行缩进 + 段落间距 * - 如果 AI 已分段,保持并规范换行 * - 如果没有分段,智能拆分 * - 每个段落前加两个全角空格作为首行缩进
server/services/chapterToolchain.js:94
↓ 1 callers
Function
buildChapterPlan
* 构建章节计划表(细化到每一章的事件、伏笔、字数)
server/services/aiService.js:393
↓ 1 callers
Function
buildContextFromDocs
* 从持久化文档中构建上下文,替代 buildAugmentedContext * @param {string} chapterSummaryDoc - 章节浓缩文档 * @param {string} foreshadowingDoc - 伏笔追踪文档 * @param {string}
server/services/novelContext.js:332
↓ 1 callers
Function
buildContinuePrompt
(novelId, novel)
server/services/aiService.js:173
↓ 1 callers
Function
buildImportContinuePrompt
* 构建导入小说续写提示词(蒸馏提纯版)
server/services/aiService.js:203
↓ 1 callers
Function
buildInitialPrompt
(novelTypeId, protagonistName, worldSetting, targetWordCount, mode, outline)
server/services/aiService.js:148
↓ 1 callers
Function
buildMappingViaBrowser
()
server/services/fontMapper.js:59
↓ 1 callers
Function
buildOptimizeAnalysisPrompt
* 构建全文调优分析提示词
server/services/aiService.js:473
↓ 1 callers
Function
buildOptimizeChapterPrompt
* 构建单章调优重写提示词
server/services/aiService.js:509
↓ 1 callers
Function
buildStoryStateSummary
* 根据章节计划和已完成章数,构建当前故事状态摘要
server/services/aiService.js:435
↓ 1 callers
Function
buildTemplatePrompt
构建动态类型提示(每次调用结果不同)
server/config/novelTemplates.js:309
↓ 1 callers
Function
chunkPrompt
(chunkText, batchIdx, total)
server/routes/novel.js:1752
↓ 1 callers
Function
clearAuth
()
client/src/stores/auth.js:32
↓ 1 callers
Function
clearAuth
()
app/src/stores/auth.js:45
↓ 1 callers
Function
clearAuthAndRedirect
()
app/src/api/index.js:33
↓ 1 callers
Function
connectDB
()
server/config/db.js:3
↓ 1 callers
Function
distillChapters
* 蒸馏提纯:根据章节数量动态调整上下文压缩策略 * - 章节少时:保留详细内容 * - 章节多时:最近2章保留详情,之前的压缩为摘要 * - 上限字符数:10000
server/services/aiService.js:117
↓ 1 callers
Function
downloadAndMap
下载并解析字体,直接构建映射
server/services/playwrightProxy.js:53
↓ 1 callers
Function
ensureFont
()
server/services/fontMapper.js:11
↓ 1 callers
Function
extractChapterSummary
* 提取章节摘要(用于生成下一章时提示不要重复)
server/services/aiService.js:534
↓ 1 callers
Function
extractContent
* 从 reader 页面 HTML 提取章节内容
tmp_upload/fanqieScraper.js:44
↓ 1 callers
Function
extractContent
* 从 reader 页面 HTML 提取章节内容
server/services/fanqieScraper.js:46
↓ 1 callers
Function
extractContentEnhanced
* HTML 方式:从 reader 页面提取章节内容(增强版) * 支持多种 content 出现模式,提高提取成功率
server/services/fanqieScraper.js:151
↓ 1 callers
Function
fetchByType
(type)
client/src/stores/reference.js:77
↓ 1 callers
Function
fetchChapterContent
(itemId, cs)
server/services/playwrightProxy.js:78
↓ 1 callers
Function
fetchTypes
()
client/src/stores/novel.js:12
↓ 1 callers
Function
fetchTypes
()
app/src/stores/novel.js:18
↓ 1 callers
Function
fetchViaBrowser
* 调用番茄小说 API
tmp_upload/playwrightProxy.js:69
↓ 1 callers
Function
fixPunctuation
* 标点符号修正
server/services/chapterToolchain.js:70
↓ 1 callers
Function
generateCode
()
server/routes/auth.js:24
↓ 1 callers
Function
getBookInfoViaAPI
* 通过浏览器代理获取书籍章节列表(目录)
tmp_upload/fanqieScraper.js:187
↓ 1 callers
Function
getBookInfoViaAPI
* 通过浏览器代理获取书籍章节列表(目录)
server/services/fanqieScraper.js:264
↓ 1 callers
Function
getBookInfoViaHTML
* 获取书籍信息 + 章节列表(HTML 抓取方式)
tmp_upload/fanqieScraper.js:75
↓ 1 callers
Function
getBookInfoViaHTML
* 获取书籍信息 + 章节列表(HTML 抓取方式)
server/services/fanqieScraper.js:77
↓ 1 callers
Function
getBrowser
()
tmp_upload/playwrightProxy.js:13
↓ 1 callers
Function
getBrowser
()
server/services/playwrightProxy.js:12
↓ 1 callers
Function
getChapterContentViaAPI
* 通过浏览器代理获取单个章节完整内容
tmp_upload/fanqieScraper.js:173
↓ 1 callers
Function
getChapterContentsViaAPI
* 批量获取章节内容(纯 API 方式)
tmp_upload/fanqieScraper.js:213
↓ 1 callers
Function
getChapterContentsViaAPI
* 批量获取章节内容(通过 reader 页面提取 + 自动字体解码) * playwrightProxy.fetchChapterContent 已内置字体映射和解码
server/services/fanqieScraper.js:299
↓ 1 callers
Function
getChapterContentsViaHTML
* 批量获取章节内容(HTML 抓取方式)
tmp_upload/fanqieScraper.js:118
↓ 1 callers
Function
getChapterContentsViaHTML
* 批量获取章节内容(HTML 抓取方式)— 带重试
server/services/fanqieScraper.js:189
↓ 1 callers
Function
getFontCache
()
server/services/getFont.js:7
↓ 1 callers
Function
getFontHeader
()
server/services/fontMapper.js:29
↓ 1 callers
Function
getToken
()
app/src/api/index.js:3
↓ 1 callers
Function
load
()
server/services/fanqieAuth.js:11
↓ 1 callers
Function
parseDataUri
* 解析 base64 字体数据 data:font/woff;base64,XXXX
server/services/fontDecoder.js:71
↓ 1 callers
Function
planChapter
* 规划章节内容(编写章节指令)
server/services/writingAgent.js:16
↓ 1 callers
Function
reviewChapter
* 审查章节质量
server/services/writingAgent.js:51
↓ 1 callers
Function
reviseChapter
* 根据审查意见修订章节
server/services/writingAgent.js:91
↓ 1 callers
Function
runOptimizeTask
* 后台运行调优任务,定期更新 novel.optimizeTask 到数据库
server/routes/novel.js:1898
↓ 1 callers
Function
safeParse
(key)
client/src/stores/auth.js:5
↓ 1 callers
Function
safeToken
()
client/src/stores/auth.js:11
↓ 1 callers
Function
saveAppendProgress
()
server/routes/novel.js:1192
↓ 1 callers
Function
sendVerificationCode
(to, code, type = 'register')
server/services/emailService.js:23
↓ 1 callers
Function
simpleDeAIfy
(text)
server/services/chapterToolchain.js:19
↓ 1 callers
Function
smartSplitParagraphs
* 智能将无分段的长文本拆分为段落 * 在句子结束标点处拆分,每段约150-350字符
server/services/chapterToolchain.js:139
next →
1–100 of 207, ranked by callers