From 1f642fc031f8c76a804cbd1ee6e3a9f93f072f45 Mon Sep 17 00:00:00 2001 From: nalbam Date: Tue, 29 Sep 2026 09:47:27 +0900 Subject: [PATCH 1/5] docs: clarify scoped Agent Memory connection settings --- docs/agent-studio.md | 2 ++ docs/integrations/agent-memory.md | 36 +++++++++++++++++++++++++++++++ 2 files changed, 38 insertions(+) create mode 100644 docs/integrations/agent-memory.md diff --git a/docs/agent-studio.md b/docs/agent-studio.md index 0f02c7c..e5c2503 100644 --- a/docs/agent-studio.md +++ b/docs/agent-studio.md @@ -39,6 +39,8 @@ Keep a replay's key and payload unchanged; a new key creates a new write. Automatic pre-run recall needs `memoryRecall` enabled plus an explicit server binding that permits `recall`; dynamic discovery alone does not enable it. Search result IDs belong to Agent Memory, not the host app's artifacts. +Use the [connection notes](integrations/agent-memory.md) for current console text +and installation-side verification; the server is registered independently of Plugin sync. `mcp.json` contains provider-hosted and declared in-cluster deployment addresses. Other organization URLs, credentials, model selections and Agent bindings diff --git a/docs/integrations/agent-memory.md b/docs/integrations/agent-memory.md new file mode 100644 index 0000000..5d790fe --- /dev/null +++ b/docs/integrations/agent-memory.md @@ -0,0 +1,36 @@ +# Agent Memory connection + +Register the installation's `/api/mcp` endpoint separately in Tools; Agent Memory +is not a bundled server in this repository. Set its credential in the installing +side's encrypted header field, then bind the server to the intended Agent's +current configuration. Do not put credentials in descriptions or operator notes. + +The following console text describes the current scoped Memory and document +ingestion contract. Confirm the deployed tools before using this example. +Neither the description nor the notes configure account access or permissions. + +## Description + +```text +현재 호출자의 권한으로 접근 가능한 Memory·문서·지식 그래프에서 결정·규칙·경험과 근거를 검색할 때 사용합니다. 사용자가 지정한 정보를 조직·팀·개인 범위의 Memory나 문서로 저장하며, 실제 범위는 서버의 인증·권한과 도구 schema를 따릅니다. +``` + +## Operator notes + +```markdown +# Agent Memory 연결 + +- 접근 범위: X-User-Email 없는 조직 Agent token은 조직 범위에 한정됩니다. 검증된 활성 멤버의 X-User-Email을 전달하면 해당 멤버의 권한을 적용합니다. Studio가 이 예약 헤더를 구성하므로 Agent 설정에서 신원을 임의로 덮어쓰지 않습니다. X-Tenant-Id와 X-Conversation-Id는 접근 권한을 부여하지 않습니다. +- 도구: recall은 장기 Memory를 회상하고 context_search는 Memory·문서·지식 그래프를 함께 검색합니다. remember는 지정 scope에 Memory를 저장하며 forget은 manage 권한과 현재 version으로 archive합니다. document_ingest는 텍스트 문서 처리를 접수하며 document_ingest_status가 ready인지 확인해야 검색 가능한 문서로 안내할 수 있습니다. 실제 도구 목록과 schema가 기준입니다. +- 연결 확인: Test connection은 도구 목록 조회만 검증합니다. 사용할 Agent의 현재 설정에 서버를 연결하고 필요한 도구를 허용한 뒤 대표 요청을 실제 실행합니다. +- 자동 회상: Agent 현재 설정의 memoryRecall을 켜고 recall을 명시적으로 바인딩합니다. 차단되거나 승인이 필요한 recall은 사전 회상에서 제외됩니다. 동적 검색으로 찾은 서버는 사전 회상 대상이 아닙니다. +- 인증값 교체: 서버의 token을 재생성한 경우 등록된 Authorization 헤더와 Agent별 헤더 오버라이드를 필요한 범위에서 갱신합니다. 인증값을 메모·예시·응답에 적지 않습니다. + +이 본문은 운영자 메모이며 모델에 전달되지 않습니다. 저장·변경 권한과 응답 규칙은 Agent의 시스템 프롬프트 또는 연결 Skill에 둡니다. +``` + +Test connection checks discovery, not a read, write or worker run. Test a scoped +read through the Agent before claiming the connection works for its intended +user. Document ingestion is accepted work until `document_ingest_status` reports +ready; automatic recall searches Memory, not document chunks or graph nodes. +Agent Memory IDs are source identifiers, not Studio artifact IDs. From 6dae80672eee4faab8286a128adea5442a0702e1 Mon Sep 17 00:00:00 2001 From: nalbam Date: Tue, 29 Sep 2026 09:50:04 +0900 Subject: [PATCH 2/5] docs: describe the general assistant across execution channels --- docs/sample-agent.md | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/docs/sample-agent.md b/docs/sample-agent.md index ec3e27b..f8419a9 100644 --- a/docs/sample-agent.md +++ b/docs/sample-agent.md @@ -1,5 +1,11 @@ # 다목적 Agent 구성 +콘솔의 설명은 호출 채널과 받을 작업을 함께 안내한다. + +```text +일반 질문에 답하고 제공된 자료를 요약·정리하는 다목적 Agent입니다. Chat·API·Slack에서 요청에 맞는 Skill·도구를 사용하며, 실제 조회·파일 생성 결과와 미확인 범위를 안내합니다. +``` + [sample-agent.md](prompts/sample-agent.md)의 시스템 프롬프트를 사용하고 요청마다 필요한 기능 찾기(`dynamicCapabilities`)를 활성화한다. 동적 발견은 설치된 카탈로그에서 요청과 맞는 기능을 제공하며 모든 도구나 개인 OAuth 연결을 자동으로 허가하지 않는다. From 7d97131b92102dd5b2e067ed28529e232646bc18 Mon Sep 17 00:00:00 2001 From: nalbam Date: Tue, 29 Sep 2026 10:08:02 +0900 Subject: [PATCH 3/5] docs: use purpose titles when starting Workspace tasks --- docs/agent-studio.md | 3 +++ plugins/execution/skills/workspace-task/SKILL.md | 2 ++ 2 files changed, 5 insertions(+) diff --git a/docs/agent-studio.md b/docs/agent-studio.md index e5c2503..5f4e81c 100644 --- a/docs/agent-studio.md +++ b/docs/agent-studio.md @@ -217,6 +217,9 @@ repository and base_branch are null. `status` and bounded `wait` return output, checks, Diff and a cursor. Keep queued/running distinct from success. `cancel` stops a run and `close` saves state and removes compute. The native task continues if the parent Agent response ends; follow the returned workspace_path. +When the offered `start` schema includes `title`, use a short purpose label in the +user's language. It labels the Workspace and its Chat; the script or coding task +stays in `task`. Do not copy a command script into the title or send an unsupported field. The builtin prepares commit, commit-and-push, push, pull-request, merge and push-main reviews through prepare_git, but cannot consume approvals. Use the Workspace's diff --git a/plugins/execution/skills/workspace-task/SKILL.md b/plugins/execution/skills/workspace-task/SKILL.md index 2b7066b..d6fd90b 100644 --- a/plugins/execution/skills/workspace-task/SKILL.md +++ b/plugins/execution/skills/workspace-task/SKILL.md @@ -45,6 +45,8 @@ Workspace는 파일·Git·Session을 유지하는 작업 공간이고 Sandbox는 지정했을 때만 `use_workspace`로 선택한다. start를 반복해도 새 작업이 접수되지 않는다. 3. 선택이 없을 때 `start`에 runtime, repository, base_branch, task를 보낸다. 저장소 작업은 두 Git 선택 값을 모두 지정한다. 둘 다 null이면 Git-free이며 기본 저장소는 없다. + 현재 schema에 `title`이 있으면 사용자의 언어로 짧은 작업 목적을 적는다. 제목은 표시용이고 + `task`는 실행 입력이다. 특히 command의 셸 스크립트를 제목으로 복사하지 않는다. 4. 사용자가 Runtime을 지정하지 않으면 options의 default_runtime을 따른다. 현재 허용 Runtime 목록에 없으면 Models의 모델 연결 또는 프로젝트 기본 Runtime 설정을 확인한다. command에는 실제 실행할 셸 스크립트를 구성해서 보내며 자연어 목록을 넣지 않는다. 코딩 Runtime에는 완결된 자연어 task를 보낸다. From ac93c61201c42c263957d11827702883ed6fc406 Mon Sep 17 00:00:00 2001 From: nalbam Date: Tue, 29 Sep 2026 10:14:16 +0900 Subject: [PATCH 4/5] fix: stop personal records on partial artifact reads --- plugins/workspace/skills/personal-records/SKILL.md | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/plugins/workspace/skills/personal-records/SKILL.md b/plugins/workspace/skills/personal-records/SKILL.md index 3123cad..b62875c 100644 --- a/plugins/workspace/skills/personal-records/SKILL.md +++ b/plugins/workspace/skills/personal-records/SKILL.md @@ -14,7 +14,9 @@ compatibility: > 오디오 보관 도구인 ImportFile·TranscribeAudio·AudioJob은 개인 Document/Memory 기록 도구가 아니다. -1. `File read`로 선택한 Artifact를 읽는다. 잘린 응답이면 나머지를 읽고, 전체를 얻지 못하면 저장을 중단한다. +1. `File read`로 선택한 Artifact를 읽는다. 부분 추출이나 잘림이 보고되면 전체 기록을 저장하지 않는다. + `File read`는 이어 읽기를 지원하지 않는다. `from`을 추가하거나 같은 호출을 반복하지 않는다. + 필요한 전체 본문을 확인할 수 없으면 미확인 범위를 알리고, 원문이 온전히 제공될 때까지 기록을 중단한다. 2. 실제 연결 도구의 schema를 확인한다. 개인 scope `{kind:"user"}`와 서버가 전달한 사용자 문맥을 사용한다. email·토큰을 인수로 요구하거나 임의의 userId·조직 scope를 지정하지 않는다. 3. Document는 `document_ingest`에 선택한 본문과 확인된 제목을 전달한다. From 704a61aabc9a05b11683205030af9e7b09eddf43 Mon Sep 17 00:00:00 2001 From: nalbam Date: Tue, 29 Sep 2026 10:17:55 +0900 Subject: [PATCH 5/5] fix: preserve requested scope in artifact completeness checks --- plugins/workspace/skills/personal-records/SKILL.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/plugins/workspace/skills/personal-records/SKILL.md b/plugins/workspace/skills/personal-records/SKILL.md index b62875c..56db92e 100644 --- a/plugins/workspace/skills/personal-records/SKILL.md +++ b/plugins/workspace/skills/personal-records/SKILL.md @@ -14,9 +14,9 @@ compatibility: > 오디오 보관 도구인 ImportFile·TranscribeAudio·AudioJob은 개인 Document/Memory 기록 도구가 아니다. -1. `File read`로 선택한 Artifact를 읽는다. 부분 추출이나 잘림이 보고되면 전체 기록을 저장하지 않는다. +1. `File read`로 선택한 Artifact를 읽고 사용자가 요청한 기록 범위를 대조한다. 부분 추출이나 잘림으로 그 범위를 확인하지 못했다면 저장하지 않는다. `File read`는 이어 읽기를 지원하지 않는다. `from`을 추가하거나 같은 호출을 반복하지 않는다. - 필요한 전체 본문을 확인할 수 없으면 미확인 범위를 알리고, 원문이 온전히 제공될 때까지 기록을 중단한다. + 요청한 본문을 확인할 수 없으면 미확인 범위를 알리고, 필요한 원문이 온전히 제공될 때까지 기록을 중단한다. 2. 실제 연결 도구의 schema를 확인한다. 개인 scope `{kind:"user"}`와 서버가 전달한 사용자 문맥을 사용한다. email·토큰을 인수로 요구하거나 임의의 userId·조직 scope를 지정하지 않는다. 3. Document는 `document_ingest`에 선택한 본문과 확인된 제목을 전달한다.