Patricia
ทางการPatricia เชื่อมต่อไคลเอนต์ AI ของคุณเข้ากับพื้นที่ทำงาน Patricia หนึ่งพื้นที่ อ่านหน่วยความจำและไฟล์ของพื้นที่ทำงาน ตรวจสอบการผสานรวมที่เชื่อมต่ออยู่ และมอบหมายงานให้ Patricia พร้อมการควบคุมการอนุมัติโดยมนุษย์
คุณทำอะไรได้บ้างด้วย Patricia MCP?
- ติดตั้งปลั๊กอิน — ติดตั้ง
patriciaจากมาร์เก็ตเพลสpatricia-app/patricia-pluginเพื่อให้ Claude Code โหลดทักษะ เซิร์ฟเวอร์ MCP และฮุกต่าง ๆ - ลงชื่อเข้าใช้เซิร์ฟเวอร์ MCP — ยืนยันตัวตนกับเซิร์ฟเวอร์
patriciaด้วย OAuth ผ่าน/mcpหรือเพิ่มเซิร์ฟเวอร์โดยใช้ส่วนหัวโทเค็น Bearerpat_mcp_ - ถ่ายโอนไฟล์ในเวิร์กสเปซ — ระบุ
sha256,byte_sizeและcontent_typeในcreate_fileหรือupdate_fileจากนั้นดำเนินการอัปโหลดให้เสร็จด้วยupload_id - อ่านไฟล์ในรูปแบบดาวน์โหลด — เรียก
read_fileโดยตั้งค่าas_download_url=trueเพื่อรับข้อมูลเมตาและ URL GET ที่ลงนามชั่วคราว - เรียกคืนความทรงจำก่อนส่งพรอมป์ต์ — ฮุกเรียกคืนความทรงจำจะเพิ่มความทรงจำที่เกี่ยวข้องลงในพรอมป์ต์ที่เข้าเกณฑ์ โดยเรียก
search_memoryหนึ่งครั้งเมื่อมีการตั้งค่าโทเค็น - เสนอการบันทึกความทรงจำ — ตัวเชื่อมหน่วยความจำและการแจ้งเตือนให้พุชจะเสนอ
rememberพร้อมระบุขอบเขตอย่างชัดเจน โดยจะไม่เขียนข้อมูลลงใน Patricia เอง
เอกสาร
[!NOTE] รีโพซิทอรีนี้สร้างจาก
bettergroupinc/patricia-monorepoที่plugins/patricia/ระบบอัตโนมัติซิงก์มิเรอร์สาธารณะนี้ คอมมิตต้นทาง:df2bda0088e804342599b2b58d411e65a4cfd8d7เปิด pull request และ issue ใน monorepo
ปลั๊กอิน Claude Code ของ patricia
ติดตั้งครั้งเดียว แล้วเอเจนต์จะใช้ MCP server ของ Patricia ได้อย่างถูกต้องโดยไม่ต้องบอกซ้ำ
ปลั๊กอินนี้มีสามอย่าง
- คำแนะนำ มีห้าทักษะครอบคลุมพื้นฐานของ Patricia การเริ่มต้นใช้งาน งานที่มอบหมาย การผสานการทำงาน และสะพานเชื่อมหน่วยความจำ
- การเชื่อมต่อ MCP การติดตั้งจะกำหนดค่า Streamable HTTP server ของ Patricia สำหรับการลงชื่อเข้าใช้ OAuth
- ฮุกในเครื่องห้ารายการ ช่วยเริ่มต้นโปรเจกต์ เรียกคืนความทรงจำ ตรวจสอบการผสานการทำงานก่อน และเสนอให้ส่งความทรงจำไปยัง Patricia ฮุกเหล่านี้จะไม่เขียนข้อมูลลง 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 จากเทอร์มินัลก็ได้:
claude mcp login plugin:patricia:patricia
การลงชื่อเข้าใช้ MCP ด้วย OAuth และโทเค็นส่วนตัว 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 ของ tenant pat_live_ ไม่ระบุบุคคล จึงอ่านได้อย่างเดียว และไม่สามารถตอบ list_skills หรือ list_integrations ได้
กำหนดโทเค็นส่วนตัวให้ฮุกในเครื่อง
ฮุกในเครื่องต้องใช้ Python 3 ซึ่งเรียกใช้ได้ผ่านคำสั่ง python3
สร้างคีย์ส่วนตัว pat_mcp_ ใน Patricia ที่ Settings > AI tools > Advanced > API keys จากนั้นเลือกวิธีตั้งค่าอย่างใดอย่างหนึ่ง:
export PATRICIA_MCP_TOKEN="pat_mcp_..."
หรือเขียนไฟล์นี้ที่ ~/.claude/patricia.json:
{
"token": "pat_mcp_..."
}
PATRICIA_MCP_TOKEN มีลำดับความสำคัญเหนือไฟล์ หาก PATRICIA_MCP_TOKEN ว่างเปล่า ระบบจะปิดการใช้ไฟล์สำรอง พฤติกรรมนี้ตั้งใจให้เป็นเช่นนั้น เพื่อให้ผู้ใช้ระงับฮุกที่ต้องยืนยันตัวตนได้โดยไม่ต้องย้ายไฟล์
ถ่ายโอนไฟล์เวิร์กสเปซ
เซิร์ฟเวอร์มีเครื่องมือ 39 รายการ การถ่ายโอนไฟล์ใช้โหมดต่าง ๆ บน create_file, update_file และ read_file
- ส่ง
contentหรือcontent_base64เพื่อเขียนข้อมูลแบบ inline - ระบุ
sha256,byte_sizeและcontent_typeสำหรับการอัปโหลดโดยตรง - ดำเนินการอัปโหลดให้เสร็จด้วย
upload_idซึ่งใช้ได้ครั้งเดียว - อ่าน
read_file(as_download_url=true)เพื่อดูข้อมูลเมตาและ URL GET ที่ลงนามชั่วคราว
การประกาศสร้างยังต้องมี name และ kind ส่วนการประกาศอัปเดตต้องมี file_id
บันทึก JSON ผลลัพธ์จากการประกาศเป็น declaration.json ไว้ข้าง ๆ file.pdf
ใช้ Bash, jq และ curl เพื่อส่งทุกรายการ upload_headers ที่ได้รับกลับมา
ลายเซ็นผูกกับ byte_size: ส่งข้อมูลให้มีจำนวนไบต์ตรงตามที่ระบุ พร้อม Content-Length; การส่งแบบ chunked จะล้มเหลว
declaration=declaration.json
file=file.pdf
mode=$(jq -er '
if (.upload_id | type == "string" and length > 0) and has("upload_url") then
if .upload_url == null and .already_stored == true then "reuse"
elif (.upload_url | type == "string" and length > 0) and .already_stored == false
and (.upload_headers | type == "object" and all(.[]; type == "string")) then "put"
else error("Invalid upload declaration") end
else error("Invalid upload declaration") end
' "$declaration") || { printf 'Invalid upload declaration.\n' >&2; exit 1; }
upload_id=$(jq -r '.upload_id' "$declaration") || exit 1
if [[ "$mode" == put ]]; then
upload_url=$(jq -r '.upload_url' "$declaration") || exit 1
headers=()
while IFS= read -r header; do
headers+=(--header "$header")
done < <(jq -r '.upload_headers | to_entries[] | "\(.key): \(.value)"' "$declaration")
status=$(curl --silent --show-error --output /dev/null --write-out '%{http_code}' \
--request PUT "$upload_url" "${headers[@]}" --data-binary "@$file") || exit 1
case "$status" in
2??|412) ;;
*) printf 'Upload refused: HTTP %s\n' "$status" >&2; exit 1 ;;
esac
fi
# A null upload_url skips the PUT and goes straight to completion.
printf 'Complete with upload_id %s before its expiry.\n' "$upload_id"
รหัส 412 หมายถึงมีไบต์ถูกส่งมาถึงคีย์นี้แล้ว ให้เรียก complete ด้วย upload_id ก่อนหมดอายุ
หลังจากได้ 412 แล้ว หาก [invalid_arguments] ในขั้นตอน complete ถือเป็นสถานะสิ้นสุด: ส่งเนื้อหาแบบ inline หรือขอให้เจ้าของแชร์ อย่าประกาศซ้ำ
checksum คือการเข้ารหัส base64 ของไบต์ดิบจาก digest SHA-256
URL อัปโหลดที่เป็น null หมายความว่า Patricia นำไบต์กลับมาใช้ซ้ำได้จากไฟล์ที่ยังใช้งานอยู่และผู้ใช้คนนี้อ่านได้
ขั้นตอน complete จะตรวจสอบสิทธิ์เข้าถึงอีกครั้งและยืนยันไบต์ที่จัดเก็บไว้
การ complete สำหรับการสร้างใช้เฉพาะ upload_id ส่วนการ complete สำหรับการอัปเดตใช้ file_id และ upload_id
แยกฟิลด์ inline การประกาศ และฟิลด์ complete ออกจากกัน
การ complete จะส่งคืน id, version, byte_size, sha256 และ console_url หากมี
การ complete สำหรับการสร้างจะส่งคืน sharing_note ด้วย
โหมดดาวน์โหลดจะส่งคืน id, version, byte_size, sha256, content_type, download_url และฟิลด์วันหมดอายุ
ใช้ URL GET ที่ลงนามเพื่อดาวน์โหลดไบต์นอกบทสนทนา
การตอบกลับจากการดาวน์โหลดไม่มีฟิลด์เนื้อหาที่เป็นข้อความหรือ base64
เนื้อหาจากฐานข้อมูลแบบเดิมจะส่งคืน [download_unavailable]; ยังคงอ่านข้อความทั่วไปได้
ฮุกในเครื่อง
ฮุกทั้งห้ารายการเปิดใช้งานโดยค่าเริ่มต้น หากไม่มีไฟล์กำหนดค่าหรือไม่มีคีย์ของฮุก ฮุกจะยังเปิดอยู่ หากไฟล์กำหนดค่าผิดรูปแบบหรืออ่านไม่ได้ ฮุกจะปิด ตั้งค่าคีย์ที่ระบุของฮุกเป็นค่า false ตามตัวอักษรใน ~/.claude/patricia-plugin.json เพื่อปิดเฉพาะฮุกนั้น
การเริ่มต้นใช้งาน
- เวลาและการทำงาน:
SessionStartทำงานเมื่อเริ่มเซสชันใหม่หรือกลับมาใช้เซสชันเดิม โดยทักทายผู้ใช้ที่เชื่อมต่อและเสนอทักษะ onboard หนึ่งครั้งต่อโปรเจกต์ - ค่าใช้จ่าย: เมื่อมีโทเค็น จะเรียก
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 เสร็จสมบูรณ์ ไคลเอนต์จะได้รับโทเค็น 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 ที่มาจากแหล่งทางการ
สะพานเชื่อมหน่วยความจำเสนอเท่านั้น ไม่เขียนข้อมูล
ฮุกคือคำสั่ง shell ไม่มี 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 ของปลั๊กอินเป็นข้อความคงที่ในแคชที่ระบุด้วย content address ไม่มีขั้นตอนตอนติดตั้งที่จะแก้ไขเนื้อหานั้นได้ และปลั๊กอินที่มีหน้าที่ตั้งค่า Patricia ก็ไม่อาจพึ่งพาการเชื่อมต่อ Patricia ที่ยืนยันตัวตนแล้วและทำงานได้ เพื่อแสดงคำแนะนำของตัวเอง การอ่านเครื่องมือเมื่อใช้งานจึงให้สำเนาเดียวกันโดยไม่มีข้อจำกัดเหล่านั้น
ชื่อเครื่องมือทุกชื่อที่ระบุไว้ที่นี่เป็นเครื่องมือจริง
ตัวระบุเครื่องมือทุกตัวที่อยู่ใน backtick ในปลั๊กอินนี้จะถูกตรวจสอบกับทะเบียนเครื่องมือของเซิร์ฟเวอร์เอง ซึ่งเป็นรายการที่เซิร์ฟเวอร์สร้างขึ้นจาก 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
ตรวจสอบ get_task_status ด้วยรหัสงานเพื่อรับผลลัพธ์ อย่าเรียกใช้เครื่องมืออีกครั้ง Patricia จะดำเนินการที่อนุมัติแล้วหนึ่งครั้ง การเรียกใช้หลังจากงานเสร็จสิ้นถือเป็นคำขอใหม่ โดยกฎการอนุมัติปัจจุบันจะเป็นตัวกำหนดว่าต้องถามก่อนหรือไม่
ทำตามคำแนะนำ next: การตรวจสอบและการอนุมัติที่บันทึกไว้ใน Billit ซึ่งไม่มีข้อมูลระบุตัวผู้ร้องขอที่จัดเก็บไว้อาจต้องเรียกใช้คำขอเดิมอีกครั้ง