AI ๅฐ่ฏดๅไฝๅฉๆ - ๆบ่ฝๅๆ ยท ้ฃๆ ผๅ ้ ยท ่ชๅจๅๅไฝ
็ถๆ๏ผๆ ธๅฟๅ่ฝๅทฒๅฐฑ็ปช๏ผv0.2.0๏ผ
cp .env.example .env
# ็ผ่พ .env ๅกซๅ
ฅ API Key
./start.sh webcp .env.example .env
./start.sh api
# ่ฎฟ้ฎ http://localhost:8080/docs ๆฅ็ API ๆๆกฃfrom src.generator.novel import NovelGenerator
from src.analyzer.gene import GeneAnalyzer
from src.database import save_outline, save_chapter, list_outlines
gen = NovelGenerator()
result = gen.generate_outline(genre="้ฝๅธ", theme="้่ขญ", main_char="ๅผ ๆ", length="้ฟ็ฏ")
print(result["outline"])- ๅฎๆๆ็ดข - ่ชๅจ้้ๅ็ฑปๅฐ่ฏดๆ่กๆฆๆฐๆฎ
- ๅๆไผ็งๅบๅ - ่งฃๆ็ญ้จๅฐ่ฏด็ๆๅ่ฆ็ด ๏ผไบบ่ฎพใ่ๅฅใ้ๅฅใ็ฝ็น๏ผ
- ้ฃๆ ผๅ ้ - ๅญฆไน ไธๅ้ขๆ็ๅไฝ้ฃๆ ผ๏ผๅฝขๆๅฏๅค็จ็ๅบๅ ๅบ
- ่พ ๅฉๅไฝ - ไธบ็จๆทๆไพๅไฝ็ตๆใ็ด ๆใ้ๅฅ
้ฟๆๆผ่ฟ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ zhilinainovel โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโค
โ โโโโโโโโโโโโโโโ โโโโโโโโโโโโโโโ โโโโโโโโโโโโโโโ โ
โ โ ๆฐๆฎ้้ๅฑ โ โ ๅๆๅผๆ โ โ ๅไฝๅผๆ โ โ
โ โ โ โ โ โ โ โ
โ โ ๆ่กๆฆๆๅ โ โ ้ฃๆ ผๅบๅ ๆๅ โ โ ็ด ๆ็ๆ โ โ
โ โ ๅ
ๅฎน่งฃๆ โ โ ็ฝ็นๅๆ โ โ ๅฏน่ฏ็ๆ โ โ
โ โ ็ซ ่ๅ
ฅๅบ โ โ ไบบ่ฎพๆ่งฃ โ โ ๆ
่ๆๅปบ โ โ
โ โโโโโโโโโโโโโโโ โโโโโโโโโโโโโโโ โโโโโโโโโโโโโโโ โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโค
โ ๅบๅ ๅบ (SQLite) โ
โ โโโ ้ขๆๅบๅ ๏ผ็ๅนป/้ฝๅธ/ๆฌ็/็งๅนป...๏ผ โ
โ โโโ ้ฃๆ ผๅบๅ ๏ผๆ็ฌ/่ๅฅ/ๆ
็ปชๆฒ็บฟ๏ผ โ
โ โโโ ็ฝ็นๅบๅ ๏ผๆ่ธ/้่ขญ/็ๅฎ ...๏ผ โ
โ โโโ ้ๅฅๅบ โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
zhilinainovel/
โโโ src/
โ โโโ crawler/ # ๆฐๆฎ้้
โ โ โโโ ranking.py # ๆ่กๆฆๆๅ
โ โ โโโ parser.py # ๅ
ๅฎน่งฃๆ
โ โโโ analyzer/ # ๅๆๅผๆ
โ โ โโโ gene.py # ๅบๅ ๆๅ
โ โ โโโ sentiment.py # ๆ
็ปชๅๆ
โ โ โโโ plot.py # ๆ
่ๅๆ
โ โโโ generator/ # ๅไฝๅผๆ
โ โ โโโ story.py # ๆ
ไบ็ๆ
โ โ โโโ dialogue.py # ๅฏน่ฏ็ๆ
โ โ โโโ outline.py # ๅคง็บฒ็ๆ
โ โโโ database/ # ๅบๅ ๅบ
โ โ โโโ db.py
โ โโโ scheduler/ # ๅฎๆถไปปๅก
โ โ โโโ cron.py
โ โโโ api/ # APIๆๅก
โ โโโ main.py
โโโ prompts/ # ๆ็คบ่ฏๆจกๆฟ
โ โโโ analyze.md
โ โโโ generate.md
โ โโโ gene.md
โโโ templates/ # ๅฐ่ฏดๆจกๆฟ
โโโ docker/
โ โโโ Dockerfile
โ โโโ docker-compose.yml
โโโ README.md
- Python 3.11+
- API: OpenAI / MiniMax
- ๆฐๆฎๅบ: SQLite๏ผๆฌๅฐๅบๅ ๅบ๏ผ
- Web: FastAPI
- ๅฎๆถไปปๅก: APScheduler
- ๆฐๆฎ้้: requests + BeautifulSoup
- Docker
- ่ตท็นไธญๆ็ฝๆ่กๆฆ
- ็ช่ๅฐ่ฏดๆ่กๆฆ
- ไธ็ซๅฐ่ฏดๆ่กๆฆ
- ็ซ ่ๅ ๅฎน่งฃๆ
- ้ขๆ่ฏๅซ
- ไบบ่ฎพๆๅ๏ผไธป่ง/้ ่งๆงๆ ผ๏ผ
- ็ฝ็นๅๆ๏ผๆ่ธ/้่ขญ/็ๅฎ /ๆฌ็...๏ผ
- ๆ ็ปชๆฒ็บฟๅๆ
- ้ๅฅๆๅ
- ็ๅนปๅบๅ ๏ผๅ็บงไฝ็ณปใๅๆณ่ฎพๅฎใไธ็่ง
- ้ฝๅธๅบๅ ๏ผ่ๅบใ่ฑช้จใ็ๅฎ
- ๆฌ็ๅบๅ ๏ผ็บฟ็ดขๅ่ฎพใๆฐๅด่ฅ้
- ็งๅนปๅบๅ ๏ผ่ฎพๅฎไธฅ่ฐจใๆณ่ฑกๅ
- ๅคง็บฒ็ๆ
- ็ซ ่็ปญๅ
- ๅฏน่ฏๆถฆ่ฒ
- ็ด ๆๆจ่
# 1. ๅ
้้กน็ฎ
git clone https://github.com/dingzhilin1990/zhilinainovel.git
cd zhilinainovel
# 2. ๅฎ่ฃ
ไพ่ต
pip install -r requirements.txt
# 3. ้
็ฝฎ็ฏๅขๅ้
cp .env.example .env
# ็ผ่พ .env ๅกซๅ
ฅ API Key
# 4. ๅฏๅจๆๅก
python src/api/main.py
# 5. Docker ้จ็ฝฒ
docker-compose up -d# .env
OPENAI_API_KEY=your_api_key
OPENAI_BASE_URL=https://api.minimax.chat/v1
MODEL=MiniMax-M2.5
# ๅฏ้้
็ฝฎ
DATABASE_PATH=./data/genes.db
LOG_LEVEL=INFO| ๆฅๅฃ | ๆนๆณ | ่ฏดๆ |
|---|---|---|
/api/analyze |
POST | ๅๆๅฐ่ฏดๅ ๅฎน๏ผๆๅๅบๅ |
/api/generate/story |
POST | ็ๆๆ ไบๅคง็บฒ |
/api/generate/chapter |
POST | ็ปญๅ็ซ ่ |
/api/genes |
GET | ่ทๅๅบๅ ๅบ |
/api/genes/:type |
GET | ่ทๅ็นๅฎ็ฑปๅๅบๅ |
- ๐งฌ ๅๅธๅบๅ - ๅฐๅๆๅบ็ไผ่ดจๅบๅ ๅๅธๅฐๅธๅบ
- ๐ฅ ่ทๅๅบๅ - ไปๅธๅบ่ทๅๅ ถไปไฝ่ ็ไผ่ดจๅบๅ
- ๐ฐ ่ตๅ็งฏๅ - ๅบๅ ่ขซๅค็จๅฏ่ทๅพ็งฏๅๅฅๅฑ
- ๐ฅ ้ขๅ่ต้ - ๅฎๆๅไฝ็ธๅ ณไปปๅก่ทๅพๅฅๅฑ
gene = create_novel_gene("้ฝๅธ", ["่ๅบ", "็ๅฎ "], "็ๆดปๆต") capsule = create_novel_capsule("้ฝๅธ", "่ฏทๅไธไธช้ฝๅธ็ฑๆ ๆ ไบ...") result = client.publish_bundle(gene, capsule, evolution_event)
assets = client.fetch_assets("Capsule", 10)
## ๐ ๅฎๅ
จๆณจๆ
- API Key ้ๅฆฅๅไฟ็ฎก๏ผๅๅฟๆไบคๅฐไปๅบ
- ็ฌ่ซ้้ตๅฎ็ฎๆ ็ฝ็ซ robots.txt
- ๅฐ้็ๆ๏ผไป
ไพๅญฆไน ไบคๆตไฝฟ็จ