# PotatoRedInk > Customized Xiaohongshu content generator for summarizing articles into minimalist, high-quality visual cards with strict platform compliance - Author: jackyecho1029 - Repository: jackyecho1029/potatoredink - Version: 20260120232153 - Stars: 0 - Forks: 0 - Last Updated: 2026-02-06 - Source: https://github.com/jackyecho1029/potatoredink - Web: https://mule.run/skillshub/@@jackyecho1029/potatoredink~PotatoRedInk:20260120232153 --- --- name: PotatoRedInk description: Customized Xiaohongshu content generator for summarizing articles into minimalist, high-quality visual cards with strict platform compliance --- # PotatoRedInk **基于 RedInk 的定制版本 - 专注于文章总结与极简高级风格** ## 概述 PotatoRedInk 是对 [RedInk](https://github.com/HisMax/RedInk) 的深度定制版本,专注于将长文/文章总结提炼成适合小红书发布的极简高级图文内容。 ### 与原版 RedInk 的主要区别 | 特性 | 原版 RedInk | PotatoRedInk | |------|------------|--------------| | **内容生成模式** | 从一句话创意生成内容 | 从完整文章提炼总结 | | **视觉风格** | 小红书爆款风格 | 极简高级、Apple/杂志风 | | **背景设计** | 丰富视觉元素 | 纯色/渐变、抽象几何 | | **文字密度** | 较多文字和emoji | 少文字、多留白、克制emoji | | **平台合规** | 默认 | **严格过滤URLs和@mentions** | ## 核心特性 ### 1. 智能文章总结 - **输入**:完整文章、长文、PDF提取文本 - **输出**:4-10页精炼大纲,每页一个核心观点 - **特点**:忠于原文,不编造,只做"减法"和"划重点" ### 2. 极简高级视觉 - **风格**:Minimalist High-End, Apple Aesthetic - **背景**:纯色、柔和渐变、抽象几何形状 - **字体**:现代无衬线,高对比度 - **质量**:8K Vector-Style, 高分辨率,防模糊 ### 3. 平台合规保障 - ✅ **自动移除URLs** - 防止引流标记 - ✅ **自动移除@mentions** - 防止误标记用户 - ✅ **符号清洗** - 避免乱码和特殊字符 ## 安装与配置 ### 前置要求 - Python 3.11+ - Node.js 18+ - pnpm - uv - Gemini API Key (用于文本和图片生成) ### 一键启动 ```bash cd D:\Antigravity\Jackypotato\skills\potatoredink # Windows start.bat # macOS/Linux ./start.sh ``` 访问: `http://localhost:5173` ### 配置说明 #### 文本生成配置 (`text_providers.yaml`) ```yaml active_provider: gemini providers: gemini: type: google_gemini api_key: YOUR_GEMINI_API_KEY model: gemini-2.0-flash ``` #### 图片生成配置 (`image_providers.yaml`) ```yaml active_provider: gemini providers: gemini: type: google_genai api_key: YOUR_GEMINI_API_KEY model: gemini-3-pro-image-preview default_aspect_ratio: '3:4' temperature: 0.8 high_concurrency: false # GCP试用账号建议关闭 ``` ## 使用方式 ### 基本流程 1. **输入文章全文** - 粘贴完整article/长文到输入框 2. **可选上传参考图** - 最多5张,用于封面样式参考 3. **点击"生成大纲"** - AI自动提炼总结 4. **审阅大纲** - 可手动调整内容 5. **生成图片** - 批量生成所有页面的图片 6. **导出下载** - 保存到本地或直接发布 ### 输入示例 ``` 例如粘贴一篇技术教程全文: "如何申请 Gemini 3 会员 本文详细介绍了从申请Google账号到使用Antigravity的完整流程... (3000字完整教程)" ``` ### 输出示例 - **封面**: 简洁标题 + 一句话副标题 - **内容页**: 3-6页核心要点(步骤化、列表化) - **风格**: 极简商务风,纯色背景,大标题 ## 定制化修改记录 ### Prompt工程优化 #### 1. `backend/prompts/outline_prompt.txt` - **原版**: "基于主题创意生成小红书图文大纲" - **定制**: "将长文总结提炼成小红书图文大纲" - **新增规则**: - 绝对禁止网址 - 绝对禁止@用户 - 清洗特殊符号 - emoji克制(最多3-5个) #### 2. `backend/prompts/image_prompt.txt` - **原版**: "小红书爆款图文风格" - **定制**: "Minimalist High-End, Magazine Style, Apple Aesthetic" - **新增要求**: - High-Resolution, Vector-Style, 8K Ultra-HD - 严格Negative Prompt: blur, pixelated, compression artifacts - 强调text vector-sharp #### 3. `frontend/src/components/home/ComposerInput.vue` - **原版 Placeholder**: "输入主题,例如:秋季显白美甲..." - **定制 Placeholder**: "输入长文/文章全文,AI 帮你总结提炼...(支持 text/markdown)" ### 2. 生产级后端重构 (Recent Major Refactor) - **核心架构更新**: 引入 Pydantic 模型进行严格的数据契约验证,提升系统稳定性。 - **鲁棒性 JSON 解析**: 使用正则表达式从 LLM 原始响应中精确提取 JSON,解决格式不规范导致的解析失败。 - **海报模式增强**: 专门针对海报生成逻辑进行了优化,支持多板块风格定制和金句提炼。 ### 3. 已修复的重大故障 (Recent Critical Fixes) #### 故障 1: 500 Internal Server Error (object of type 'int' has no len()) - **现象**: 在生成大纲或海报时,后端抛出 `TypeError: object of type 'int' has no len()`。 - **根本原因**: 在记录日志或准备提示词时,代码直接对 `images` 变量调用了 `len()`,但该变量在某些情况下(如前端只传递了图片数量而非列表)被赋值成了整数,导致调用失败。 - **修复方案**: 在所有相关入口处增加了防御性类型检查:`image_count = len(images) if isinstance(images, list) else 0`,确保系统即便收到非预期类型的参数也能平稳运行。 #### 故障 2: 海报生成校验失败 (Pydantic Validation Error) - **现象**: 海报生成响应返回 500,提示 `Field required [type=missing, input_value={'icon': ..., 'heading': ...}, input_type=dict]`。 - **根本原因**: LLM 返回的 JSON 结构(如 `heading`)与后端定义的 Pydantic Schema(预期为 `title`)不一致。 - **修复方案**: 同步更新了 `backend/schemas.py` 中的模型定义与 `poster_prompt.txt` 的输出规范,增加了 `style`、`quote`、`summary` 等字段支持,完美适配 LLM 输出。 ## 技术架构 ### 后端 (Flask + Python) - `backend/schemas.py` - **[NEW]** Pydantic 数据契约,定义 Request/Response 结构 - `backend/prompts/` - 系统Prompt模板 - `backend/services/` - 逻辑核心,包含大纲、海报及图片生成服务 - `backend/utils/` - Gemini API客户端与图片处理工具 - `backend/routes/` - API路由,包含详细的请求日志与错误追踪 ### 前端 (Vue 3 + Vite) - 响应式UI - SSE流式进度显示 - 图片预览与编辑 ## 故障排除 ### 常见问题 **Q: 图片生成失败,显示500错误** - 检查Gemini API Key是否有效 - 确认`image_providers.yaml`中`base_url`设置正确 - 查看`backend/app.py`日志 **Q: 生成的图片模糊** - 确认已更新`image_prompt.txt`为最新版本 - 检查`temperature`设置(建议0.8) - 重新生成多次尝试 **Q: 内容中仍有URL** - 确认`outline_prompt.txt`已添加安全规则 - 重启后端服务 - 清空浏览器缓存 ## 开发与贡献 ### 本地开发 ```bash # 后端 cd D:\Antigravity\Jackypotato\skills\potatoredink uv sync uv run python -m backend.app # 前端 cd frontend pnpm install pnpm dev ``` ### 自定义Prompt 编辑以下文件: - `backend/prompts/outline_prompt.txt` - 控制内容总结风格 - `backend/prompts/image_prompt.txt` - 控制视觉风格 ## 许可协议 基于 [RedInk](https://github.com/HisMax/RedInk) - CC BY-NC-SA 4.0