Obsidian के AI कंसल्टेशन लॉग को WordPress पर ऑटो-पोस्ट करने का पाइपलाइन बनाया
परिचय
AI के साथ तकनीकी सलाह करते समय, कभी-कभी ऐसा लगता है कि "यह बातचीत बाद में काम आएगी"। लेकिन वास्तव में, चैट इतिहास दब जाता है और उसे ज्ञान के रूप में उपयोग नहीं किया जाता।
इस लेख में, मैं Obsidian में कॉपी-पेस्ट किए गए AI कंसल्टेशन लॉग को ऑटोमेटिक ब्लॉग आर्टिकल में बदलकर WordPress पर ड्राफ्ट पोस्ट करने वाले पाइपलाइन का डिज़ाइन और इम्प्लीमेंटेशन पॉइंट्स प्रस्तुत करता हूं। उम्मीद है यह उन लोगों के लिए उपयोगी होगा जो एक ही समस्या का सामना कर रहे हैं।
पाइपलाइन का ओवरव्यू
प्रक्रिया सरल रूप से 4 चरणों में विभाजित है।
- इनपुट — Obsidian के Inbox फोल्डर में चैट लॉग को Markdown के रूप में सहेजना
- ट्रिगर — फाइल में बदलाव का पता लगाकर प्रक्रिया शुरू करना
- प्रोसेस — Claude API से लॉग को ब्लॉग आर्टिकल फॉर्मेट में बदलना
- आउटपुट — WordPress REST API से ऑटोमेटिक ड्राफ्ट पोस्ट करना
Obsidian (Markdown)
└─ watchdog (फाइल मॉनिटरिंग)
└─ Claude API (आर्टिकल कन्वर्जन)
└─ WP REST API (ड्राफ्ट पोस्टिंग)
तकनीक स्टैक का चयन
फाइल मॉनिटरिंग: Python watchdog
Python की watchdog लाइब्रेरी निर्दिष्ट डायरेक्टरी के बदलाव इवेंट को रियल-टाइम में डिटेक्ट कर सकती है। Obsidian के हर सेव पर इवेंट फायर होता है, इसलिए यह ट्रिगर के रूप में आदर्श है।
from watchdog.observers import Observer
from watchdog.events import FileSystemEventHandler
class MarkdownHandler(FileSystemEventHandler):
def on_created(self, event):
if event.src_path.endswith(".md"):
process_file(event.src_path)
observer = Observer()
observer.schedule(MarkdownHandler(), path="./inbox", recursive=False)
observer.start()
आर्टिकल कन्वर्जन: Claude API
लॉग को सीधे पोस्ट करने की बजाय, Claude API को "आर्टिकल कन्वर्जन प्रॉम्प्ट" पास करके फॉर्मेट करें। यहां का मुख्य बिंदु आर्टिकल फॉर्मेट पहले से तय करना है।
- Q&A फॉर्मेट में रखना → बातचीत का प्रवाह आसानी से समझ आता है
- सारांश आर्टिकल बनाना → स्कैन करने और पढ़ने में आसान
- हाइब्रिड → परिचय + Q&A अंश + सारांश
प्रॉम्प्ट उदाहरण:
prompt = f"""
नीचे दिए गए AI कंसल्टेशन लॉग के आधार पर, एक तकनीकी ब्लॉग आर्टिकल लिखें।
- H2/H3 हेडिंग का उपयोग करें
- कोड ब्लॉक का उचित उपयोग करें
- 3 टैग सुझाएं
- आउटपुट फॉर्मेट: JSON {{ "title": "", "content": "", "tags": [] }}
---लॉग---
{raw_log}
"""
WordPress पोस्टिंग: REST API
WP REST API का उपयोग करके बाहर से प्रोग्रामेटिक पोस्टिंग संभव है। ऑथेंटिकेशन के लिए Application Password का उपयोग वर्तमान सर्वोत्तम अभ्यास है।
import requests
import base64
def post_to_wordpress(title, content, tags):
credentials = base64.b64encode(b"username:app_password").decode("utf-8")
headers = {"Authorization": f"Basic {credentials}"}
payload = {
"title": title,
"content": content,
"status": "draft", # हमेशा ड्राफ्ट के रूप में पोस्ट करें
"tags": tags,
}
response = requests.post(
"https://example.com/wp-json/wp/v2/posts",
json=payload,
headers=headers,
)
return response.json()
डिज़ाइन में भटकाने वाले बिंदु
लॉग की "मूल भावना" कितनी बनाए रखें
AI के साथ बातचीत में ट्रायल-एंड-एरर की प्रक्रिया शामिल होती है। सब कुछ फॉर्मेट कर देने से "उस निष्कर्ष तक कैसे पहुंचे" का संदर्भ खो जाता है। Q&A फॉर्मेट का कुछ हिस्सा रखने से पाठकों के लिए अनुभव दोहराना आसान हो जाता है।
टैग और कैटेगरी का ऑटो-असाइनमेंट
Claude API के रिस्पॉन्स में टैग कैंडिडेट शामिल करने से मैन्युअल काम जीरो हो सकता है। हालांकि जब तक सटीकता स्थिर नहीं हो जाती, पोस्ट स्टेटस को draft रखकर मानव रिव्यू कराना सुरक्षित है।
डबल प्रोसेसिंग की रोकथाम
watchdog हर फाइल सेव पर इवेंट फायर करता है, इसलिए एक ही फाइल कई बार प्रोसेस हो सकती है। प्रोसेस किए गए फाइल रिकॉर्ड करने वाले DB (SQLite पर्याप्त है) या फाइल के हैश मैनेजमेंट से रोका जा सकता है।
सारांश
इस पाइपलाइन की मुख्य बात है "पहले आर्टिकल का आउटपुट फॉर्मेट तय करना"। फॉर्मेट तय होने पर, प्रॉम्प्ट डिज़ाइन और कोड इम्प्लीमेंटेशन सुचारू रूप से आगे बढ़ता है।
शुरू से सब कुछ ऑटोमेट करने की कोशिश किए बिना, कन्वर्जन → रिव्यू → मैन्युअल पब्लिशिंग के फ्लो से शुरू करके, जब क्वालिटी स्थिर हो जाए तब ऑटो-पब्लिशिंग पर स्विच करना व्यावहारिक दृष्टिकोण है। AI के साथ बातचीत में ब्लॉग आर्टिकल बनने की पर्याप्त क्वालिटी है यदि आप उसे व्यवस्थित करें। उसे दबा देना बर्बादी है।