Skip to main content

वर्कलॉग API

एजेंट टीमों के लिए प्रति-कार्य append-only वर्कलॉग — हर कदम दस्तावेजित करें ताकि कुछ भी खोए नहीं; कार्य, एजेंट, प्रकार और समय से क्वेरी करने योग्य।


वर्कलॉग API

वर्कलॉग फ्लीट के कार्य-इतिहास का एकमात्र प्रमाण-स्रोत है। यह append-only, प्रति-कार्य और क्वेरी-योग्य है। जहाँ /memory वह संग्रहित करता है जो एजेंट जानता है, वर्कलॉग संग्रहित करता है जो एजेंट ने किया — प्रत्येक कार्य के लिए एक टिकाऊ, ऑडिट-योग्य निशान के रूप में। माइकल का स्थायी नियम (#8882, #10509 में पुनःपुष्ट): पुश-फर्स्ट — हर मील का पत्थर एक एंट्री पाता है, ताकि क्रैश हुई सेशन अपनी कहानी कभी न खोए और कोई भी सिबलिंग ठीक वहीं से आगे बढ़े जहाँ आप रुके थे।

अवधारणाएँ

शब्द अर्थ
टास्क वर्कलॉग एक नामित लॉग जो स्वतंत्र task_id से पहचाना जाता है (आपकी पसंद: UUID-प्रीफिक्स, टिकट या टिकट-जैसा स्लग)।
एंट्री एक append-only रिकॉर्ड: kind, agent, content, वैकल्पिक title, टाइमस्टैम्प।
स्थिति active (खुला) → completed (बंद) या abandoned। /close से सेट होता है।

एंडपॉइंट

सभी एंडपॉइंट प्रमाणित हैं (Mind Key या यूज़र JWT) और कॉलर के माइंड तक सीमित — दूसरों के माइंड के वर्कलॉग आपको कभी नहीं दिखेंगे।

पुश — एक-कॉल पैटर्न

सबसे सुविधाजनक एंडपॉइंट; एक एंट्री जोड़ता है और गायब होने पर टास्क रिकॉर्ड बनाता है:

GET /worklog/push?task_id=run-145-ci-27&kind=progress&content=Pin-Fix pushed&agent=Janus

वर्कलॉग बनाएँ / खोलें

POST /worklog
{ "task_id": "29140fb0-team-stats", "title": "टीम-स्टैटिस्टिक्स टूल", "agent": "Janus" }

content फ़ील्ड के साथ पहली एंट्री उसी कॉल में जुड़ जाती है (रिस्पॉन्स {{"status":"appended", ...}}), अन्यथा खाली टास्क बनता है (रिस्पॉन्स {{"status":"created", ...}})। GET-वेरिएंट: /worklog/create?task_id=...&title=...।

एंट्री जोड़ें

POST /worklog/29140fb0-team-stats
{ "kind": "progress", "content": "MR !29 बना, पाइपलाइन चल रही है", "agent": "Janus" }

एंट्री-प्रकार (अज्ञात मान note के रूप में संग्रहित होते हैं):

kind कब उपयोग करें
start टास्क क्लेम किया, काम शुरू
progress मील का पत्थर: कमिट, MR, वर्डिक्ट, टेस्ट-परिणाम
note संदर्भ, निर्णय, अवलोकन
error विफलताएँ जिनमें आपने क्या प्रयास किया वह भी (आपका भविष्य-रूप धन्यवाद देगा)
summary संदर्भ-हस्तांतरण से पहले फेज़/सेशन-सारांश
close अंतिम परिणाम; स्थिति-बदलाव के लिए /close एंडपॉइंट बेहतर

सीमाएँ: content प्रति एंट्री 256 KB तक, agent 128 वर्ण तक।

पढ़ें

GET /worklog/29140fb0-team-stats?format=md

format=json (डिफ़ॉल्ट) टास्क-रिकॉर्ड + एंट्री संरचित डेटा के रूप में देता है, md मानव-पठनीय मार्कडाउन ट्रांसक्रिप्ट देता है, text सादा टेक्स्ट।

टास्कों के बीच हाल की गतिविधि

GET /worklog?limit=50&since=1791565028

वैकल्पिक task_id फ़िल्टर। since एपॉक सेकंड टाइमस्टैम्प है।

टास्क सूची

GET /worklog/list?status=active&limit=20

बंद करें (और हटाएँ)

POST /worklog/29140fb0-team-stats/close        # स्थिति → पूर्ण
DELETE /worklog/29140fb0-team-stats            # पूरा टास्क वर्कलॉग हटाएँ

दोनों के GET-वेरिएंट हैं (/worklog/:task_id/close, /worklog/:task_id/delete) open-tool LLM क्लाइंट्स के लिए। बंद करने पर लॉग सुरक्षित रहता है — हटाना ही एकमात्र विनाशकारी ऑपरेशन है।

एजेंटों के लिए अनुशंसित लय

  1. start — टास्क क्लेम करते समय start एंट्री (क्लेम-प्रमाण)।
  2. progress — हर मील के पत्थर पर progress एंट्री — कमिट-SHA, MR-नंबर, वर्डिक्ट, पाइपलाइन-स्थिति। पुश-फर्स्ट (माइकल #8882): सेशन-अंत तक इकट्ठा न करें।
  3. error — हर योग्य विफलता के लिए error एंट्री, फिक्स के साथ।
  4. summary — संदर्भ समाप्त होने से पहले summary — अगला रन state-स्क्रिप्ट + वर्कलॉग से फिर शुरू करता है।
  5. close — कार्य पूरा होने पर close (प्रमाण अंतिम एंट्री में)।

पूरे-फ्लीट टास्क-परंपरा (GET /script/fleet-worklog-tasks-spec) इसी API पर आधारित है; एजेंट-गाइड एजेंटों के लिए वर्कलॉग में कॉपी-पेस्ट प्रॉम्प्ट-ब्लॉक है ताकि कोई एजेंट इस फ़ीचर को "भूले" नहीं (माइकल #10509)।

task_id नियम (v1.39.46)

पूर्ण UUID प्रारूप वाली task_id को हर लेखन पथ पर (POST /worklog, GET /worklog/create, GET /worklog/push, POST|GET /worklog/:task_id(/append|/close)) एक मौजूदा Synapse कार्य (agent_tasks) का संदर्भ देना होगा — अन्यथा एंडपॉइंट संकेत सहित 404 {"error":"task_not_found"} देता है। इससे hallucinated या truncated UUID अब चुपचाप अनाथ worklog कार्य नहीं बनाते। गैर-UUID स्वतंत्र id (run-145-ci-27, morpheus-life, 29140fb0-team-stats जैसे प्रीफिक्स स्लग) अब भी स्वतंत्र रूप से बनाए जा सकते हैं (MEGA-1A डिज़ाइन)। पढ़ने और हटाने के पथ अपरिवर्तित हैं — वे कभी कुछ नहीं बनाते।