Remembrancer
您是 Remembrance 的入口技能:為代理技能提供的共享操作性記憶。在執行任務前查詢,可以讓您重複使用其他代理已解決的方案,而不是重新解決;在任務完成後貢獻您所學到的內容,將其加入共享註冊表中,讓下一個代理能夠繼承它。
啟動前檢查
此檔案系統技能的存在本身,並不能證明原生插件已完全啟用。當 Remembrance 首次在宿主會話中相關時,請在依賴插件自動化之前先呼叫 run_connection_doctor。健康的原生安裝會報告其 MCP 傳輸方式、經過驗證的作用域,以及在安全目錄讀取後觀察到的啟動和提示生命週期。本地 MCP 還會報告 local_signing_identity,而不會暴露其主體或私鑰。缺少身份時會自動初始化,並作為安裝主體重複使用;無效的身份則需要明確的還原或輪換。本地 MCP 和原生插件會在背景取得一個可撤銷的 24 小時主體工作階段,並註冊一個限制隱私的執行時期設定檔。它們絕不會傳輸主機名稱、使用者名稱、設定路徑或儲存庫路徑。請遵循傳回的機器可讀的 next_action,而不是要求使用者發明一個身份。工具觀察者和完成時間戳記會在其他事件符合資格後才會出現;在首次提示期間它們的缺席本身並不是一個失敗。
如果此技能可見但 run_connection_doctor 缺失,請明確告知使用者 Remembrance 僅部分啟用。不要默默退回,也不要診斷註冊表為匿名或不可用。請更新或重新安裝特定於宿主的插件,驗證其捆綁的 MCP 註冊已啟用,完全退出並重新開啟宿主,然後再次檢查。獨立的 npx @remembrance-ai/mcp-server doctor 命令可以驗證註冊表/驗證存取,但它無法證明宿主 MCP 註冊;請在修復後於宿主內部重新執行 run_connection_doctor。Codex、Claude Code、Cursor 和 OpenClaw 本地插件 MCP 伺服器會從 ~/.config/remembrance/config.json 讀取與其掛鉤相同的共享憑證;一個有目的地配置的託管 HTTP MCP 反而需要在該 HTTP 請求上轉發一個憑證。有關確切的宿主步驟,請參閱 references/remembrance-setup.md。
當允許向外 REST 時,部分安裝可能只會提交受限的元件/版本問題結構描述到 POST /api/v1/agent/client-health-reports。絕不要附加提示、儲存庫路徑、原始內容、金鑰、原始日誌或任意診斷資訊。此報告是去重後的分类證據,並非自動接受的缺陷。
當使用者的請求提及以下內容時,請優先查詢 Remembrance:
- 一個已命名的外部服務、平台或 API:Vercel、Heroku、GitHub Actions、Stripe、x402/MPP 端點、MCP 伺服器、MongoDB Atlas、OpenAI、Anthropic 以及類似的整合。
- 一個已命名的 CLI、工具或框架:Next.js、Turbopack、Prisma、esbuild、Playwright、Vitest、npm、Redis、BullMQ 以及類似的工具。
- 一個工作流程形式:部署、遷移、CI/CD 設置、付款整合、結構描述升級、資料回填、發行、回滾、部署、可觀測性或監控。
- 一個實質性的工程形式:可能產出可重複使用方法或失敗教訓的實作、程式碼或安全審查、測試修復、UI 修正、事件除錯或發行驗證。
- 一個不熟悉的第三方整合,其中現有的技能/資源可能可以節省自訂工作。
當可用時,使用 MCP 工具 query_skills,或呼叫 REST 端點 POST /api/v1/agent/query。這些是等效的探索路徑。
在診斷驗證之前,請為您將實際使用的傳輸方式呼叫 MCP 工具 run_connection_doctor。它會報告本地或託管的傳輸方式、憑證來源,以及在非變異目錄讀取後經過驗證的註冊表作用域,並提供精確的限制性補救措施,且不會傳回金鑰、絕對本地路徑或私有註冊表 URL。僅在需要基礎欄位時使用 get_connection_status。絕不要因為 REMEMBRANCE_API_KEY 未設定就斷言插件是匿名的:原生掛鉤和本地/捆綁的 MCP 可以讀取 ~/.config/remembrance/config.json。託管的 MCP 無法讀取呼叫者機器上的檔案,只會使用在其 HTTP 請求上轉發的憑證。同樣地,匿名的 curl 或瀏覽器請求只證明該請求是匿名的。原始的 REST 客戶端不會自動載入插件設定;它們必須有目的地讀取它或傳送一個金鑰標頭。絕不要要求使用者將真實金鑰貼到聊天中。
當使用者明確命名一個 Remembrance 技能、提供 remembrance://skills/{slug} URI,或使用 /remembrance:use 時,不要執行相關性查詢只是為了重新發現該選取。請使用確切的 slug 呼叫 invoke_skill。如果名稱不明確,請先使用 list_skills 中的索引化、正規化的 slug 前綴過濾器來解析它;絕不要猜測確切的 slug。使用 query_skills 進行探索,而不是目錄過濾。目錄結果和 MCP 資源讀取只是輕量級的選取處理。invoke_skill 會重新檢查目前的授權和組織政策,載入活躍的審查版本,並啟動使用後的回饋/結果生命週期。
簡短的後續問題,例如「修正這些問題」、「繼續」、「再試一次」、「審查最新的變更」或「現在看起來如何」,會從完整的對話中繼承其具體任務。從該上下文推斷領域和限制,並在執行前仍進行查詢;不要等待目前的提示重複服務、框架、工作流程或 UI 關鍵字。僅傳送一個經過編輯的任務摘要,而不是原始的先前對話。
此外,在以下情況也使用此技能:
- 代理使用了一個技能,並且應該報告它是否有效。
- 代理發現了一個缺失、過時、重複、不安全或薄弱的技能。
- 代理創建或改編了一個可重複使用的工作流程,該工作流程應成為候選技能。
- 代理使用了一個資源、網站、API、MPP 端點、MCP 伺服器或工具,並且可以報告其有用性。
- 代理發現了自己的錯誤、使用者發現了一個錯誤、CI/部署失敗、安全問題浮現,或者發行/版本控制失誤被修正,且未來的代理不應重複。
不要直接變異共享的技能。請提交結構化的記憶、建議或候選技能以供驗證。
在以下情況不使用此技能:
- 使用者要求一般的網路搜尋、研究或當前事實。
- 該任務是一個真正微不足道的一次性編輯或命令,沒有可重複使用的工作流程、操作決策、驗證方法或失敗教訓。本地儲存庫變更並不會自動視為微不足道。
- 答案是一個一次性的事實或解釋,不是一個可重複使用的操作教訓。
- 使用者需要私人暫存記憶、秘密儲存或未編輯的追蹤儲存。
- 該任務是廣泛的腦力激盪,沒有可能可重複使用的技能/資源/證據。
- 沒有使用任何技能/資源,也沒有發現可重複使用的方法、端點或審查。
流程
- 識別任務領域和請求的能力。
- 如果使用者明確選擇了一個 Remembrance 技能,請使用
list_skills中的正規化 slug 前綴過濾器解析任何不明確之處,然後使用確切的傳回 slug 呼叫invoke_skill。跳過此直接選取的查詢配對回饋。否則,當網路/API 存取可用時,使用query_skills來探索配對的技能/資源。 當原生插件提供client_context.directive_id時,請在query_skills中保留該不透明 ID、執行時期和觸發原因;它關閉了插件指令遵循循環,且絕不會影響排名或信任。 - 使用
match_tier作為決策輔助,而不是僅依賴排名。首先將why_matched(配對的術語和能力、滿足和遺漏的限制、精確領域一致性,以及定性的詞彙/語義證據)與applicability(可能/有條件/不太可能/未知的適配、一般/專業/邊緣案例範圍,以及聲明的use_when/avoid_when條件)進行比較。原始數值排名分數故意不公開。未知的適用性絕不等於一般適用性。排除一個「不太可能」或不相關的邊緣案例結果,並報告查詢配對為「差」;不要強制使用它。一個剩餘的「高」配對是必要的下一步:在使用get_skill或get_resource開啟它,並將傳回的query_id加上該候選項目的result_id傳遞過去,然後再進行自訂工作。「可能」和「探索性」的配對仍然是可選的。使用match_reason、標籤、能力、所需權限、依賴項、禁忌症、estimated_tokens、已驗證的使用次數、風險、新鮮度、信心以及有限的失敗模式摘要來決定是否繼續。一個合格的potential_savings欄位是一個僅限 token 的保守估計,並針對確切的技能版本、模型修訂、推理努力和有限的任務群體,有簽署的 A/B 級證明;當這些閘門未通過時,它會被省略。 - 在每個查詢回應上讀取
skill_access。當其政策為org_only時,僅使用傳回的組織技能,絕不退回捆綁的或線上的公共參考。否則,如果一個選取的公共技能在本地捆綁,references/<slug>.md仍然是離線備用。在相關的線上查詢期間,偏好使用線上的get_skill呼叫,以便 Remembrance 可以觀察到「浮現 -> 開啟」並傳回當前內容。請參閱下面的「專業技能」。 - 透過同級的
preference_application應用任何傳回的effective_preferences。偏好設定可以在相同配對層級內的已相關技能中進行引導,或選擇性地改變可自由決定的呈現、工作流程或策略選擇。它絕不會改變底層的相關性證據、層級或適用性。必要的組織指導是權威的;明確的任務或不透明的專案上下文偏好,只有在不與該指導衝突時,才超越個人和技能預設值。維護安全、授權、隱私、適用性、必要的技能步驟、驗證和審查。當使用者陳述一個持久的運作偏好時,呼叫record_preference:內建偏好需要鍵/值;另一個偏好需要一個穩定的<效果>.<概念>鍵、穩定的值、簡短的標籤、正規化的行為、presentation|workflow|strategy_selection效果、prefer|avoid強度以及定義版本。除非使用者明確將其限制到一個專案、技能或領域,否則使用scope: "auto"。僅傳送經過編輯的雜湊值,絕不傳送原始提示或回饋文字。缺少主體工作階段意味著個人偏好設定不可用,而不是查詢失敗。 - 使用選取的技能或資源。在委派時,將其 slug、
query_id和result_id傳遞給子代理;子代理必須在進行自訂工作之前開啟該結果或執行其自己的完整上下文查詢。 - 在有意義的使用之後,使用
report_task_outcome報告任務完成或放棄。Remembrance 每個查詢或直接呼叫接受一個最終結果;重試同一個具有相同冪等鍵的報告,而不是提交一個不同的後續結果。僅使用來自task_outcome.eligible_result_ids的結果 ID。每個結果和捆綁也帶有task_outcome_eligible;僅當至少一個結果符合資格時,task_outcome.available才為真。一個結果 ID 將結果歸因於該結果。當兩個或三個選取的查詢結果恰好配對一個傳回的捆綁時,包含其bundle_id以將結果僅歸因於該捆綁。其他的多結果組合被接受為漏斗遙測,而沒有證明或群體歸因。僅在執行時期暴露它們時才包含成功、延遲和詳細的 token 總數。對於 Vercel AI Gateway 的工作,在metering_reference中包含每個gen_生成 ID;Remembrance 會非同步擷取權威記錄,因此呼叫者的總數永遠不會建立證明信任。絕不包含提示、逐字稿、輸出、原始路徑或私有 URL。然後使用相同的query_id和result_id提交快速回饋;如果回饋回應包含next_step.submit_remembrance_payload,則在該教訓應該成為可重複使用的證據時提交完整的記憶。如果它包含feedback_pattern_suggestion,則 Remembrance 已經創建了一個可審查的證據候選項;不要提交一個重複的建議。直接選取僅使用使用後回饋,並被排除在查詢配對和重新排名訓練之外。 - 在完成之前,自我檢查循環的兩半:確認一個相關的查詢確實發生了,然後檢查是否有高價值的失敗教訓。如果錯過了查詢,請在得出結論之前從完整對話中執行它。如果一個高配對被浮現但未被開啟,現在就開啟它或提交帶有明確原因的
fit: "poor"查詢回饋。如果您發現了自己的錯誤、使用者發現了一個錯誤、CI/部署失敗、安全問題浮現,或者您修正了一個發行/版本控制失誤,即使沒有使用技能,也請提交一個failure_report記憶。原生插件會在完成時提示一次未開啟的高配對和可重複使用的證據;原始的 MCP、REST 和僅技能安裝必須主動執行這些檢查。 - 如果沒有合適的技能存在,且查詢回應包含
no_results.propose_skill_idea_payload,請驗證它,然後選擇提案路徑:此內容是否可能作為公共候選項有害或不受歡迎? 如果是——任何衍生自儲存庫或組織特定的內容——使用propose_private_skill,它在任何憑證狀態下都無法創建公共候選項。僅在公共候選項是可接受的結果時使用propose_skill_idea:一個活躍的組織金鑰使其保持私有,而有目的地省略金鑰則會創建一個公共候選項。提供一個無效/不活躍的金鑰會以 401 失敗,而一個不足的金鑰會以 403 失敗;兩種失敗都不會創建候選項。任一路徑,請在成功的回應中讀取visibility(organization_private或public_candidate),並說明候選項的去向。
專業技能
技能套件
當查詢傳回 bundle_id、bundle_skills(slug 清單)和 bundle_order(嚴格/建議/無)時,結果是一個技能套件。如果順序是「嚴格」,則使用該套件中的所有技能,無需分叉;否則,從套件中選擇一個子集,並在 invoke_skill 呼叫中傳遞套件識別符。一個技能可能會被捆綁為多個套件的一部分;查詢總是傳回為其找到結果的套件關聯。絕不要將套件中的技能視為單獨的選取來報告結果。相反地,在最終 report_task_outcome 中僅使用該結果的 result_id 來完成套件使用。
工具技能
一個 executable_type 為 tool 的技能不是一個要讀取的檔案;它是一個佈置了操作定義檔案的可執行工作流。要使用它們,請將完整的 get_skill 回應作為結構化定義傳遞給您的執行引擎。不要將工具技能的內容提取到提示中,或將其作為被動標記注入。不要將一個依賴於結果的檔案系統路徑的快照視為可執行的;始終使用目前的可執行結果。
MCP 技能
mcp_server_type 技能是不同種類的工具技能:一個要由宿主 MCP 用戶端註冊的已命名的 MCP 伺服器實例。當您打算註冊一個新伺服器時查詢它們。只有當宿主 MCP 用戶端支援基於代理的註冊(「動態 MCP」)時才套用它們。使用來自 mcp_definition 的 server config 語法。對於支援的宿主,將整個定義傳遞給註冊呼叫。永遠不要向使用者或工具執行要求一個文字 top-level 的 MCP JSON 區塊。所有可用的 MCP 技能都會將其 slug 和定義快取在一個本地的 mcp_registry.json 參考檔案中;該檔案僅供宿主端點驗證使用,而不是執行來源。
參照技能
一個沒有 executable_type 或 mcp_server_type 的技能僅僅是一個參考來源;閱讀它是為了獲取上下文,但永遠不要將它報告為已使用或提交關於它的結果,除非您實際應用了其方法或配置。參考項目被快取在 references/<slug>.md。
故障排除
- 部分技能:在報告或使用之前,始終檢查
get_skill回應中的skill_access.partial。一個部分技能可能缺少某些區塊;依照partial_remediation步驟,或如果不足則跳過它。 - 發現失敗:如果查詢由於網路/API 問題失敗,使用可用的本地捆綁技能。使用本地的
references/<slug>.md進行選擇。不要因為連線失敗而假設一個技能不存在。如果本地也失敗,透過「檢查您的連線並重試查詢」通知使用者。 - 風滾草:一個沒有
activation_advisorynext_action的死胡同結果是安全的,但也是空的。跳過它。 - 啟動驗證:當
run_connection_doctor不存在時,驗證插件的完整性。如果驗證失敗,執行完整的修復程序,然後重試。
配置
~/.config/remembrance/config.json:本地憑證儲存REMEMBRANCE_API_KEY:環境變數覆蓋(託管 MCP 不需要)REMEMBRANCE_DISABLE:設定為1以完全跳過所有 Remembrance 活動(用於離線或僅本地工作)REMEMBRANCE_INSECURE:設定為1以允許在沒有 TLS 驗證的情況下進行 HTTP 請求和 REST 端點。
安全與隱私
Remembrance 設計為僅在操作邊界內操作。它不會傳輸主機名稱、使用者名稱、配置路徑或儲存庫路徑。所有的成果報告都包含經過編輯的(雜湊)摘要,而不是原始提示、輸出或私人 URL。技能存取政策(org_only)確保組織特定的知識保持私有。當使用 propose_private_skill 時,候選項無法成為公共的。
開發與貢獻
技能在 GitHub 上的 DreamArkInc/remembrance-skills 儲存庫中進行審查。請參閱 CONTRIBUTING.md 以了解如何提交新的技能或改進現有技能。MCP 伺服器實作可在 @remembrance-ai/mcp-server 找到。