Patricia

ทางการ

Patricia เชื่อมต่อไคลเอนต์ AI ของคุณเข้ากับพื้นที่ทำงาน Patricia หนึ่งพื้นที่ อ่านหน่วยความจำและไฟล์ของพื้นที่ทำงาน ตรวจสอบการผสานรวมที่เชื่อมต่ออยู่ และมอบหมายงานให้ Patricia พร้อมการควบคุมการอนุมัติโดยมนุษย์

GitHubลองใช้ MCP นี้ผู้สนับสนุน

คุณทำอะไรได้บ้างด้วย Patricia MCP?

  • ติดตั้งและกำหนดค่า plugin — ให้ AI ของคุณติดตั้ง plugin patricia ผ่าน marketplace และลงชื่อเข้าใช้ด้วย OAuth หรือ personal token
  • เตรียมโปรเจกต์ให้อัตโนมัติ — hook SessionStart จะทักทายคุณและเสนอทักษะ onboard หนึ่งครั้งต่อโปรเจกต์เมื่อมีการกำหนดค่า token
  • เรียกคืนความทรงจำที่เกี่ยวข้อง — hook UserPromptSubmit จะเพิ่มความทรงจำที่เกี่ยวข้องให้กับ prompts ที่มีสิทธิ์ผ่าน search_memory โดยส่งสูงสุด 300 ตัวอักษร
  • ตรวจสอบ integrations ก่อนที่เครื่องมือจะทำงาน — hook PreToolUse จะตรวจสอบอินพุตของ WebFetch, WebSearch และ Bash กับแคตตาล็อกผู้ให้บริการที่รู้จักในเครื่อง โดยไม่มีการเรียกผ่านเครือข่าย
  • เสนอการ push ความทรงจำ — หลังจากการเขียนความทรงจำในเครื่อง hook PostToolUse จะแนะนำ remember พร้อมขอบเขตที่ชัดเจน และ hook Stop จะเตือนคุณหลังจากเซสชันที่ยาวนาน
  • จัดการการตั้งค่าและไฟล์ — ใช้ get_settings, update_settings, list_files และ get_brand_kit เพื่ออ่านหรือเปลี่ยนการกำหนดค่า workspace และแบรนด์แอสเซ็ต

เอกสาร

[!NOTE] ที่เก็บนี้ถูกสร้างจาก bettergroupinc/patricia-monorepo ที่ plugins/patricia/ ระบบอัตโนมัติจะซิงค์มิเรอร์สาธารณะนี้ คอมมิตต้นทาง: 147037702592109a4944cdbfb94bdcabb33f490f เปิด pull requests และ issues ใน monorepo

ปลั๊กอิน Claude Code ของ patricia

ติดตั้งครั้งเดียว แล้วเอเจนต์จะใช้ MCP server ของ Patricia อย่างถูกต้องโดยไม่ต้องบอกซ้ำอีก

ปลั๊กอินนี้ประกอบด้วยสามส่วน

  1. คำแนะนำ (Guidance) ทักษะห้าอย่างครอบคลุมพื้นฐานของ Patricia การเริ่มใช้งาน งานที่มอบหมาย การผสานรวม และสะพานหน่วยความจำ
  2. การเชื่อมต่อ MCP การติดตั้งจะกำหนดค่า Streamable HTTP server ของ Patricia สำหรับการลงชื่อเข้าด้วย OAuth
  3. ฮุคท้องถิ่นห้าตัว ใช้สำหรับเริ่มโปรเจกต์ ดึงหน่วยความจำ ตรวจสอบการผสานรวมก่อน และเสนอการผลักหน่วยความจำ ฮุคเหล่านี้ไม่เคยเขียนข้อมูลไปยัง Patricia

นี่คือปลั๊กอิน Claude Code ที่แจกจ่ายได้ ผู้ใช้ติดตั้งบนเครื่องของตนเอง และมันทำงานในเซสชัน Claude Code ของบุคคลนั้น ไม่ใช่แคตตาล็อกทักษะผลิตภัณฑ์ของ Patricia และไม่มีอะไรในนั้นทำงานภายใน Patricia

การติดตั้ง

claude plugin marketplace add patricia-app/patricia-plugin
claude plugin install patricia@patricia

จากนั้นเริ่มเซสชันใหม่ หรือรัน /reload-plugins

มาร์เก็ตเพลสนั้นคือ https://github.com/patricia-app/patricia-plugin. ระบบอัตโนมัติสร้างทุกไฟล์ในนั้นจาก monorepo ของ Patricia

หมายเหตุสำหรับผู้มีส่วนร่วม: monorepo เป็นแบบส่วนตัว ผู้มีส่วนร่วมที่เข้าถึงได้สามารถเพิ่ม monorepo เองเป็นมาร์เก็ตเพลสได้ เพราะ .claude-plugin/marketplace.json ที่รากชี้ไปที่ปลั๊กอิน patricia ที่ ./plugins/patricia

ติดตั้งมัน อย่าโหลดด้วย --plugin-dir ปลั๊กอินที่โหลดจากไดเรกทอรีจะได้ทักษะแต่ไม่ได้รับฮุค ดังนั้นคำแนะนำจะทำงาน แต่สะพานหน่วยความจำจะไม่ทำงาน นี่วัดจากผลจริง ไม่ใช่การคาดเดา: ฮุคตรวจสอบที่โหลดผ่าน --plugin-dir ไม่เคยทำงาน ในขณะที่ฮุคเดียวกันที่ประกาศในการตั้งค่าโปรเจกต์ทำงานกับการเขียนเดียวกันในโหมด headless เดียวกัน Claude Code ลงทะเบียน hooks/hooks.json ของปลั๊กอินเฉพาะเมื่อปลั๊กอินถูกติดตั้งและเปิดใช้งานแล้วเท่านั้น

claude plugin details patricia รายงานสิ่งที่ติดตั้ง:

Component inventory
  Skills (5)  delegating-work, integrations, memory-bridge, onboard, using-patricia
  MCP servers (1)  patricia
  Hooks (5)  SessionStart, UserPromptSubmit, PreToolUse, PostToolUse, Stop

ลงชื่อเข้า MCP server

ปลั๊กอินกำหนดค่า MCP server โดยไม่เก็บ header ไว้ ในการใช้ครั้งแรก รัน /mcp และเลือก Patricia คุณยังสามารถเริ่ม OAuth flow จากเทอร์มินัลได้:

claude mcp login plugin:patricia:patricia

การลงชื่อเข้าด้วย OAuth ของ MCP และโทเค็นส่วนตัว pat_mcp_ ของฮุคเป็นข้อมูลรับรองคนละชุด OAuth เพียงอย่างเดียวไม่เปิดใช้งานฮุคที่ต้องใช้โทเค็น

ใช้โทเค็นเป็นทางเลือกเมื่อ OAuth ไม่เหมาะสม:

claude mcp add --transport http patricia https://api.patricia.app/v1/mcp \
  --header "Authorization: Bearer $PATRICIA_MCP_TOKEN"

โทเค็นส่วนตัว pat_mcp_ ระบุตัวบุคคลที่รับผิดชอบและสามารถเขียนได้ คีย์ API ของเทนแนนต์ pat_live_ ไม่ระบุตัวบุคคล จึงอ่านได้อย่างเดียว และไม่สามารถตอบ list_skills หรือ list_integrations ได้

ให้โทเค็นส่วนตัวกับฮุคท้องถิ่น

ต้องมี Python 3 พร้อมใช้งานผ่านคำสั่ง python3 สำหรับฮุคท้องถิ่น

สร้างคีย์ส่วนตัว pat_mcp_ ใน Patricia ภายใต้ Settings > Developer > Personal keys จากนั้นเลือกการตั้งค่าอย่างใดอย่างหนึ่ง:

export PATRICIA_MCP_TOKEN="pat_mcp_..."

หรือเขียนไฟล์นี้ที่ ~/.claude/patricia.json:

{
  "token": "pat_mcp_..."
}

PATRICIA_MCP_TOKEN มีผลเหนือกว่าไฟล์ ค่า PATRICIA_MCP_TOKEN ที่ว่างเปล่าจะปิดการใช้งานการสำรองไฟล์ พฤติกรรมนี้ตั้งใจไว้ เพื่อให้บุคคลสามารถระงับฮุคที่ต้องรับรองความถูกต้องได้โดยไม่ต้องย้ายไฟล์

ฮุคท้องถิ่น

ฮุคทั้งห้าตัวเปิดใช้งานตามค่าเริ่มต้น ไฟล์กำหนดค่าที่ไม่มีหรือคีย์ฮุคที่ไม่มีจะปล่อยให้เปิดใช้งาน ไฟล์กำหนดค่าที่เสียหายหรืออ่านไม่ได้จะปิดการใช้งาน ตั้งค่าคีย์ที่ระบุของฮุคเป็นค่าตามตัวอักษร false ใน ~/.claude/patricia-plugin.json เพื่อปิดเฉพาะฮุคนั้น

การเริ่มใช้งาน

  • เมื่อใดและการทำงาน: SessionStart รันสำหรับเซสชันใหม่หรือเซสชันที่กลับมาทำงานต่อ มันทักทายบุคคลที่เชื่อมต่อและเสนอทักษะการเริ่มใช้งานหนึ่งครั้งต่อโปรเจกต์
  • ค่าใช้จ่าย: เมื่อมีโทเค็น มันจะเรียก whoami หนึ่งครั้ง หมดเวลาเครือข่าย 3 วินาที และหมดเวลาฮุค 10 วินาที
  • ปิดการใช้งาน: hooks.onboarding.enabled ตั้งเป็น false
  • ความเป็นส่วนตัว: เมื่อมีโทเค็น เฉพาะคำขอ whoami ที่รับรองความถูกต้องเท่านั้นที่ออกจากเครื่อง ไม่มีพรอมต์ บันทึกการสนทนา หรือเนื้อหาโปรเจกต์ออกจากเครื่องผ่านฮุคนี้

การดึงความจำ

  • เมื่อใดและการทำงาน: UserPromptSubmit รันก่อนพรอมต์ที่ส่งแต่ละครั้ง มันข้ามคำสั่ง คำตอบสั้น การยืนยัน และอินพุตที่เป็นโค้ดล้วน มันเพิ่มความจำที่เกี่ยวข้องให้กับพรอมต์ที่มีสิทธิ์
  • ค่าใช้จ่าย: เมื่อมีโทเค็นและพรอมต์ที่มีสิทธิ์ มันจะเรียก search_memory หนึ่งครั้ง หมดเวลาเครือข่าย 3 วินาที และหมดเวลาฮุค 8 วินาที
  • ปิดการใช้งาน: hooks.recall.enabled ตั้งเป็น false
  • ความเป็นส่วนตัว: มันส่งพรอมต์ที่ย่อแล้วสูงสุด 300 ตัวอักษรไปยัง Patricia มันส่งข้อความนั้นเฉพาะเมื่อมีการกำหนดค่าโทเค็น

การผสานรวมก่อน

  • เมื่อใดและการทำงาน: UserPromptSubmit ตรวจสอบพรอมต์ PreToolUse ตรวจสอบอินพุต WebFetch, WebSearch และ Bash ก่อนที่เครื่องมือจะทำงาน แคตตาล็อกท้องถิ่นระบุผู้ให้บริการที่รู้จัก
  • ค่าใช้จ่าย: ไม่มีการเรียก MCP หรือเครือข่าย และไม่ต้องใช้โทเค็น หมดเวลาฮุค 8 วินาทีสำหรับพรอมต์ และ 5 วินาทีก่อนการเรียกเครื่องมือ
  • ปิดการใช้งาน: hooks.integrations_first.enabled ตั้งเป็น false
  • ความเป็นส่วนตัว: ไม่มีอะไรออกจากเครื่อง ฮุคตรวจสอบพรอมต์หรืออินพุตเครื่องมือในเครื่อง

สะพานหน่วยความจำ

  • เมื่อใดและการทำงาน: PostToolUse รันหลัง Write, Edit หรือ MultiEdit มันสังเกตเห็นบันทึกหน่วยความจำท้องถิ่นที่บันทึกไว้และเสนอ remember พร้อมขอบเขตที่ชัดเจน
  • ค่าใช้จ่าย: ไม่มีการเรียก MCP หรือเครือข่าย หมดเวลาฮุค 5 วินาที
  • ปิดการใช้งาน: hooks.memory_bridge.enabled ตั้งเป็น false ไฟล์ ~/.claude/patricia-memory-bridge.json แบบเดิมยังสามารถตั้ง enabled เป็น false ได้
  • ความเป็นส่วนตัว: สคริปต์อ่านบันทึกที่บันทึกไว้ในเครื่องและไม่ส่งอะไรผ่านเครือข่าย มันส่งคืนเส้นทางบันทึกและข้อความเตือนให้ Claude Code โดยไม่มีเนื้อหาบันทึก

การเตือนการผลัก

  • เมื่อใดและการทำงาน: Stop รันเมื่อเอเจนต์เสร็จสิ้น มันเสนอ remember หลังจากการเขียนหน่วยความจำท้องถิ่นหรือเซสชันที่ใช้เครื่องมืออย่างมากโดยไม่มีการเขียนหน่วยความจำไปยัง Patricia
  • ค่าใช้จ่าย: ไม่มีการเรียก MCP หรือเครือข่าย หมดเวลาฮุค 8 วินาที
  • ปิดการใช้งาน: hooks.push_reminder.enabled ตั้งเป็น false
  • ความเป็นส่วนตัว: มันอ่านบันทึกการสนทนาท้องถิ่นสูงสุด 5 MB และไม่ส่งอะไร มันรันเฉพาะเมื่อมีการกำหนดค่าโทเค็น เพื่อให้การเรียกหน่วยความจำที่เสนอสามารถสำเร็จหลังจากบุคคลตกลง

เครือข่ายและข้อมูลรับรอง

ปลั๊กอินนี้เชื่อมต่อกับ https://api.patricia.app/v1/mcp ผ่าน Streamable HTTP

Patricia ใช้ OAuth 2.1 กับ PKCE S256 OAuth flow ที่เสร็จสมบูรณ์ให้โทเค็น bearer ส่วนตัว pat_mcp_ แก่ไคลเอนต์

ไฟล์ manifest ของปลั๊กอินไม่มีข้อมูลรับรอง ไคลเอนต์ส่งโทเค็น bearer ไปยัง api.patricia.app หลังการลงชื่อเข้า

มาร์เก็ตเพลสอื่น

  • Cursor อ่าน plugin.json และ mcp.json จากแพ็กเกจนี้
  • OpenAI Codex และ ChatGPT อ่าน .codex-plugin/plugin.json
  • รายการแหล่งข้อมูลระยะไกลไม่ต้องมี manifest xAI อ่าน .claude-plugin/plugin.json เมื่อมี

แพ็กเกจมาร์เก็ตเพลสทั้งหมดชี้ไปที่ทรี skills/ เดียวในแพ็กเกจนี้

assets/icon.png เป็นสินทรัพย์แบรนด์บุคคลที่หนึ่งของ Patricia

สะพานหน่วยความจำเสนอ แต่ไม่เคยเขียน

ฮุคคือคำสั่งเชลล์ มันไม่มี MCP client ไม่ได้รับความยินยอมจากใคร และไม่สามารถอ่านบันทึกแล้วแยกข้อเท็จจริงทีมจากเรื่องส่วนตัวได้ ฮุคที่ส่งบันทึกท้องถิ่นทุกอันไปยังเวิร์กสเปซที่ใช้ร่วมกันจะวางบันทึกเฉพาะเครื่อง ทิ้งแล้ว และส่วนตัวไว้ต่อหน้าทั้งทีมอย่างเงียบ ๆ นั่นคือโหมดความล้มเหลวที่สะพานถูกสร้างขึ้นเพื่อหลีกเลี่ยง ไม่ใช่ฟีเจอร์ที่เลื่อนออกไป

ดังนั้นฮุคทำสิ่งเดียว: มันฉีด hookSpecificOutput.additionalContext บอกเอเจนต์ว่าบันทึกเป็นท้องถิ่นเท่านั้น และ remember ต้องมี scope เอเจนต์ตัดสินใจขอบเขต ถามบุคคลของมัน และทำการเรียก การตัดสินใจและการเขียนอยู่ในที่เดียวกัน

ประตูสี่ด่านทำให้มันเงียบ:

ประตูผล
การกำหนดค่าที่รองรับอย่างใดอย่างหนึ่งตั้งค่า enabled ของสะพานเป็น falseเงียบ หากไม่มีค่านั้น สะพานจะเปิดอยู่
เส้นทางที่เขียนอยู่นอกไดเรกทอรีหน่วยความจำเงียบ
การเขียนไม่สำเร็จ หรือไฟล์ว่างเปล่าเงียบ
front matter ของบันทึกมี patricia: skipเงียบ

มันยังเสนอบันทึกที่กำหนดสูงสุดหนึ่งครั้งต่อเซสชัน ดังนั้น Write ตามด้วยการเรียก Edit จะสร้างการเตือนหนึ่งครั้งแทนที่จะเป็นสี่ครั้ง บันทึกนั้นอยู่ใน ~/.claude/patricia-memory-bridge-state/ หนึ่งไฟล์ต่อเซสชัน และถูกตัดทิ้งหลังเจ็ดวัน

มันไม่ใช้ CLAUDE_PLUGIN_DATA สำหรับสิ่งนี้ ตัวแปรนั้นมีอยู่ในสภาพแวดล้อมของฮุค แต่ไม่ใช่ไดเรกทอรีของปลั๊กอินที่รันอยู่อย่างน่าเชื่อถือ: ฮุคระดับโปรเจกต์บนเครื่องนี้เห็นมันตั้งเป็น ~/.claude/plugins/data/codex-openai-codex ซึ่งเป็นไดเรกทอรีข้อมูลของปลั๊กอินที่ไม่เกี่ยวข้อง

เครื่องมือใดที่การเขียนหน่วยความจำใช้จริง

Claude Code 2.1.238 ประกาศเครื่องมือชื่อ memory_list, memory_read และ memory_write บนเครื่องที่สร้างกับสิ่งนี้ บันทึกหน่วยความจำไม่ได้เขียนด้วยเครื่องมือเหล่านั้น: การสำรวจบันทึกการสนทนา 120 รายการล่าสุดพบการเรียก Write 49 ครั้งและ Edit 35 ครั้งไปยัง ~/.claude/projects/*/memory/ และการเรียก memory_write ศูนย์ครั้ง

ตัวจับคู่จึงเป็น Write|Edit|MultiEdit memory_write ถูกเว้นไว้โดยตั้งใจ การเพิ่มตัวจับคู่สำหรับเครื่องมือที่ยังไม่ตรวจสอบรูปร่าง payload จะได้ฮุคที่ไม่เคยทำงานอย่างเงียบ ๆ และอ่านเหมือนกับที่ทำงาน เพิ่มมันเมื่ออ่าน payload memory_write จริงแล้ว

คำแนะนำและกฎประจำของเซิร์ฟเวอร์เป็นสำเนาเดียว ไม่ใช่สอง

start_onboarding_import อาจส่งคืน standing_rule_to_offer ที่มี ask_first, instruction และบล็อก markdown ที่มีขนาดพอดีกับ CLAUDE.md ของคนอื่น ทักษะไม่ได้กล่าวซ้ำบล็อกนั้น มันบอกเอเจนต์ให้เรียกเครื่องมือและใช้สิ่งที่ส่งคืน เพื่อให้เซิร์ฟเวอร์เป็นเจ้าของข้อความนั้นเพียงผู้เดียว

การดึงมันตอนติดตั้งเป็นทางเลือก และมันไม่ทำงาน SKILL.md ของปลั๊กอินเป็นข้อความคงที่ในแคชที่ระบุด้วยเนื้อหา ไม่มีขั้นตอนตอนติดตั้งที่สามารถเขียนใหม่ได้ และปลั๊กอินที่มีหน้าที่ตั้งค่า Patricia ไม่สามารถพึ่งพาการเชื่อมต่อ Patricia ที่รับรองความถูกต้องและทำงานได้เพื่อแสดงคำแนะนำของตัวเอง การอ่านเครื่องมือตอนใช้งานให้สำเนาเดียวเดียวกันโดยไม่มีปัญหาเหล่านั้น

ทุกชื่อเครื่องมือที่นี่เป็นเครื่องมือจริง

ตัวระบุเครื่องมือที่อยู่ใน backtick ทุกตัวในปลั๊กอินนี้ถูกตรวจสอบกับ registry เครื่องมือของเซิร์ฟเวอร์เอง ซึ่งเป็นรายการที่เซิร์ฟเวอร์สร้างจาก tools/list การตรวจสอบเดียวกันยืนยันว่าพบชุดตัวระบุที่ไม่ว่างเปล่า ดังนั้นตัวแยกที่เสียหายไม่สามารถผ่านได้โดยการไม่พบอะไร

หมายเหตุสำหรับผู้มีส่วนร่วม: การตรวจสอบนั้นคือ backend/api/tests/test_patricia_claude_plugin.py ใน monorepo ของ Patricia และมันรันทุกครั้งที่มีการเปลี่ยนแปลงปลั๊กอินนี้

การตั้งค่าและการค้นพบไฟล์

เครื่องมือการใช้งาน
get_settingsแสดงรายการการตั้งค่า หรืออ่านคีย์หรือกลุ่มที่เลือกพร้อมความหมาย ค่า และสิทธิ์ ข้อมูลรับรองอย่างใดอย่างหนึ่งสามารถอ่านกลุ่มเวิร์กสเปซได้
update_settingsเปลี่ยนหนึ่งกลุ่มที่ได้รับอนุญาตผ่านการดำเนินการแดชบอร์ด ต้องใช้โทเค็นส่วนตัว
list_filesแสดงรายการไฟล์ หน้าแรกมีโฟลเดอร์และจำนวนที่กรองด้วยการมองเห็น
get_brand_kitอ่านสีแบรนด์ ตัวพิมพ์ และโลโก้

ใช้ get_settings(keys=["company_profile"]) สำหรับโปรไฟล์บริษัท เครื่องมือการตั้งค่าใช้แคตตาล็อกและการดำเนินการเดียวกันกับที่ Patricia ใช้ในแชท การเปลี่ยนแปลงการตั้งค่าแชทต้องมีการคลิกจากบุคคลที่ร้องขอ การเปลี่ยนแปลงนโยบายการอนุมัติส่งผลต่อการรันคอนโซล การดำเนินการที่สำคัญและที่ผู้ให้บริการกำหนดยังคงมีเพดานการอนุมัติ และเพดานผู้ชมและคลิกเท่านั้นยังคงมีอยู่ในการดำเนินการใด ๆ ที่ Patricia ถามอยู่แล้ว

การอ่านการผสานรวมรอในขณะที่งานอื่นรันสำหรับบุคคลเดียวกัน โพลงานนั้นด้วย get_task_status หรือรอให้เสร็จ หลังจากการอนุมัติการผสานรวมโดยตรง ทำตามประโยค next ที่ส่งคืนโดย decide_approval มันระบุเครื่องมือที่จะเรียกอีกครั้งด้วย tool_ref และอาร์กิวเมนต์เดียวกัน