Skip to content

derrickjohnpiper/AI_BLOG_TEAM

Repository files navigation

EchoInk Logo

๐Ÿ–Š๏ธ EchoInk โ€” The Blog Team

Your words. Your voice. Autonomously written.

A fully autonomous, AI-powered blog writing pipeline that researches, outlines, writes, and edits long-form content in your exact personal style โ€” while you sleep.


Python CrewAI Ollama Streamlit Open Source


๐ŸŒ‘ What Is EchoInk โ€” The Blog Team?

EchoInk runs a dark factory โ€” a fully automated, night-shift AI writing operation powered by five specialized agents. You give them a topic. They give you a 2,500โ€“3,500 word blog post that sounds exactly like you wrote it.

No generic AI slop. No cookie-cutter structure. Pure, personalized, publication-ready content.

The crew studies your writing samples, researches the web, builds an outline, drafts every word, and polishes it to perfection โ€” all without you lifting a finger.


๐Ÿค– Meet The Crew โ€” Your 5 AI Agents

โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
โ”‚                     THE BLOG TEAM PIPELINE                         โ”‚
โ”‚                                                                     โ”‚
โ”‚  [Style Analyst] โ†’ [Researcher] โ†’ [Outliner] โ†’ [Writer] โ†’ [Editor] โ”‚
โ”‚       ๐ŸŽจ               ๐Ÿ”            ๐Ÿ“‹           โœ๏ธ          โœ…     โ”‚
โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜
# Agent Crew Name Model Role
1 ๐ŸŽจ Crew_Style_Analyst Llama3.2 Reads your writing samples & builds a Style Profile
2 ๐Ÿ” Crew_Researcher Qwen2.5-VL Searches the web for fresh data & company context
3 ๐Ÿ“‹ Crew_Outliner Llama3.2 Architects the structure โ€” hooks, sections, flow
4 โœ๏ธ Crew_Writer Qwen2.5-VL Drafts the full 2,500โ€“3,500 word post in your voice
5 โœ… Crew_Editor Llama3.2 Polishes length, SEO, style match & final quality

๐ŸŽจ Crew_Style_Analyst

"I am the keeper of your voice."

Reads every sample in your /samples directory and creates a detailed Style Profile โ€” capturing tone, sentence rhythm, vocabulary, paragraph structure, storytelling patterns, and humor. Every other agent must follow this profile exactly.

  • Model: Llama3.2-AgentHermes-Coder-3B (High-level analysis & management)
  • Tools: DirectoryReadTool (samples folder)
  • Context Window: 32,000 tokens
  • Max Execution: 300 seconds

๐Ÿ” Crew_Researcher

"Fresh facts. Zero hallucinations."

Pulls real-time web data, industry stats, company angles, and supporting examples for the given topic. Provides clean research notes with cited sources so the writer never has to guess.

  • Model: Qwen2.5-VL-7B-Instruct (Precision worker, instruction-following)
  • Tools: SerperDevTool (Web Search), FileReadTool
  • Context Window: 32,000 tokens
  • Max Execution: 300 seconds

๐Ÿ“‹ Crew_Outliner

"Structure is half the battle."

Takes the research and style profile to architect a detailed outline โ€” strong hook, logical sections, subheadings, and a compelling CTA. Estimates word count per section and notes which examples to weave in.

  • Model: Llama3.2-AgentHermes-Coder-3B (Strategic thinking)
  • Tools: None (pure reasoning)
  • Context Window: 32,000 tokens
  • Max Execution: 300 seconds

โœ๏ธ Crew_Writer

"I am you. I write like you. I think like you."

Drafts the complete blog post โ€” first person, your voice, your cadence. Short-to-medium paragraphs, personal anecdotes, conversational authority. Never goes below 2,500 words.

  • Model: Qwen2.5-VL-7B-Instruct (High-output precision drafting)
  • Tools: FileReadTool (style profile access)
  • Context Window: 32,000 tokens
  • Max Execution: 300 seconds

โœ… Crew_Editor

"Nothing ships until it's perfect."

The final gate. Reviews the draft for length, flow, SEO optimization, style match, factual accuracy, and publication readiness. Adds a meta description and keyword recommendations.

  • Model: Llama3.2-AgentHermes-Coder-3B (Quality management)
  • Tools: None (editorial review)
  • Context Window: 32,000 tokens
  • Max Execution: 300 seconds

๐Ÿ“ Project Structure

AI_BLOG_TEAM/
โ”œโ”€โ”€ ๐Ÿ“‚ src/blog_team/           โ† CORE APPLICATION (source of truth)
โ”‚   โ”œโ”€โ”€ crew.py                 โ† Agent & task orchestration
โ”‚   โ”œโ”€โ”€ main.py                 โ† CLI entry point
โ”‚   โ”œโ”€โ”€ __init__.py
โ”‚   โ”œโ”€โ”€ ๐Ÿ“‚ config/
โ”‚   โ”‚   โ”œโ”€โ”€ agents.yaml         โ† Agent definitions (role, goal, backstory)
โ”‚   โ”‚   โ””โ”€โ”€ tasks.yaml          โ† Task definitions & expected outputs
โ”‚   โ””โ”€โ”€ ๐Ÿ“‚ tools/               โ† Custom tool integrations
โ”‚
โ”œโ”€โ”€ ๐Ÿ“‚ modelfiles/              โ† Ollama Modelfiles for each crew member
โ”‚   โ”œโ”€โ”€ Crew_Style_Analyst.Modelfile
โ”‚   โ”œโ”€โ”€ Crew_Researcher.Modelfile
โ”‚   โ”œโ”€โ”€ Crew_Outliner.Modelfile
โ”‚   โ”œโ”€โ”€ Crew_Writer.Modelfile
โ”‚   โ””โ”€โ”€ Crew_Editor.Modelfile
โ”‚
โ”œโ”€โ”€ ๐Ÿ“‚ samples/                 โ† YOUR writing samples (feeds Style Analyst)
โ”‚   โ””โ”€โ”€ ๐Ÿ“‚ derrick/             โ† Derrick-John's blog posts & writings
โ”‚
โ”œโ”€โ”€ ๐Ÿ“‚ Website_echoink/         โ† EchoInk marketing website
โ”‚   โ”œโ”€โ”€ index.html
โ”‚   โ”œโ”€โ”€ ecommerce.html
โ”‚   โ”œโ”€โ”€ blog.html
โ”‚   โ”œโ”€โ”€ style.css
โ”‚   โ””โ”€โ”€ script.js
โ”‚
โ”œโ”€โ”€ ๐Ÿ“‚ Logo_Asests/             โ† Brand assets & logos
โ”‚   โ””โ”€โ”€ ๐Ÿ“‚ Logo_EchoInk_Blots/
โ”‚
โ”œโ”€โ”€ streamlit_app.py            โ† One-click Streamlit UI
โ”œโ”€โ”€ pyproject.toml              โ† Package config & scripts
โ”œโ”€โ”€ requirements.txt            โ† Python dependencies
โ””โ”€โ”€ .env                        โ† API keys (never commit this!)

โšก Quick Start

Prerequisites

  • Python 3.11+
  • Ollama installed and running
  • A Serper API key (free tier available)

1. Clone the Repository

git clone https://github.com/derrickjohnpiper/AI_BLOG_TEAM.git
cd AI_BLOG_TEAM

2. Set Up Python Environment

python -m venv .venv

# Windows
.venv\Scripts\activate

# Mac/Linux
source .venv/bin/activate

pip install -e .

3. Configure Your Environment

Create a .env file in the root directory:

SERPER_API_KEY=your_serper_api_key_here
OPENAI_API_BASE=http://localhost:11434/v1
OPENAI_API_KEY=ollama
OPENAI_MODEL_NAME=Crew_Writer

4. Load the Models into Ollama

# Build each crew member from their Modelfile
ollama create Crew_Style_Analyst -f modelfiles/Crew_Style_Analyst.Modelfile
ollama create Crew_Researcher    -f modelfiles/Crew_Researcher.Modelfile
ollama create Crew_Outliner      -f modelfiles/Crew_Outliner.Modelfile
ollama create Crew_Writer        -f modelfiles/Crew_Writer.Modelfile
ollama create Crew_Editor        -f modelfiles/Crew_Editor.Modelfile

5. Add Your Writing Samples

Drop your blog posts, articles, or any writing into:

samples/derrick/

The more samples the better โ€” the Style Analyst uses everything it finds.

6. Launch the Crew

Option A โ€” Streamlit UI (Recommended):

streamlit run streamlit_app.py

Open your browser to http://localhost:8501, enter your topic, and click Run The Blog Team โœจ

Option B โ€” Command Line:

python -m blog_team.main
# or
blog_team

๐Ÿง  AI Models Used

This project runs 100% open source, locally-hosted models via Ollama โ€” zero API costs, zero per-token fees.

Model File Size Role Assignment
Llama3.2-AgentHermes-Coder-3B-Q4_K_M .gguf ~2GB Style Analyst, Outliner, Editor
Qwen2.5-VL-7B-Instruct-mmproj-BF16 .gguf ~1.3GB Researcher, Writer

Why these models?

  • Llama 3.2 (Hermes) โ€” Exceptional high-level reasoning, persona management, and structured thinking. Perfect for the manager/editor roles.
  • Qwen 2.5-VL โ€” Outstanding instruction-following precision with vision capabilities. Ideal for research ingestion and long-form drafting.

Both models configured with:

  • โœ… 32,000 token context window โ€” handles long documents without losing context
  • โœ… Tool calling enabled โ€” agents can use web search, file reading, and custom tools
  • โœ… No-think mode โ€” clean, direct output without verbose reasoning chains

๐Ÿ”ง Modelfile Overview

All modelfiles live in /modelfiles/. Each crew member has a dedicated file that configures:

modelfiles/
โ”œโ”€โ”€ Crew_Style_Analyst.Modelfile   โ† Llama3.2 | Style analysis | reads samples
โ”œโ”€โ”€ Crew_Researcher.Modelfile      โ† Qwen2.5  | Web research   | SerperDev tool
โ”œโ”€โ”€ Crew_Outliner.Modelfile        โ† Llama3.2 | Blog structure | strategic planner
โ”œโ”€โ”€ Crew_Writer.Modelfile          โ† Qwen2.5  | Long-form drafting | your voice
โ””โ”€โ”€ Crew_Editor.Modelfile          โ† Llama3.2 | QA + SEO       | final gate

Each modelfile includes:

  • Dedicated system prompt with role, goal, and backstory
  • Tool calling configuration (JSON-schema format)
  • Context window set to 32,000 tokens
  • Temperature and parameter tuning per role
  • Response format templates

๐ŸŒ The EchoInk Website

The marketing website lives in /Website_echoink/. It explains the EchoInk service to clients and includes:

  • Landing Page (index.html) โ€” Service overview with dark factory branding
  • E-Commerce Page (ecommerce.html) โ€” Blog packages & pricing
  • Blog Page (blog.html) โ€” Sample posts & "Submit a Blog" form

To view locally, just open Website_echoink/index.html in your browser.


๐Ÿ› ๏ธ Configuration Files

src/blog_team/config/agents.yaml

Defines each agent's role, goal, and backstory โ€” the personality and directive for each crew member.

src/blog_team/config/tasks.yaml

Defines each task โ€” what to do, expected output format, which agent handles it, and what context it receives from prior tasks.

streamlit_app.py

One-click browser UI. Enter a topic โ†’ click Run โ†’ watch the crew work in real time.


๐Ÿ“Š The Pipeline Flow

Topic Input
    โ”‚
    โ–ผ
๐ŸŽจ Crew_Style_Analyst
    Reads /samples โ†’ Outputs Style Profile
    โ”‚
    โ–ผ
๐Ÿ” Crew_Researcher
    Searches web โ†’ Outputs Research Notes
    โ”‚
    โ–ผ
๐Ÿ“‹ Crew_Outliner โ—„โ”€โ”€ receives: Style Profile + Research Notes
    Builds structure โ†’ Outputs Blog Outline
    โ”‚
    โ–ผ
โœ๏ธ Crew_Writer โ—„โ”€โ”€ receives: Style Profile + Research + Outline
    Drafts full post โ†’ Outputs ~3,000 word draft
    โ”‚
    โ–ผ
โœ… Crew_Editor โ—„โ”€โ”€ receives: Full draft
    Polishes + SEO โ†’ Outputs: report.md (final post)

๐Ÿ”ฎ Coming Soon

  • Cloud Hosting โ€” Deploy models via free-tier cloud GPUs (Groq, Hugging Face Spaces, Replicate free tier)
  • Style Profile Caching โ€” Skip re-analysis when samples haven't changed
  • Multi-Author Support โ€” Maintain separate style profiles per author
  • Automatic Publishing โ€” Push finalized posts directly to WordPress / Ghost / Substack
  • SEO Score Integration โ€” Real-time keyword density and readability scoring
  • Web Dashboard โ€” Full EchoInk client portal

๐Ÿ‘ค About the Creator

Derrick-John Piper โ€” Founder of EchoInk, builder of AI-powered creative systems, and firm believer that your authentic voice shouldn't have an expiration date just because you're busy.

"I built The Blog Team so my writing could keep showing up even when I can't. This is my dark factory โ€” and it runs all night."


๐Ÿ“„ License

MIT License โ€” See LICENSE for details.


Built with ๐Ÿ–Š๏ธ by Derrick-John Piper | Powered by EchoInk

The dark factory never sleeps.

About

This is a CrewAI orchestration. I don't see them shared often, so I think In old share. There was another repo which inspired me this also Alwrity.

Resources

License

Stars

1 star

Watchers

1 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors