8000 GitHub - HugeDevDen/RedInk: 红墨 - 基于ðŸŒNano Banana Pro🌠的一站å¼å°çº¢ä¹¦å›¾æ–‡ç”Ÿæˆå™¨ 《一å¥è¯ä¸€å¼ å›¾ç‰‡ç”Ÿæˆå°çº¢ä¹¦å›¾æ–‡ã€‹ Red Ink - A one-stop Xiaohongshu image-and-text generator based on the ðŸŒNano Banana ProðŸŒ, "One Sentence, One Image: Generate Xiaohongshu Text and Images."
[go: up one dir, main page]

Skip to content
forked from HisMax/RedInk

红墨 - 基于ðŸŒNano Banana Pro🌠的一站å¼å°çº¢ä¹¦å›¾æ–‡ç”Ÿæˆå™¨ 《一å¥è¯ä¸€å¼ å›¾ç‰‡ç”Ÿæˆå°çº¢ä¹¦å›¾æ–‡ã€‹ Red Ink - A one-stop Xiaohongshu image-and-text generator based on the ðŸŒNano Banana ProðŸŒ, "One Sentence, One Image: Generate Xiaohongshu Text and Images."

License

Notifications You must be signed in to change notification settings

HugeDevDen/RedInk

 
 

Repository files navigation

红墨 - çµæ„Ÿä¸€è§¦å³å‘ 让创作从未如此简å•

红墨官方站点上线啦,注册å³é€50体验积分ï¼

注册需è¦é‚€è¯·ç ï¼å¯ä»¥åˆ° https://watcha.cn/square/discuss#post_id=1380 获å–

使用红墨生æˆçš„å„ç±»å°çº¢ä¹¦å°é¢

使用红墨生æˆçš„å„ç±»å°çº¢ä¹¦å°é¢ - AI驱动,风格统一,文字准确


✨ 效果展示

输入一å¥è¯ï¼Œç”Ÿæˆå®Œæ•´å›¾æ–‡

Step 1: 智能大纲生æˆ

大纲示例

功能特性:

  • âœï¸ å¯ç¼–辑æ¯é¡µå†…容
  • 🔄 å¯è°ƒæ•´é¡µé¢é¡ºåºï¼ˆä¸å»ºè®®ï¼‰
  • ✨ 自定义æ¯é¡µæè¿°ï¼ˆå¼ºçƒˆæŽ¨è)
🎨 Step 2: å°é¢é¡µç”Ÿæˆ

å°é¢ç¤ºä¾‹

å°é¢äº®ç‚¹ï¼š

  • 🎯 符åˆä¸ªäººé£Žæ ¼
  • 📠文字准确无误
  • 🌈 视觉统一åè°ƒ
📚 Step 3: 内容页批é‡ç”Ÿæˆ

内容页示例

生æˆè¯´æ˜Žï¼š

  • âš¡ å¹¶å‘ç”Ÿæˆæ‰€æœ‰é¡µé¢ï¼ˆé»˜è®¤æœ€å¤š 15 张)
  • âš ï¸ å¦‚ API 䏿”¯æŒé«˜å¹¶å‘,请在设置中关闭
  • 🔧 支æŒå•ç‹¬é‡æ–°ç”Ÿæˆä¸æ»¡æ„的页é¢

ðŸ—ï¸ æŠ€æœ¯æž¶æž„

🔧 åŽç«¯æŠ€æœ¯æ ˆ

技术 说明
语言 Python 3.11+
框架 Flask
åŒ…ç®¡ç† uv
文案AI Gemini 3
图片AI 🌠Nano banana Pro

🎨 å‰ç«¯æŠ€æœ¯æ ˆ

技术 说明
框架 Vue 3 + TypeScript
构建工具 Vite
状æ€ç®¡ç† Pinia
æ ·å¼ Modern CSS

📦 如何自己部署

æ–¹å¼ä¸€ï¼šDocker 部署(推è)

最简å•的部署方å¼ï¼Œä¸€è¡Œå‘½ä»¤å³å¯å¯åŠ¨ï¼š

docker run -d -p 12398:12398 -v ./history:/app/history -v ./output:/app/output histonemax/redink:latest

访问 http://localhost:12398,在 Web 界é¢çš„设置页é¢é…置你的 API Key å³å¯ä½¿ç”¨ã€‚

使用 docker-compose(å¯é€‰ï¼‰ï¼š

下载 docker-compose.yml åŽï¼š

docker-compose up -d

Docker 部署说明:

  • 容器内ä¸åŒ…å«ä»»ä½• API Key,需è¦åœ¨ Web 界é¢é…ç½®
  • 使用 -v ./history:/app/history æŒä¹…化历å²è®°å½•
  • 使用 -v ./output:/app/output æŒä¹…化生æˆçš„图片
  • å¯é€‰ï¼šæŒ‚载自定义é…置文件 -v ./text_providers.yaml:/app/text_providers.yaml

æ–¹å¼äºŒï¼šæœ¬åœ°å¼€å‘部署

å‰ç½®è¦æ±‚:

  • Python 3.11+
  • Node.js 18+
  • pnpm
  • uv

1. 克隆项目

git clone https://github.com/HisMax/RedInk.git
cd RedInk

2. é…ç½® API æœåŠ¡

å¤åˆ¶é…ç½®æ¨¡æ¿æ–‡ä»¶ï¼š

cp text_providers.yaml.example text_providers.yaml
cp image_providers.yaml.example image_providers.yaml

编辑é…置文件,填入你的 API Key å’ŒæœåŠ¡é…置。也å¯ä»¥å¯åЍåŽåœ¨ Web 界é¢çš„设置页é¢è¿›è¡Œé…置。

3. 安装åŽç«¯ä¾èµ–

uv sync

4. 安装å‰ç«¯ä¾èµ–

cd frontend
pnpm install

5. å¯åЍæœåŠ¡

一键å¯åŠ¨ï¼ˆæŽ¨è)

åŒå‡»è¿è¡Œå¯åŠ¨è„šæœ¬ï¼Œè‡ªåŠ¨å®‰è£…ä¾èµ–å¹¶å¯åЍå‰åŽç«¯ï¼š

  • macOS: start.sh 或åŒå‡» scripts/start-macos.command
  • Linux: ./start.sh
  • Windows: åŒå‡» start.bat

å¯åЍåŽè‡ªåŠ¨æ‰“å¼€æµè§ˆå™¨è®¿é—® http://localhost:5173

手动å¯åЍ

å¯åЍåŽç«¯:

uv run python -m backend.app

访问: http://localhost:12398

å¯åЍå‰ç«¯:

cd frontend
pnpm dev

访问: http://localhost:5173


🔧 é…置说明

é…置方å¼

项目支æŒä¸¤ç§é…置方å¼ï¼š

  1. Web 界é¢é…置(推è):å¯åЍæœåŠ¡åŽï¼Œåœ¨è®¾ç½®é¡µé¢å¯è§†åŒ–é…ç½®
  2. YAML 文件é…置:直接编辑é…置文件

文本生æˆé…ç½®

é…置文件: text_providers.yaml

# 当剿¿€æ´»çš„æœåŠ¡å•†
active_provider: openai

providers:
  # OpenAI 官方或兼容接å£
  openai:
    type: openai_compatible
    api_key: sk-xxxxxxxxxxxxxxxxxxxx
    base_url: https://api.openai.com/v1
    model: gpt-4o

  # Google Gemini(原生接å£ï¼‰
  gemini:
    type: google_gemini
    api_key: AIzaxxxxxxxxxxxxxxxxxxxxxxxxx
    model: gemini-2.0-flash

图片生æˆé…ç½®

é…置文件: image_providers.yaml

# 当剿¿€æ´»çš„æœåŠ¡å•†
active_provider: gemini

providers:
  # Google Gemini 图片生æˆ
  gemini:
    type: google_genai
    api_key: AIzaxxxxxxxxxxxxxxxxxxxxxxxxx
    model: gemini-3-pro-image-preview
    high_concurrency: false  # é«˜å¹¶å‘æ¨¡å¼

  # OpenAI 兼容接å£
  openai_image:
    type: image_api
    api_key: sk-xxxxxxxxxxxxxxxxxxxx
    base_url: https://your-api-endpoint.com
    model: dall-e-3
    high_concurrency: false

é«˜å¹¶å‘æ¨¡å¼è¯´æ˜Ž

  • 关闭(默认):图片é€å¼ ç”Ÿæˆï¼Œé€‚åˆ GCP 300$ è¯•ç”¨è´¦å·æˆ–有速率é™åˆ¶çš„ API
  • å¼€å¯ï¼šå›¾ç‰‡å¹¶è¡Œç”Ÿæˆï¼ˆæœ€å¤š15å¼ åŒæ—¶ï¼‰ï¼Œé€Ÿåº¦æ›´å¿«ï¼Œä½†éœ€è¦ API 支æŒé«˜å¹¶å‘

âš ï¸ GCP 300$ 试用账å·ä¸å»ºè®®å¯ç”¨é«˜å¹¶å‘,å¯èƒ½ä¼šè§¦å‘速率é™åˆ¶å¯¼è‡´ç”Ÿæˆå¤±è´¥ã€‚


âš ï¸ æ³¨æ„事项

  1. API é…é¢é™åˆ¶:

    • æ³¨æ„ Gemini å’Œå›¾ç‰‡ç”Ÿæˆ API 的调用é…é¢
    • GCP 试用账å·å»ºè®®å…³é—­é«˜å¹¶å‘模å¼
  2. ç”Ÿæˆæ—¶é—´:

    • 图片生æˆéœ€è¦æ—¶é—´,请è€å¿ƒç­‰å¾…(ä¸è¦ç¦»å¼€é¡µé¢ï¼‰

🤠å‚与贡献

欢迎æäº¤ Issue å’Œ Pull Request!

如果这个项目对你有帮助,欢迎给个 Star â­


更新日志

v1.4.1 (2025-12-29)

  • ✨ 新增一键å¯åŠ¨è„šæœ¬ï¼Œæ”¯æŒ macOS/Linux/Windows
  • ✨ 新增文案生æˆåŠŸèƒ½ï¼Œè‡ªåŠ¨ç”Ÿæˆæ ‡é¢˜ã€æ­£æ–‡å’Œæ ‡ç­¾
  • 🔧 ä¿®å¤åކå²è®°å½•ä¿å­˜æœºåˆ¶ï¼šå¤§çº²ç”ŸæˆåŽç«‹å³ä¿å­˜ï¼Œç¼–辑时自动ä¿å­˜ï¼ˆ300ms防抖)
  • 🔧 优化跳转逻辑:点击"开始生æˆ"å‰å¼ºåˆ¶ä¿å­˜æœªä¿å­˜çš„修改
  • ð 8000 Ÿ”§ 统一å¯åŠ¨è„šæœ¬ç«¯å£æ˜¾ç¤ºä¸º 12398
  • 🔧 清ç†åŽç«¯ç”Ÿæˆå™¨æœªä½¿ç”¨çš„é‡è¯•装饰器代ç 
  • 🔧 ä¿®å¤å‰ç«¯ CSS å˜é‡å¼•用问题
  • 🔧 优化 checkHistoryExists æŽ¥å£æ€§èƒ½ï¼Œä½¿ç”¨ä¸“用端点
  • 🔧 规范 recordId 赋值方å¼ï¼Œç»Ÿä¸€ä½¿ç”¨ setRecordId() 方法

v1.4.0 (2025-11-30)

  • ðŸ—ï¸ åŽç«¯æž¶æž„釿ž„:拆分å•体路由为模å—化è“图(historyã€imagesã€generationã€outlineã€config)
  • ðŸ—ï¸ å‰ç«¯ç»„件釿ž„:æå–å¯å¤ç”¨ç»„件(ImageGalleryModalã€OutlineModalã€ShowcaseBackground等)
  • ✨ 优化首页设计,移除冗余内容区å—
  • ✨ 背景图片预加载和æ¸å…¥åŠ¨ç”»ï¼Œæå‡åŠ è½½ä½“éªŒ
  • ✨ 历å²è®°å½•æŒä¹…化支æŒï¼ˆDocker部署)
  • 🔧 ä¿®å¤åކå²è®°å½•预览和大纲查看功能
  • 🔧 优化Modal组件å¯è§æ€§æŽ§åˆ¶
  • 🧪 新增65个åŽç«¯å•元测试

v1.3.0 (2025-11-26)

  • ✨ 新增 Docker 支æŒï¼Œä¸€é”®éƒ¨ç½²
  • ✨ å‘布官方 Docker 镜åƒåˆ° Docker Hub: histonemax/redink
  • 🔧 Flask 自动检测å‰ç«¯æž„建产物,支æŒå•容器部署
  • 🔧 Docker 镜åƒå†…置空白é…置模æ¿ï¼Œä¿æŠ¤ API Key 安全
  • 📠更新 README,添加 Docker 部署说明

v1.2.0 (2025-11-26)

  • ✨ 新增版æƒä¿¡æ¯å±•ç¤ºï¼Œæ‰€æœ‰é¡µé¢æ˜¾ç¤ºå¼€æºå议和项目链接
  • ✨ ä¼˜åŒ–å›¾ç‰‡é‡æ–°ç”ŸæˆåŠŸèƒ½ï¼Œæ”¯æŒå•张图片é‡ç»˜
  • ✨ 釿–°ç”Ÿæˆå›¾ç‰‡æ—¶ä¿æŒé£Žæ ¼ä¸€è‡´ï¼Œä¼ é€’完整上下文(å°é¢å›¾ã€å¤§çº²ã€ç”¨æˆ·è¾“入)
  • ✨ ä¿®å¤å›¾ç‰‡ç¼“å­˜é—®é¢˜ï¼Œé‡æ–°ç”Ÿæˆçš„图片立å³åˆ·æ–°æ˜¾ç¤º
  • ✨ 统一文本生æˆå®¢æˆ·ç«¯æŽ¥å£ï¼Œæ”¯æŒ Google Gemini å’Œ OpenAI 兼容接å£è‡ªåŠ¨åˆ‡æ¢
  • ✨ 新增 Web 界é¢é…置功能,å¯è§†åŒ–ç®¡ç† API æœåС商
  • ✨ æ–°å¢žé«˜å¹¶å‘æ¨¡å¼å¼€å…³ï¼Œé€‚é…ä¸åŒ API é…é¢
  • ✨ API Key è„±æ•æ˜¾ç¤ºï¼Œä¿æŠ¤å¯†é’¥å®‰å…¨
  • ✨ é…置自动ä¿å­˜ï¼Œä¿®æ”¹å³æ—¶ç”Ÿæ•ˆ
  • 🔧 调整默认 max_output_tokens 为 8000,兼容更多模型é™åˆ¶
  • 🔧 优化å‰ç«¯è·¯ç”±å’Œé¡µé¢å¸ƒå±€ï¼Œæå‡ç”¨æˆ·ä½“验
  • 🔧 简化é…ç½®æ–‡ä»¶ç»“æž„ï¼Œç§»é™¤å†—ä½™å‚æ•°
  • 🔧 优化历å²è®°å½•图片显示,使用缩略图节çœå¸¦å®½
  • 🔧 历å²è®°å½•釿–°ç”Ÿæˆæ—¶è‡ªåŠ¨ä»Žæ–‡ä»¶ç³»ç»ŸåŠ è½½å°é¢å›¾ä½œä¸ºå‚考
  • ðŸ› ä¿®å¤ store.updateImage æ–¹æ³•ç¼ºå¤±å¯¼è‡´çš„é‡æ–°ç”Ÿæˆå¤±è´¥é—®é¢˜
  • 🛠修å¤åކå²è®°å½•加载时图片 URL 拼接错误
  • 🛠修å¤ä¸‹è½½åŠŸèƒ½ä¸­åŽŸå›¾å‚æ•°å¤„ç†é—®é¢˜
  • 🛠修å¤å›¾ç‰‡åŠ è½½ 500 错误问题

交æµè®¨è®ºä¸ŽèµžåŠ©

è”系作者

用爱å‘电,如果å¯ä»¥ï¼Œè¯·é»˜å­å–一æ¯â˜•ï¸å’–å•¡å§

赞èµç 

Star History

Star History Chart


📄 å¼€æºåè®®

个人使用 - CC BY-NC-SA 4.0

本项目采用 CC BY-NC-SA 4.0 å议进行开æº

ä½ å¯ä»¥è‡ªç”±åœ°ï¼š

  • ✅ 个人使用 - 用于学习ã€ç ”ç©¶ã€ä¸ªäººé¡¹ç›®
  • ✅ 分享 - 在任何媒介以任何形å¼å¤åˆ¶ã€å‘行本作å“
  • ✅ 修改 - 修改ã€è½¬æ¢æˆ–以本作å“为基础进行创作

但需è¦éµå®ˆä»¥ä¸‹æ¡æ¬¾ï¼š

  • 📠署å - 必须给出适当的署å,æä¾›æŒ‡å‘本åè®®çš„é“¾æŽ¥ï¼ŒåŒæ—¶æ ‡æ˜Žæ˜¯å¦å¯¹åŽŸå§‹ä½œå“作了修改
  • 🚫 éžå•†ä¸šæ€§ä½¿ç”¨ - ä¸å¾—将本作å“用于商业目的
  • 🔄 ç›¸åŒæ–¹å¼å…±äº« - 如果你修改ã€è½¬æ¢æˆ–以本作å“为基础进行创作,你必须以相åŒçš„å议分å‘你的作å“

商业授æƒ

如果你希望将本项目用于商业目的(包括但ä¸é™äºŽï¼‰ï¼š

  • æä¾›ä»˜è´¹æœåŠ¡
  • 集æˆåˆ°å•†ä¸šäº§å“
  • 作为 SaaS æœåŠ¡è¿è¥
  • 其他盈利性用途

请è”系作者获å–商业授æƒï¼š

  • 📧 Email: histonemax@gmail.com
  • 💬 微信: Histone2024(请注明"商业授æƒå’¨è¯¢")

默å­ä¼šæ ¹æ®ä½ çš„具体使用场景æä¾›çµæ´»çš„å•†ä¸šæŽˆæƒæ–¹æ¡ˆã€‚


å…责声明

本软件按"原样"æä¾›ï¼Œä¸æä¾›ä»»ä½•å½¢å¼çš„æ˜Žç¤ºæˆ–暗示担ä¿ï¼ŒåŒ…括但ä¸é™äºŽé€‚销性ã€ç‰¹å®šç”¨é€”的适用性和éžä¾µæƒæ€§çš„æ‹…ä¿ã€‚åœ¨ä»»ä½•æƒ…å†µä¸‹ï¼Œä½œè€…æˆ–ç‰ˆæƒæŒæœ‰äººå‡ä¸å¯¹ä»»ä½•ç´¢èµ”ã€æŸå®³æˆ–其他责任负责。


🙠致谢

  • Google Gemini - 强大的文案生æˆèƒ½åŠ›
  • å›¾ç‰‡ç”ŸæˆæœåŠ¡æä¾›å•† - æƒŠè‰³çš„å›¾ç‰‡ç”Ÿæˆæ•ˆæžœ
  • Linux.do - 优秀的开å‘者社区

👨â€ðŸ’» 作者

é»˜å­ (Histone) - AI 创业者

  • 🠠ä½ç½®: 中国æ­å·ž
  • 🚀 状æ€: 创业中
  • 📧 Email: histonemax@gmail.com
  • 💬 微信: Histone2024 (ç§äººå¾®ä¿¡ä¸è§£ç­”任何技术问题)
  • 🙠GitHub: @HisMax

"让 AI å¸®æˆ‘ä»¬åšæ›´æœ‰åˆ›é€ åŠ›çš„äº‹"


如果这个项目帮到了你,欢迎分享给更多人! â­

有任何问题或建议,欢迎æ Issue !

About

红墨 - 基于ðŸŒNano Banana Pro🌠的一站å¼å°çº¢ä¹¦å›¾æ–‡ç”Ÿæˆå™¨ 《一å¥è¯ä¸€å¼ å›¾ç‰‡ç”Ÿæˆå°çº¢ä¹¦å›¾æ–‡ã€‹ Red Ink - A one-stop Xiaohongshu image-and-text generator based on the ðŸŒNano Banana ProðŸŒ, "One Sentence, One Image: Generate Xiaohongshu Text and Images."

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Python 46.4%
  • Vue 31.9%
  • TypeScript 12.6%
  • CSS 5.3%
  • Shell 2.5%
  • Batchfile 0.9%
  • Other 0.4%
0