feat: 完善 help 说明及多项功能优化

This commit is contained in:
shiyue
2026-03-18 00:20:12 +08:00
parent b23ac0fb6b
commit 40a3479e2a
9 changed files with 82 additions and 9 deletions

44
main.go
View File

@@ -62,11 +62,11 @@ func buildConfig(style string) app.Config {
}
cfg := app.Config{
NovelName: "novel",
NovelName: envOr("NOVEL_NAME", ""),
Provider: provider,
APIKey: apiKey,
BaseURL: baseURL,
ModelName: "stepfun/step-3.5-flash:free",
ModelName: envOr("LLM_MODEL", "stepfun/step-3.5-flash:free"),
Style: style,
}
return cfg
@@ -76,9 +76,49 @@ func parsePrompt() string {
if len(os.Args) < 2 {
return ""
}
if os.Args[1] == "-help" || os.Args[1] == "--help" || os.Args[1] == "-h" {
printHelp()
os.Exit(0)
}
return strings.Join(os.Args[1:], " ")
}
func printHelp() {
fmt.Println(`ainovel-cli - AI 小说生成工具
用法:
ainovel-cli [prompt] CLI 模式:直接生成小说
ainovel-cli TUI 模式:启动交互界面
环境变量:
NOVEL_NAME 小说名称默认novel
NOVEL_STYLE 小说风格默认default
可选值:
default 通用风格,叙事张弛有度,五感描写,对话自然
fantasy 奇幻冒险,世界观自然展开,魔法体系有代价感
romance 言情,情感递进有节奏,关系张力与内心描写并重
suspense 悬疑推理,多线叙事,信息差悬念,线索管理严谨
LLM_PROVIDER LLM 提供商openrouter|anthropic|gemini默认openrouter
LLM_MODEL 模型名称默认stepfun/step-3.5-flash:free
Z_OPENAI_API_KEY API 密钥
Z_OPENAI_BASE_URL API 地址
ANTHROPIC_API_KEY Anthropic API 密钥
ANTHROPIC_BASE_URL Anthropic API 地址
GEMINI_API_KEY Gemini API 密钥
GEMINI_BASE_URL Gemini API 地址
OPENROUTER_API_KEY OpenRouter API 密钥
OPENROUTER_BASE_URL OpenRouter API 地址
示例:
ainovel-cli "写一部科幻小说,主角是时间旅行者"
NOVEL_NAME=时空之旅 ainovel-cli "写一部科幻小说"
ainovel-cli # 启动 TUI 交互模式`)
}
func loadReferences(style string) tools.References {
refs := tools.References{
ChapterGuide: mustRead(referencesFS, "references/chapter-guide.md"),