TencentDB Agent Memory is a team-level memory hub for AI Agents — turning conversations, docs, and code into four reusable memory assets (Chat Memory, Skill, LLM-Wiki, Code-Graph) that are governed, shared, and equipped across agents and frameworks.
This report summarizes scanner evidence for TencentCloud/TencentDB-Agent-Memory, a TypeScript project with 27,917 GitHub stars. SynthScan examined 303,335 lines of code across 1133 source files, recording 2129 pattern matches distributed across 19 syntactic categories. The legacy adjusted pattern signal is 16.9 (Elevated pattern signal); it is not an authorship estimate.
Use the findings to ask whether maintainers can explain intent, verify dependencies, simplify unnecessary scaffolding, and focus review effort. Risk Payload v1 adds ownership, supply-chain, over-engineering, and review-effort vectors when available. These are prompts for human verification, not probabilities, security findings, or measured maintenance costs.
Use each vector to guide manual verification of the underlying findings.
Can maintainers explain intent, assumptions, and trade-offs? 686 finding(s).
Are imports declared and package/API names verified? 54 finding(s).
Are wrappers, guards, and repeated structures necessary? 1688 finding(s).
Which changes need focused human review? 2129 finding(s).
This chart tracks the legacy adjusted pattern score across scan runs. Changes can reflect source changes, scan coverage, or detector/scoring versions; they do not measure AI adoption or prove that a team refactored code. Compare runs only when their scoring versions are compatible. The dashed line tracks the raw pattern-hit count.
Groups findings by configured severity weight. Severity is not a confidence estimate, security rating, or proof that a package is missing. Verify imports against the project's manifests and inspect each finding in its local design context.
This horizontal bar chart shows where configured pattern scores accumulate across directories. Treat the bars as locations to inspect, not as evidence of authorship or code quality. Use the file-level findings to decide whether a directory needs a focused ownership, dependency, complexity, or review check.
The scanner identified 2129 distinct pattern matches across 19 syntactic categories. Each entry below represents a discrete location in the source code where the engine recorded a detector match to inspect in context. Expand any category row to inspect the individual file paths, line numbers, code snippets, and the lexical context (CODE, COMMENT, or STRING) in which each match was detected.
Reading the findings table: The Severity column indicates the configured finding weight (CRITICAL / HIGH / MEDIUM / LOW). The Context column identifies whether the match occurred inside executable code, an inline comment, or a string literal — legacy comment-context matches receive a ×1.5 score weight. The ⚡ bolt icon marks clustered matches: three or more patterns within a 10-line window, each receiving an additional ×1.5 density multiplier under the legacy scoring model.
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | README.deployment.md | 290 | │ Hermes #3 │─┘ │ ┌─ Scanner ─┐ │ └──────────┘ | CODE |
| MEDIUM | deploy/panel-knowledge-combined/publish.sh | 51 | # ── 1) 源码 secret-scan ───────────────────────────────────────────── | COMMENT |
| MEDIUM | deploy/panel-knowledge-combined/publish.sh | 63 | # ── 2) 准备 context ───────────────────────────────────────────────── | COMMENT |
| MEDIUM | deploy/panel-knowledge-combined/publish.sh | 82 | # ── 3) buildx multi-arch ──────────────────────────────────────────── | COMMENT |
| MEDIUM | deploy/global-images/verify.sh | 42 | # ─── LLM 通路检查函数 ─────────────────────────────────────────────── | COMMENT |
| MEDIUM | deploy/global-images/_lib.sh | 152 | # ═══════════════════════════════════════════════════════════════ | COMMENT |
| MEDIUM | deploy/global-images/_lib.sh | 154 | # ═══════════════════════════════════════════════════════════════ | COMMENT |
| MEDIUM | deploy/global-images/_lib.sh | 256 | # ═══════════════════════════════════════════════════════════════ | COMMENT |
| MEDIUM | deploy/global-images/_lib.sh | 258 | # ═══════════════════════════════════════════════════════════════ | COMMENT |
| MEDIUM | deploy/global-images/_lib.sh | 421 | # ═══════════════════════════════════════════════════════════════ | COMMENT |
| MEDIUM | deploy/global-images/_lib.sh | 423 | # ═══════════════════════════════════════════════════════════════ | COMMENT |
| MEDIUM | deploy/global-images/start-memory-core.sh | 19 | # ── Gateway 内部管理凭据 ───────────────────────────────────────── | COMMENT |
| MEDIUM | deploy/global-images/start-memory-core.sh | 45 | # ── 存储后端:sqlite(默认)/ mongodb ───────────────────────────────────── | COMMENT |
| MEDIUM | deploy/global-images/start-memory-core.sh | 221 | # ── Admin user 生命周期 ───────────────────────────────────────── | COMMENT |
| MEDIUM | deploy/global-images/start-memory-core.sh | 299 | # ── 校验 admin key 可用 ───────────────────────────────────────── | COMMENT |
| MEDIUM | deploy/dockerhub/publish.sh | 55 | # ── 参数校验 ──────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | deploy/dockerhub/publish.sh | 70 | # ── 通用步骤 ──────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | deploy/dockerhub/publish.sh | 136 | # ── memory-core ───────────────────────────────────────────────────── | COMMENT |
| MEDIUM | deploy/dockerhub/publish.sh | 155 | # ── memory-proxy ──────────────────────────────────────────────────── | COMMENT |
| MEDIUM | deploy/dockerhub/publish.sh | 238 | # ── memory-hub ────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | deploy/dockerhub/publish.sh | 271 | # ── 主流程 ────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | agents/asset-import.ts | 15 | // ════════════════════════════════════════════════════════════════════════════ | COMMENT |
| MEDIUM | agents/asset-import.ts | 1974 | // ════════════════════════════════════════════════════════════════════════════ | COMMENT |
| MEDIUM⚡ | agents/setup-proxy.sh | 2 | # ────────────────────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM⚡ | agents/setup-proxy.sh | 10 | # ────────────────────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM⚡ | agents/setup-proxy.sh | 13 | # ─── Colors & Helpers ───────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | agents/setup-proxy.sh | 90 | # ─── Constants ──────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | agents/setup-proxy.sh | 118 | # ─── Parse args ─────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | agents/setup-proxy.sh | 165 | # ─── Non-interactive fast path ──────────────────────────────────────────────── | COMMENT |
| MEDIUM | agents/setup-proxy.sh | 218 | # ─── Main Flow ──────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | agents/setup-proxy.sh | 229 | # ━━━ Step 0: Scan existing agent configs for proxy settings ━━━━━━━━━━━━━━━━━━ | COMMENT |
| MEDIUM | agents/setup-proxy.sh | 369 | # ━━━ Step 1: Proxy address + Instance ID ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ | COMMENT |
| MEDIUM | agents/setup-proxy.sh | 381 | # ━━━ Step 2: User Key ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ | COMMENT |
| MEDIUM | agents/setup-proxy.sh | 400 | # ━━━ Select Agent ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ | COMMENT |
| MEDIUM | agents/setup-proxy.sh | 428 | # ━━━ Model ID ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ | COMMENT |
| MEDIUM | agents/setup-proxy.sh | 450 | # ━━━ Health Probe (使用真实 agent + model) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ | COMMENT |
| MEDIUM | agents/setup-proxy.sh | 521 | # ━━━ Header Preselect (Hermes/OpenClaw only) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ | COMMENT |
| MEDIUM | agents/setup-proxy.sh | 682 | # ━━━ Config File Path & Write ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ | COMMENT |
| MEDIUM | agents/setup-proxy.sh | 714 | # ─── Write Functions ────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | agents/setup-proxy.sh | 1067 | # ─── Execute Write ──────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | agents/setup-proxy.sh | 1078 | # ━━━ Summary ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ | COMMENT |
| MEDIUM | agents/setup-proxy.sh | 1122 | # ━━━ Optional: Asset Import ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ | COMMENT |
| MEDIUM⚡ | agents/skills/setup-proxy/setup-proxy.sh | 2 | # ────────────────────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM⚡ | agents/skills/setup-proxy/setup-proxy.sh | 10 | # ────────────────────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM⚡ | agents/skills/setup-proxy/setup-proxy.sh | 13 | # ─── Colors & Helpers ───────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | agents/skills/setup-proxy/setup-proxy.sh | 90 | # ─── Constants ──────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | agents/skills/setup-proxy/setup-proxy.sh | 118 | # ─── Parse args ─────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | agents/skills/setup-proxy/setup-proxy.sh | 165 | # ─── Non-interactive fast path ──────────────────────────────────────────────── | COMMENT |
| MEDIUM | agents/skills/setup-proxy/setup-proxy.sh | 218 | # ─── Main Flow ──────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | agents/skills/setup-proxy/setup-proxy.sh | 229 | # ━━━ Step 0: Scan existing agent configs for proxy settings ━━━━━━━━━━━━━━━━━━ | COMMENT |
| MEDIUM | agents/skills/setup-proxy/setup-proxy.sh | 369 | # ━━━ Step 1: Proxy address + Instance ID ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ | COMMENT |
| MEDIUM | agents/skills/setup-proxy/setup-proxy.sh | 381 | # ━━━ Step 2: User Key ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ | COMMENT |
| MEDIUM | agents/skills/setup-proxy/setup-proxy.sh | 400 | # ━━━ Select Agent ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ | COMMENT |
| MEDIUM | agents/skills/setup-proxy/setup-proxy.sh | 428 | # ━━━ Model ID ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ | COMMENT |
| MEDIUM | agents/skills/setup-proxy/setup-proxy.sh | 450 | # ━━━ Health Probe (使用真实 agent + model) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ | COMMENT |
| MEDIUM | agents/skills/setup-proxy/setup-proxy.sh | 521 | # ━━━ Header Preselect (Hermes/OpenClaw only) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ | COMMENT |
| MEDIUM | agents/skills/setup-proxy/setup-proxy.sh | 682 | # ━━━ Config File Path & Write ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ | COMMENT |
| MEDIUM | agents/skills/setup-proxy/setup-proxy.sh | 714 | # ─── Write Functions ────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | agents/skills/setup-proxy/setup-proxy.sh | 1067 | # ─── Execute Write ──────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | agents/skills/setup-proxy/setup-proxy.sh | 1078 | # ━━━ Summary ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ | COMMENT |
| 1270 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | agents/asset-import.ts | 1544 | function looksLikeOpenClawWorkspace(dir: string): boolean { | CODE |
| LOW | agents/asset-import.ts | 1588 | function collectOpenClawSkillsFromRoot(root: string): ScannedSkill[] { | CODE |
| LOW | agents/asset-import.ts | 1633 | function collectOpenClawMemoryFiles(opts?: ScanOptions): string[] { | CODE |
| LOW | agents/asset-import.ts | 2128 | function collectDshInstructionFilesInDir(dir: string): string[] { | CODE |
| LOW | agents/asset-import.ts | 2300 | function collectHermesSkillsFromRoot(root: string): ScannedSkill[] { | CODE |
| LOW | MemoryProxy/scripts/qa/cc-session-reset-full-rebind.py | 163 | def wait_for_next_form_or_done(child, timeout=20): | CODE |
| LOW | MemoryProxy/src/request-prepare-adapter.ts | 138 | export function isRequestPrepareEnabledByDefault(config: ProxyConfig): boolean { | CODE |
| LOW | MemoryProxy/src/request-prepare-adapter.ts | 338 | function reportPrepareObservations( | CODE |
| LOW | MemoryProxy/src/request-prepare-adapter.ts | 516 | function reportSideChannelRetention( | CODE |
| LOW | MemoryProxy/src/request-prepare-adapter.ts | 611 | export function stripInjectedToolArguments(args: string): string | null { | CODE |
| LOW | MemoryProxy/src/systemUserPassthrough.ts | 477 | export async function handleSystemUserPassthrough( | CODE |
| LOW | MemoryProxy/src/systemUserPassthrough.ts | 746 | function mergeAnthropicUsageFromEvent(part: string, sink: Record<string, unknown>): void { | CODE |
| LOW | MemoryProxy/src/guard-adapter.ts | 207 | export async function shutdownPrivateControlPlane(): Promise<void> { | CODE |
| LOW | MemoryProxy/src/guard-adapter.ts | 559 | function forwardExtensionTelemetry( | CODE |
| LOW | MemoryProxy/src/trace-archive.ts | 144 | function getOrCreateStream(): WriteStream | null { | CODE |
| LOW | MemoryProxy/src/clickhouse.ts | 601 | function computeCompressRemoteStats( | CODE |
| LOW | MemoryProxy/src/instance-upstream-cache.ts | 145 | export async function getInstanceUpstreamConfigs( | CODE |
| LOW | …ryProxy/src/pipeline/stages/instance-upstream-early.ts | 50 | export async function stageInstanceUpstreamEarly( | CODE |
| LOW | MemoryProxy/src/pipeline/stages/model-gate.ts | 66 | export function buildUnregisteredModelErrorBody(requestedModel: string): Record<string, unknown> { | CODE |
| LOW | …oxy/src/pipeline/stages/instance-upstream-responses.ts | 62 | export async function stageInstanceUpstreamResponses( | CODE |
| LOW | …oxy/src/pipeline/stages/instance-upstream-responses.ts | 130 | export function isInstanceUpstreamBlocked( | CODE |
| LOW | MemoryProxy/src/pipeline/stages/observability.ts | 78 | export async function stageBuildLangfuseTurnContext( | CODE |
| LOW | …roxy/src/pipeline/stages/session-reset-confirmation.ts | 37 | export async function stageSessionResetConfirmation( | CODE |
| LOW | …roxy/src/pipeline/stages/instance-upstream-override.ts | 47 | export function stageInstanceUpstreamOverride( | CODE |
| LOW | MemoryProxy/src/pipeline/stages/rate-limit.ts | 52 | export async function stageRecordInputTokenUsage(input: RateLimitRecordInput): Promise<void> { | CODE |
| LOW | …yProxy/src/pipeline/stages/session-init-orchestrate.ts | 138 | export async function stageSessionInitOrchestrate( | CODE |
| LOW | …oxy/src/pipeline/strategies/protocol/stream-parsers.ts | 44 | export function extractOpenaiSseAssistantText(sseText: string): string { | CODE |
| LOW | MemoryProxy/src/pipeline/runners/workbuddy.ts | 186 | export function extractWorkbuddySessionId( | CODE |
| LOW | MemoryProxy/src/pipeline/runners/workbuddy.ts | 220 | export function detectWorkbuddyDefaultModeGate(input: unknown): boolean { | CODE |
| LOW | MemoryProxy/src/pipeline/runners/workbuddy.ts | 320 | function extractLatestWorkbuddyUserMessage(input: unknown): TdaiMessage | null { | CODE |
| LOW | MemoryProxy/src/pipeline/runners/workbuddy.ts | 379 | async function triggerWorkbuddyArchiveHooks( | CODE |
| LOW | MemoryProxy/src/pipeline/runners/workbuddy.ts | 425 | function buildWorkbuddyLangfuseInput(body: Record<string, unknown>): unknown { | CODE |
| LOW | MemoryProxy/src/pipeline/runners/direct.ts | 46 | function buildDirectRequestHeaders(c: Context): Record<string, string> { | CODE |
| LOW | MemoryProxy/src/pipeline/runners/direct.ts | 129 | function consumeAnthropicStreamForObs(stream: ReadableStream<Uint8Array>, ctx: DirectObsContext): void { | CODE |
| LOW | MemoryProxy/src/pipeline/runners/direct.ts | 177 | function consumeOpenAiStreamForObs(stream: ReadableStream<Uint8Array>, ctx: DirectObsContext): void { | CODE |
| LOW | MemoryProxy/src/pipeline/runners/anthropic.ts | 171 | export function flattenAnthropicMessagesForOpik( | CODE |
| LOW | MemoryProxy/src/pipeline/runners/anthropic.ts | 280 | function hasValidThinkingSignature(block: Record<string, unknown>): boolean { | CODE |
| LOW | MemoryProxy/src/pipeline/runners/anthropic.ts | 1521 | function createSseThinkingFixStream( | CODE |
| LOW⚡ | MemoryProxy/src/pipeline/runners/codex.ts | 116 | function extractLatestCodexUserMessage(input: unknown): TdaiMessage | null { | CODE |
| LOW | MemoryProxy/src/pipeline/runners/openai-chat.ts | 1638 | function extractSseContentAndTools(sseText: string): SseExtractResult { | CODE |
| LOW | MemoryProxy/src/memory/bridge-telemetry.ts | 44 | export function emitBridgeToolCallTelemetry( | CODE |
| LOW | MemoryProxy/src/memory/bridge-telemetry.ts | 83 | export function agentSourceFromSessionKey(sessionKey: string): string { | CODE |
| LOW | MemoryProxy/src/memory/bridge-telemetry.ts | 120 | export function emitBridgeRejectTelemetry(input: BridgeRejectTelemetryInput): void { | CODE |
| LOW | MemoryProxy/src/memory/memory-bridge.ts | 262 | export function createMemoryBridgeHandler( | CODE |
| LOW | MemoryProxy/src/skill/handler-glue.ts | 73 | export async function triggerSkillExtractIfReady(input: TriggerInput): Promise<void> { | CODE |
| LOW | MemoryProxy/src/skill/normalize-conversation.ts | 268 | function convertAnthropicAssistant(content: unknown): NormalizedMessage[] { | CODE |
| LOW | MemoryProxy/src/skill/normalize-conversation.ts | 353 | function anthropicToolResultContentToString(rc: unknown): string { | CODE |
| LOW | MemoryProxy/src/skill/normalize-conversation.ts | 526 | function convertCodexAssistantMessage(content: unknown): NormalizedMessage[] { | CODE |
| LOW | MemoryProxy/src/skill/skill-bridge.ts | 420 | function defaultVisibleSkillIdsResolver( | CODE |
| LOW | MemoryProxy/src/skill/skill-bridge.ts | 997 | function emitSkillUsageFromResponse(args: { | CODE |
| LOW | MemoryProxy/src/common/user-query-extractor.ts | 73 | function isClaudeCodeInternalPrompt(text: string): boolean { | CODE |
| LOW | MemoryProxy/src/common/user-query-extractor.ts | 86 | export function isDshRuntimeContextSnapshot(text: string): boolean { | CODE |
| LOW | MemoryProxy/src/common/langfuse-debug.ts | 90 | export function buildRequestDebugMetadata( | CODE |
| LOW | MemoryProxy/src/common/workbuddy-injection.ts | 90 | export function buildWorkbuddyInjectionBlock( | CODE |
| LOW | MemoryProxy/src/common/responses-payload.ts | 23 | export function collectResponsesToolCalls(output: unknown): UpstreamToolCall[] { | CODE |
| LOW | MemoryProxy/src/common/responses-payload.ts | 62 | export function collectResponsesOutputText( | CODE |
| LOW | MemoryProxy/src/common/cc-request-classifier.ts | 68 | export function findLastCacheControlIndex(msgs: unknown[]): number { | CODE |
| LOW | MemoryProxy/src/injection/index.ts | 211 | export function ensureBindingRepoPersistent(config: ProxyConfig): void { | CODE |
| LOW | MemoryProxy/src/injection/index.ts | 447 | function getOrBuildBundle(config: ProxyConfig): PipelineBundle { | CODE |
| LOW | MemoryProxy/src/injection/index.ts | 508 | export function shouldRegisterKnowledgeInjector(config: ProxyConfig): boolean { | CODE |
| 221 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | INSTALL.md | 132 | ### Step 1: Log into the panel | COMMENT |
| LOW | INSTALL.md | 192 | # Step 1: create the user (account only, NOT added to any team). Note the returned data.user_id and data.default_user_ke | COMMENT |
| LOW | INSTALL.md | 199 | # Step 2: add that user_id to an existing Team (replace TEAM_ID; role is usually member) | COMMENT |
| LOW | INSTALL.md | 228 | ### Step 2: Create Team / Agent / Task in the panel | COMMENT |
| LOW | INSTALL.md | 270 | ### Step 3: Point Claude Code at the Proxy | COMMENT |
| LOW | INSTALL.md | 288 | ### Step 4: First CC turn — pick Team → Agent → Task | COMMENT |
| LOW | INSTALL.md | 321 | ### Step 5: Watch memory grow | COMMENT |
| LOW | INSTALL.md | 677 | ### Step 1: Provision a ClickHouse instance | COMMENT |
| LOW | INSTALL.md | 697 | ### Step 2: Turn on ClickHouse export in Proxy | COMMENT |
| LOW | INSTALL.md | 725 | ### Step 3: Turn on ClickHouse export + query API in Knowledge | COMMENT |
| LOW | INSTALL.md | 756 | ### Step 4: Turn on the analytics query API in Core | COMMENT |
| LOW | INSTALL.md | 781 | ### Step 5: Restart the stack and verify | COMMENT |
| LOW | agents/skills/setup-proxy/SKILL.md | 38 | ### Step 1: 扫描现有配置 | COMMENT |
| LOW | agents/skills/setup-proxy/SKILL.md | 62 | ### Step 2: 收集基础信息 | COMMENT |
| LOW | agents/skills/setup-proxy/SKILL.md | 71 | ### Step 3: 选择 Agent | COMMENT |
| LOW | agents/skills/setup-proxy/SKILL.md | 82 | ### Step 4: 填写模型 ID | COMMENT |
| LOW | agents/skills/setup-proxy/SKILL.md | 88 | ### Step 5: 健康探测(关键验证步骤) | COMMENT |
| LOW | agents/skills/setup-proxy/SKILL.md | 130 | ### Step 6: Header 预选(仅 Hermes / OpenClaw) | COMMENT |
| LOW | agents/skills/setup-proxy/SKILL.md | 175 | ### Step 7: 确认配置文件路径 | COMMENT |
| LOW | agents/skills/setup-proxy/SKILL.md | 179 | ### Step 8: 调用脚本写入配置 | COMMENT |
| LOW | agents/skills/setup-proxy/SKILL.md | 203 | ### Step 9: 验证写入结果 | COMMENT |
| LOW | agents/skills/setup-proxy/SKILL.md | 227 | ### Step 10: 资产导入(可选) | COMMENT |
| LOW⚡ | MemoryProxy/scripts/qa/cc-session-reset-full-rebind.py | 332 | # Step 0: Handle trust | COMMENT |
| LOW⚡ | MemoryProxy/scripts/qa/cc-session-reset-full-rebind.py | 335 | # Step 1: Send hello → expect form | COMMENT |
| LOW⚡ | MemoryProxy/scripts/qa/cc-session-reset-full-rebind.py | 351 | # Step 2: Select 否 → bypass | COMMENT |
| LOW⚡ | MemoryProxy/scripts/qa/cc-session-reset-full-rebind.py | 357 | # Step 3: Send mem:session-reset → expect reset text | COMMENT |
| LOW⚡ | MemoryProxy/scripts/qa/cc-session-reset-full-rebind.py | 419 | # Step 0: Handle trust | COMMENT |
| LOW⚡ | MemoryProxy/scripts/qa/cc-session-reset-full-rebind.py | 422 | # Step 1: Send hello → form → select 是 → complete binding | COMMENT |
| LOW | MemoryProxy/scripts/qa/cc-session-reset-full-rebind.py | 370 | # Step 4: Send hi → expect form again | COMMENT |
| LOW | MemoryProxy/scripts/qa/cc-session-reset-full-rebind.py | 445 | # Step 3: Send mem:session-reset | COMMENT |
| LOW | MemoryProxy/scripts/qa/cc-session-reset-full-rebind.py | 458 | # Step 4: Send hi → form → select team 2 (Down once extra) | COMMENT |
| LOW | MemoryProxy/scripts/qa/cc-session-reset-full-rebind.py | 503 | # Step 0: Handle trust | COMMENT |
| LOW⚡ | …xy/src/injection/injectors/knowledge-tools-injector.ts | 211 | "### Step 1: 拿工具清单(每个资源**首次**使用时调一次即可)", | CODE |
| LOW⚡ | …xy/src/injection/injectors/knowledge-tools-injector.ts | 220 | "### Step 2: 执行工具", | CODE |
| LOW⚡ | …rc/injection/injectors/tdai-profile-memory-injector.ts | 192 | # Step 1: 先查 | COMMENT |
| LOW⚡ | …rc/injection/injectors/tdai-profile-memory-injector.ts | 196 | # Step 2: 从 items[].content 里提取答案后回复 | COMMENT |
| LOW | MemoryProxy/src/routes/session-task.ts | 378 | // Step 1: LLM 生成草稿(lockedTitle 情况下只出 description) | COMMENT |
| LOW | MemoryProxy/src/routes/session-task.ts | 517 | // Step 1: 拉当前 task | COMMENT |
| LOW | MemoryProxy/src/routes/session-task.ts | 537 | // Step 2: 决定新 description + statusSuggestion | COMMENT |
| LOW | MemoryProxy/src/routes/session-task.ts | 573 | // Step 3: 写 pending,等 confirm | COMMENT |
| LOW⚡ | MemoryProxy/src/routes/session-refresh.ts | 180 | // Step 1: 尝试重拉 agent/task detail 并覆写 SessionStore。 | COMMENT |
| LOW⚡ | MemoryProxy/src/routes/session-refresh.ts | 186 | // Step 2: 用最新 state 里的 agent/task detail 构造 PrewarmInput。 | COMMENT |
| LOW | MemoryProxy/src/session/store.ts | 332 | // Step 1: L1 | COMMENT |
| LOW | MemoryProxy/src/session/store.ts | 358 | // Step 2: L2a SessionRepo (Redis / SQLite / ProxyStorage) — full SessionInitState. | COMMENT |
| LOW | MemoryProxy/src/session/store.ts | 391 | // Step 3: L2b Binding | COMMENT |
| LOW | MemoryPanel/web/src/components/team/MemberSection.tsx | 237 | // Step 1: 创建用户 | COMMENT |
| LOW⚡ | MemoryPanel/web/src/components/team/MemberSection.tsx | 248 | // Step 3: 自动加入当前 team | COMMENT |
| LOW⚡ | MemoryPanel/web/src/components/team/MemberSection.tsx | 251 | // Step 4: 关闭添加弹窗,通过回调让父组件展示密钥弹窗 | COMMENT |
| LOW⚡ | …eb/src/pages/SkillsPage/components/ForkSkillDialog.tsx | 75 | // Step 1: 拉源 skill 详情(含 content + manifest)。 | COMMENT |
| LOW⚡ | …eb/src/pages/SkillsPage/components/ForkSkillDialog.tsx | 83 | // Step 2: 防御性检查 —— 目标 agent 下已存在同名 skill 则提前拦截,避免后端 42201。 | COMMENT |
| LOW | …eb/src/pages/SkillsPage/components/ForkSkillDialog.tsx | 95 | // Step 3: 复制附属资源文件(逐个 readSkillFile;单个失败跳过,不阻断主流程)。 | COMMENT |
| LOW | …eb/src/pages/SkillsPage/components/ForkSkillDialog.tsx | 116 | // Step 4: 以(可编辑的)副本名 + 目标 agent 为 owner 创建 skill(v3 API)。 | COMMENT |
| LOW⚡ | sdk/memory-core/python/tencentdb_agent_memory/cos.py | 260 | # Step 1: SignKey | COMMENT |
| LOW⚡ | sdk/memory-core/python/tencentdb_agent_memory/cos.py | 267 | # Step 2: HttpString | COMMENT |
| LOW⚡ | sdk/memory-core/python/tencentdb_agent_memory/cos.py | 271 | # Step 3: StringToSign | COMMENT |
| LOW⚡ | sdk/memory-core/python/tencentdb_agent_memory/cos.py | 275 | # Step 4: Signature | COMMENT |
| LOW⚡ | sdk/memory-core/typescript/src/cos.ts | 206 | // Step 1: SignKey = HMAC-SHA1(SecretKey, q-key-time) | COMMENT |
| LOW⚡ | sdk/memory-core/typescript/src/cos.ts | 209 | // Step 2: HttpString | COMMENT |
| LOW⚡ | sdk/memory-core/typescript/src/cos.ts | 212 | // Step 3: StringToSign | COMMENT |
| LOW⚡ | sdk/memory-core/typescript/src/cos.ts | 216 | // Step 4: Signature | COMMENT |
| 55 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW⚡ | MemoryProxy/scripts/qa/cc-session-reset-full-rebind.py | 332 | # Step 0: Handle trust | COMMENT |
| LOW⚡ | MemoryProxy/scripts/qa/cc-session-reset-full-rebind.py | 335 | # Step 1: Send hello → expect form | COMMENT |
| LOW⚡ | MemoryProxy/scripts/qa/cc-session-reset-full-rebind.py | 351 | # Step 2: Select 否 → bypass | COMMENT |
| LOW⚡ | MemoryProxy/scripts/qa/cc-session-reset-full-rebind.py | 357 | # Step 3: Send mem:session-reset → expect reset text | COMMENT |
| LOW⚡ | MemoryProxy/scripts/qa/cc-session-reset-full-rebind.py | 419 | # Step 0: Handle trust | COMMENT |
| LOW⚡ | MemoryProxy/scripts/qa/cc-session-reset-full-rebind.py | 422 | # Step 1: Send hello → form → select 是 → complete binding | COMMENT |
| LOW | MemoryProxy/scripts/qa/cc-session-reset-full-rebind.py | 370 | # Step 4: Send hi → expect form again | COMMENT |
| LOW | MemoryProxy/scripts/qa/cc-session-reset-full-rebind.py | 445 | # Step 3: Send mem:session-reset | COMMENT |
| LOW | MemoryProxy/scripts/qa/cc-session-reset-full-rebind.py | 458 | # Step 4: Send hi → form → select team 2 (Down once extra) | COMMENT |
| LOW | MemoryProxy/scripts/qa/cc-session-reset-full-rebind.py | 503 | # Step 0: Handle trust | COMMENT |
| LOW⚡ | …xy/src/injection/injectors/knowledge-tools-injector.ts | 211 | "### Step 1: 拿工具清单(每个资源**首次**使用时调一次即可)", | CODE |
| LOW⚡ | …xy/src/injection/injectors/knowledge-tools-injector.ts | 220 | "### Step 2: 执行工具", | CODE |
| LOW⚡ | …rc/injection/injectors/tdai-profile-memory-injector.ts | 192 | # Step 1: 先查 | COMMENT |
| LOW⚡ | …rc/injection/injectors/tdai-profile-memory-injector.ts | 196 | # Step 2: 从 items[].content 里提取答案后回复 | COMMENT |
| LOW | MemoryProxy/src/routes/session-task.ts | 378 | // Step 1: LLM 生成草稿(lockedTitle 情况下只出 description) | COMMENT |
| LOW | MemoryProxy/src/routes/session-task.ts | 517 | // Step 1: 拉当前 task | COMMENT |
| LOW | MemoryProxy/src/routes/session-task.ts | 537 | // Step 2: 决定新 description + statusSuggestion | COMMENT |
| LOW | MemoryProxy/src/routes/session-task.ts | 573 | // Step 3: 写 pending,等 confirm | COMMENT |
| LOW⚡ | MemoryProxy/src/routes/session-refresh.ts | 180 | // Step 1: 尝试重拉 agent/task detail 并覆写 SessionStore。 | COMMENT |
| LOW⚡ | MemoryProxy/src/routes/session-refresh.ts | 186 | // Step 2: 用最新 state 里的 agent/task detail 构造 PrewarmInput。 | COMMENT |
| LOW | MemoryProxy/src/session/store.ts | 332 | // Step 1: L1 | COMMENT |
| LOW | MemoryProxy/src/session/store.ts | 358 | // Step 2: L2a SessionRepo (Redis / SQLite / ProxyStorage) — full SessionInitState. | COMMENT |
| LOW | MemoryProxy/src/session/store.ts | 391 | // Step 3: L2b Binding | COMMENT |
| LOW | MemoryPanel/web/src/components/team/MemberSection.tsx | 237 | // Step 1: 创建用户 | COMMENT |
| LOW⚡ | MemoryPanel/web/src/components/team/MemberSection.tsx | 248 | // Step 3: 自动加入当前 team | COMMENT |
| LOW⚡ | MemoryPanel/web/src/components/team/MemberSection.tsx | 251 | // Step 4: 关闭添加弹窗,通过回调让父组件展示密钥弹窗 | COMMENT |
| LOW⚡ | …eb/src/pages/SkillsPage/components/ForkSkillDialog.tsx | 75 | // Step 1: 拉源 skill 详情(含 content + manifest)。 | COMMENT |
| LOW⚡ | …eb/src/pages/SkillsPage/components/ForkSkillDialog.tsx | 83 | // Step 2: 防御性检查 —— 目标 agent 下已存在同名 skill 则提前拦截,避免后端 42201。 | COMMENT |
| LOW | …eb/src/pages/SkillsPage/components/ForkSkillDialog.tsx | 95 | // Step 3: 复制附属资源文件(逐个 readSkillFile;单个失败跳过,不阻断主流程)。 | COMMENT |
| LOW | …eb/src/pages/SkillsPage/components/ForkSkillDialog.tsx | 116 | // Step 4: 以(可编辑的)副本名 + 目标 agent 为 owner 创建 skill(v3 API)。 | COMMENT |
| LOW⚡ | sdk/memory-core/python/tencentdb_agent_memory/cos.py | 260 | # Step 1: SignKey | COMMENT |
| LOW⚡ | sdk/memory-core/python/tencentdb_agent_memory/cos.py | 267 | # Step 2: HttpString | COMMENT |
| LOW⚡ | sdk/memory-core/python/tencentdb_agent_memory/cos.py | 271 | # Step 3: StringToSign | COMMENT |
| LOW⚡ | sdk/memory-core/python/tencentdb_agent_memory/cos.py | 275 | # Step 4: Signature | COMMENT |
| LOW⚡ | sdk/memory-core/typescript/src/cos.ts | 206 | // Step 1: SignKey = HMAC-SHA1(SecretKey, q-key-time) | COMMENT |
| LOW⚡ | sdk/memory-core/typescript/src/cos.ts | 209 | // Step 2: HttpString | COMMENT |
| LOW⚡ | sdk/memory-core/typescript/src/cos.ts | 212 | // Step 3: StringToSign | COMMENT |
| LOW⚡ | sdk/memory-core/typescript/src/cos.ts | 216 | // Step 4: Signature | COMMENT |
| LOW | MemoryCore/src/offload-client/context-engine.ts | 235 | // Step 1: scan from tail, find the cut index | COMMENT |
| LOW | MemoryCore/src/offload-client/context-engine.ts | 250 | // Step 2: expand cut boundary to respect tool pairs | COMMENT |
| LOW | MemoryCore/src/offload-client/context-engine.ts | 265 | // Step 3: build retained array | COMMENT |
| LOW | MemoryCore/src/offload-client/context-engine.ts | 281 | // Step 4: if still over target and there's a large tool_result, truncate it | COMMENT |
| LOW | MemoryCore/src/core/record/l1-extractor.ts | 186 | // Step 1: LLM extraction (scene segmentation + memory extraction) | COMMENT |
| LOW | MemoryCore/src/core/record/l1-extractor.ts | 296 | // Step 2: Batch Conflict Detection + Write | COMMENT |
| LOW | MemoryCore/src/core/hooks/auto-capture.ts | 302 | // Step 3: Notify scheduler of this conversation round | COMMENT |
| LOW⚡ | MemoryCore/src/core/prompts/l1-dedup.ts | 164 | // Step 1: Build unified candidate pool (de-duplicate across all new memories) | COMMENT |
| LOW | MemoryCore/src/core/prompts/l1-dedup.ts | 179 | // Step 2: Format unified pool as JSON | COMMENT |
| LOW | MemoryCore/src/core/prompts/l1-dedup.ts | 197 | // Step 3: Format each new memory with its related candidate IDs | COMMENT |
| LOW | MemoryCore/src/core/prompts/l1-dedup.ts | 224 | // Step 4: Assemble final prompt | COMMENT |
| LOW⚡ | MemoryCore/src/core/store/sqlite/skill-store.ts | 210 | // Step 2: DROP 旧表 → 重建新 schema(事务内原子操作) | COMMENT |
| LOW⚡ | MemoryCore/src/core/store/sqlite/skill-store.ts | 216 | // Step 3: 回填所有 head 行到 FTS | COMMENT |
| LOW | MemoryCore/src/core/store/sqlite/skill-store.ts | 195 | // Step 1: 从主表读取所有 head 行(回填用) | COMMENT |
| LOW | MemoryCore/src/core/conversation/l0-recorder.ts | 118 | // Step 1: Position slice + extract user/assistant messages. | COMMENT |
| LOW | MemoryCore/src/core/conversation/l0-recorder.ts | 199 | // Step 2: Replace polluted user messages with cached original prompt. | COMMENT |
| LOW | MemoryCore/src/core/conversation/l0-recorder.ts | 255 | // Step 3: Sanitize and filter | COMMENT |
| LOW | MemoryCore/src/core/conversation/l0-recorder.ts | 274 | // Step 4: Write to JSONL file — one message per line (flat format) | COMMENT |
| LOW | …yCore/src/offload_server/compact/compaction-handler.ts | 123 | // Step 1: Fast-path re-apply (uses compactState for confirmed/deleted IDs) | COMMENT |
| LOW | …yCore/src/offload_server/compact/compaction-handler.ts | 141 | // Step 2: Resolve compression level using post-fast-path ratio | COMMENT |
| LOW | …yCore/src/offload_server/compact/compaction-handler.ts | 153 | // Step 3: Mild compression | COMMENT |
| LOW | …yCore/src/offload_server/compact/compaction-handler.ts | 177 | // Step 4: Aggressive compression | COMMENT |
| 29 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | deploy/panel-knowledge-combined/publish.sh | 1 | #!/usr/bin/env bash | COMMENT |
| LOW | deploy/panel-knowledge-combined/build.sh | 1 | #!/usr/bin/env bash | COMMENT |
| LOW | deploy/global-images/start-all.sh | 1 | #!/usr/bin/env bash | COMMENT |
| LOW | deploy/global-images/start-memory-hub.sh | 1 | #!/usr/bin/env bash | COMMENT |
| LOW | deploy/global-images/start-memory-hub.sh | 21 | MEMORY_HUB_IMAGE PANEL_PORT KNOWLEDGE_PORT PANEL_VOLUME \ | COMMENT |
| LOW | deploy/global-images/verify.sh | 1 | #!/usr/bin/env bash | COMMENT |
| LOW | deploy/global-images/start-proxy.sh | 1 | #!/usr/bin/env bash | COMMENT |
| LOW | deploy/global-images/start-memory-core.sh | 1 | #!/usr/bin/env bash | COMMENT |
| LOW | deploy/global-images/start-memory-core.sh | 41 | info "创建 docker 网络 $NETWORK" | COMMENT |
| LOW | deploy/global-images/start-memory-core.sh | 221 | # ── Admin user 生命周期 ───────────────────────────────────────── | COMMENT |
| LOW | deploy/global-images/start-all-mongo.sh | 1 | #!/usr/bin/env bash | COMMENT |
| LOW | deploy/dockerhub/publish.sh | 1 | #!/usr/bin/env bash | COMMENT |
| LOW | agents/setup-proxy.sh | 1 | #!/usr/bin/env bash | COMMENT |
| LOW | agents/skills/setup-proxy/setup-proxy.sh | 1 | #!/usr/bin/env bash | COMMENT |
| LOW | MemoryProxy/config.example.yaml | 1 | # ═══════════════════════════════════════════════════════════════════════════════ | COMMENT |
| LOW | MemoryProxy/config.example.yaml | 41 | # Anthropic 和 OpenAI 协议共用同一张表。 | COMMENT |
| LOW | MemoryProxy/config.example.yaml | 61 | # 4. upstream.url + upstream.apiKey(未命中 agent 时的默认) | COMMENT |
| LOW | MemoryProxy/config.example.yaml | 81 | # - 创建 Team,把用户加为成员 | COMMENT |
| LOW | MemoryProxy/config.example.yaml | 121 | db: 0 # Redis 数据库编号 | COMMENT |
| LOW | MemoryProxy/config.example.yaml | 141 | enabled: false | COMMENT |
| LOW | MemoryProxy/config.example.yaml | 161 | # compressModel: "deepseek-v4-flash" # selector + merge;省略回退 analyze* | COMMENT |
| LOW | MemoryProxy/config.example.yaml | 181 | # # CFQ(context_focus_question)子系统。字段全部可选,整段省略即用内置默认。 | COMMENT |
| LOW | MemoryProxy/config.example.yaml | 201 | # # grep cfq.analyze_fallback.misconfigured 可确认。写了非空值则用自己的。 | COMMENT |
| LOW | MemoryProxy/config.example.yaml | 221 | # # 上限受 pending.ts 的 PENDING_TTL_S(30s)约束。0 = 不等,兜底退化成 | COMMENT |
| LOW | MemoryProxy/config.example.yaml | 241 | # 对所有 URL 中带 spaceId 的主模型调用生效。 | COMMENT |
| LOW | MemoryProxy/config.example.yaml | 261 | # - 兜底 / 测试: backend=memory | COMMENT |
| LOW | MemoryProxy/config.example.yaml | 281 | # │ sqlite.dbPath │ [死] │ sqlite=[可默认空] 其他=[死] │ | COMMENT |
| LOW | MemoryProxy/config.example.yaml | 301 | # ── TTL / NoTTL 前缀分档(业务代码按 key 前缀落桶,见 2026-07-10 方案)───── | COMMENT |
| LOW | MemoryProxy/config.example.yaml | 321 | # | COMMENT |
| LOW | MemoryProxy/config.example.yaml | 341 | # 不配(空 / undefined)时按 4 层优先级自动决定,对齐 core | COMMENT |
| LOW | MemoryProxy/config.example.yaml | 361 | # [可] 5xx / 429 / 网络错 / 超时重试次数。默认 2。 | COMMENT |
| LOW | MemoryProxy/config.example.yaml | 441 | # ── Admin / Ops 端点鉴权(服务级 shared secret) ───────────────────────────── | COMMENT |
| LOW | MemoryProxy/config.example.yaml | 461 | # 优先级:env TDAI_PROXY_ADMIN_API_KEY > yaml admin.apiKey > 默认 "" | COMMENT |
| LOW | MemoryProxy/config.example.yaml | 481 | # userId: "${TDAI_WIKI_SYSTEM_USER_ID}" | COMMENT |
| LOW | MemoryProxy/config.example.yaml | 501 | # 时间规则默认按 TokenHub 时区 Asia/Shanghai 判定,时间范围为 [start, end)。 | COMMENT |
| LOW | MemoryProxy/config.example.yaml | 561 | cacheWrite1h: 0 | COMMENT |
| LOW | MemoryProxy/config.example.yaml | 581 | # (gateway 内部路由到 proxy pod 的端口由 ops 在 gateway 侧配,跟这里无关)。 | COMMENT |
| LOW | MemoryProxy/config.example.yaml | 601 | # 带 `/analyse/` 段的请求直接 404,零性能开销。适合确认 | COMMENT |
| LOW | MemoryProxy/config.example.yaml | 621 | enabled: true | COMMENT |
| LOW | MemoryProxy/config.example.yaml | 661 | # ── DEBUG:本地开发/e2e 短路 ──────────────────────────────────────────────── | COMMENT |
| LOW | MemoryProxy/config.example.yaml | 701 | l2Limit: 3 # L2/L3 注入最大条数 | COMMENT |
| LOW | MemoryProxy/config.example.yaml | 721 | # 请求路径带 /proxy/<spaceId>/ 时会被 spaceId 覆盖 | COMMENT |
| LOW | MemoryProxy/config.example.yaml | 761 | # ── Skill 运行时 ────────────────────────────────────────────────────────── | COMMENT |
| LOW | MemoryProxy/config.example.yaml | 781 | # 不注入系统提示词(不破坏 KV cache),不转发给上游模型(零 token 消耗)。 | COMMENT |
| LOW | MemoryProxy/config.example.yaml | 801 | # - sidequery (TITLE/probe/…): 独立小请求 — 跳过 session-init / mem 拦截 / injection / | COMMENT |
| LOW | MemoryProxy/config.example.yaml | 821 | # 启用后,每个 trace + span 以 JSONL 行追加写入本地文件(按日期分文件), | COMMENT |
| LOW | MemoryProxy/config.example.yaml | 841 | # 2. utility Phase 4.1 - 同批 | COMMENT |
| LOW | MemoryProxy/config.example.yaml | 861 | # | COMMENT |
| LOW | MemoryProxy/scripts/setup-claude-code.sh | 1 | #!/usr/bin/env bash | COMMENT |
| LOW | MemoryProxy/scripts/qa/iu-smoke.sh | 1 | #!/usr/bin/env bash | COMMENT |
| LOW | MemoryProxy/scripts/qa/p1-api-test.sh | 1 | #!/usr/bin/env bash | COMMENT |
| LOW | MemoryProxy/scripts/qa/cost-guard-smoke.sh | 1 | #!/usr/bin/env bash | COMMENT |
| LOW | MemoryProxy/scripts/qa/p0-smoke.sh | 1 | #!/usr/bin/env bash | COMMENT |
| LOW | MemoryProxy/scripts/qa/p2-observability.sh | 1 | #!/usr/bin/env bash | COMMENT |
| LOW | MemoryProxy/scripts/qa/task-e2e.sh | 1 | #!/usr/bin/env bash | COMMENT |
| LOW | MemoryProxy/src/guard-adapter.ts | 341 | COMMENT | |
| LOW | MemoryProxy/src/clickhouse.ts | 981 | // 详见 docs/design/2026-08-03-internal-usage-telemetry-plan.md | COMMENT |
| LOW | MemoryProxy/src/clickhouse.ts | 1441 | " source_tag LowCardinality(String) DEFAULT 'proxy',", | COMMENT |
| LOW | MemoryProxy/src/server.ts | 181 | // CC: ANTHROPIC_BASE_URL=http://<proxy>:8096/claude-code/<spaceId> | COMMENT |
| LOW | MemoryProxy/src/server.ts | 201 | // Sub-mode markers: `/cost-guard/pre` (compress only) and `/cost-guard/cheap` (route only). | COMMENT |
| 98 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | README.deployment.md | 32 | export TDAI_LLM_API_KEY="your-api-key" | CODE |
| HIGH | INSTALL_CN.md | 328 | -e LLM_API_KEY=<YOUR_API_KEY> \ | CODE |
| HIGH | INSTALL_CN.md | 328 | -e LLM_API_KEY=<YOUR_API_KEY> \ | CODE |
| HIGH | INSTALL.md | 397 | -e LLM_API_KEY=<YOUR_API_KEY> \ | CODE |
| HIGH | INSTALL.md | 397 | -e LLM_API_KEY=<YOUR_API_KEY> \ | CODE |
| HIGH | sdk/memory-core/python/README.md | 27 | api_key="your-api-key", | CODE |
| HIGH | sdk/memory-core/python/README.md | 96 | api_key="your-api-key", | CODE |
| HIGH | sdk/memory-core/python/README_CN.md | 27 | api_key="your-api-key", | CODE |
| HIGH | sdk/memory-core/python/README_CN.md | 96 | api_key="your-api-key", | CODE |
| HIGH | MemoryCore/README.md | 70 | export TDAI_LLM_API_KEY="your-api-key" | CODE |
| HIGH | MemoryCore/README.md | 126 | -e TDAI_LLM_API_KEY="your-api-key" \ | CODE |
| HIGH | MemoryCore/README_CN.md | 72 | export TDAI_LLM_API_KEY="your-api-key" | CODE |
| HIGH | MemoryCore/README_CN.md | 128 | -e TDAI_LLM_API_KEY="your-api-key" \ | CODE |
| HIGH | MemoryCore/scripts/install_hermes_memory_tencentdb.sh | 362 | echo " MEMORY_TENCENTDB_LLM_API_KEY=your-api-key" | CODE |
| HIGH | …yCore/scripts/export-tencent-vdb/export-tencent-vdb.ts | 158 | console.error(' --api-key "your-api-key" \\'); | CODE |
| HIGH | MemoryCore/scripts/migrate-sqlite-to-tcvdb/README.md | 56 | --tcvdb-api-key 'your-api-key-here' \ | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | MemoryProxy/scripts/qa/cc-session-reset-full-rebind.py | 303 | except Exception: | CODE |
| HIGH | MemoryProxy/scripts/qa/cc-session-reset-full-rebind.py | 307 | except Exception: | CODE |
| HIGH | MemoryProxy/scripts/qa/cc-session-reset-smoke.py | 131 | except pexpect.TIMEOUT: | CODE |
| HIGH | MemoryProxy/scripts/qa/cc-session-reset-smoke.py | 209 | except Exception: | CODE |
| HIGH | MemoryProxy/scripts/qa/p1-dump-verify.py | 106 | except Exception: | CODE |
| HIGH | …re/hermes-plugin/memory/memory_tencentdb/supervisor.py | 361 | except Exception: | CODE |
| HIGH | …re/hermes-plugin/memory/memory_tencentdb/supervisor.py | 314 | except Exception: | CODE |
| HIGH | …ryCore/hermes-plugin/memory/memory_tencentdb/client.py | 67 | except Exception: | CODE |
| HIGH | …Core/hermes-plugin/memory/memory_tencentdb/__init__.py | 152 | except IndexError: | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | MemoryProxy/scripts/qa/codex-tui-smoke.py | 30 | except Exception: | CODE |
| LOW⚡ | MemoryProxy/scripts/qa/cc-session-reset-full-rebind.py | 303 | except Exception: | CODE |
| LOW⚡ | MemoryProxy/scripts/qa/cc-session-reset-full-rebind.py | 307 | except Exception: | CODE |
| LOW⚡ | MemoryProxy/scripts/qa/cc-session-reset-full-rebind.py | 576 | except Exception as e: | CODE |
| LOW | MemoryProxy/scripts/qa/cc-session-reset-full-rebind.py | 60 | except Exception: | CODE |
| LOW | MemoryProxy/scripts/qa/cc-session-reset-full-rebind.py | 391 | except Exception as e: | CODE |
| LOW | MemoryProxy/scripts/qa/cc-session-reset-full-rebind.py | 476 | except Exception as e: | CODE |
| LOW | MemoryProxy/scripts/qa/cc-session-reset-smoke.py | 35 | except Exception: | CODE |
| LOW⚡ | MemoryProxy/scripts/qa/cc-session-reset-smoke.py | 209 | except Exception: | CODE |
| LOW | MemoryProxy/scripts/qa/p1-dump-verify.py | 106 | except Exception: | CODE |
| LOW | sdk/memory-core/python/AGENT_GUIDE.python.zh-CN.md | 187 | except Exception as e: | CODE |
| LOW | sdk/memory-core/python/tencentdb_agent_memory/cos.py | 92 | except Exception: | CODE |
| LOW⚡ | …/memory-core/python/tencentdb_agent_memory/_v3_http.py | 26 | except Exception as exc: | CODE |
| LOW | …re/hermes-plugin/memory/memory_tencentdb/supervisor.py | 135 | except Exception: | CODE |
| LOW | …re/hermes-plugin/memory/memory_tencentdb/supervisor.py | 275 | except Exception as e: | CODE |
| LOW | …re/hermes-plugin/memory/memory_tencentdb/supervisor.py | 314 | except Exception: | CODE |
| LOW | …re/hermes-plugin/memory/memory_tencentdb/supervisor.py | 329 | except Exception: | CODE |
| LOW | …re/hermes-plugin/memory/memory_tencentdb/supervisor.py | 361 | except Exception: | CODE |
| LOW⚡ | …re/hermes-plugin/memory/memory_tencentdb/supervisor.py | 389 | except Exception: | CODE |
| LOW⚡ | …re/hermes-plugin/memory/memory_tencentdb/supervisor.py | 397 | except Exception: | CODE |
| LOW⚡ | …re/hermes-plugin/memory/memory_tencentdb/supervisor.py | 400 | except Exception as e: | CODE |
| LOW | …ryCore/hermes-plugin/memory/memory_tencentdb/client.py | 67 | except Exception: | CODE |
| LOW | …ryCore/hermes-plugin/memory/memory_tencentdb/client.py | 71 | except Exception as e: | CODE |
| LOW | …ryCore/hermes-plugin/memory/memory_tencentdb/client.py | 86 | except Exception as e: | CODE |
| MEDIUM | …Core/hermes-plugin/memory/memory_tencentdb/__init__.py | 558 | def _background_start(): | CODE |
| MEDIUM | …Core/hermes-plugin/memory/memory_tencentdb/__init__.py | 741 | def _sync(): | CODE |
| LOW | …Core/hermes-plugin/memory/memory_tencentdb/__init__.py | 417 | except Exception as e: | CODE |
| LOW | …Core/hermes-plugin/memory/memory_tencentdb/__init__.py | 466 | except Exception as e: | CODE |
| LOW | …Core/hermes-plugin/memory/memory_tencentdb/__init__.py | 488 | except Exception as e: | CODE |
| LOW | …Core/hermes-plugin/memory/memory_tencentdb/__init__.py | 530 | except Exception: | CODE |
| LOW | …Core/hermes-plugin/memory/memory_tencentdb/__init__.py | 573 | except Exception as e: | CODE |
| LOW | …Core/hermes-plugin/memory/memory_tencentdb/__init__.py | 626 | except Exception as e: | CODE |
| LOW | …Core/hermes-plugin/memory/memory_tencentdb/__init__.py | 710 | except Exception as e: | CODE |
| LOW | …Core/hermes-plugin/memory/memory_tencentdb/__init__.py | 751 | except Exception as e: | CODE |
| LOW | …Core/hermes-plugin/memory/memory_tencentdb/__init__.py | 813 | except Exception as e: | CODE |
| LOW | …Core/hermes-plugin/memory/memory_tencentdb/__init__.py | 904 | except Exception as e: | CODE |
| LOW | MemoryCore/scripts/install-hermes-plugin.sh | 118 | except Exception: | CODE |
| LOW | …/scripts/import-opik-to-memory-skill-py/import_opik.py | 621 | except Exception as err: # noqa: BLE001 | CODE |
| LOW | …/scripts/import-opik-to-memory-skill-py/import_opik.py | 636 | except Exception as err: # noqa: BLE001 | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | sdk/memory-core/python/tencentdb_agent_memory/_http.py | 8 | CODE | |
| LOW | sdk/memory-core/python/tencentdb_agent_memory/_http.py | 12 | CODE | |
| LOW | sdk/memory-core/python/tencentdb_agent_memory/cos.py | 15 | CODE | |
| LOW | sdk/memory-core/python/tencentdb_agent_memory/cos.py | 88 | CODE | |
| LOW | …/memory-core/python/tencentdb_agent_memory/__init__.py | 21 | CODE | |
| LOW | …/memory-core/python/tencentdb_agent_memory/__init__.py | 21 | CODE | |
| LOW | …/memory-core/python/tencentdb_agent_memory/__init__.py | 22 | CODE | |
| LOW | …/memory-core/python/tencentdb_agent_memory/__init__.py | 22 | CODE | |
| LOW | sdk/memory-core/python/tencentdb_agent_memory/errors.py | 3 | CODE | |
| LOW | …/memory-core/python/tencentdb_agent_memory/_v3_http.py | 3 | CODE | |
| LOW | …memory-core/python/tencentdb_agent_memory/v2/client.py | 7 | CODE | |
| LOW | …mory-core/python/tencentdb_agent_memory/v2/__init__.py | 7 | CODE | |
| LOW | …mory-core/python/tencentdb_agent_memory/v2/__init__.py | 7 | CODE | |
| LOW | …-core/python/tencentdb_agent_memory/v3/skill_client.py | 26 | CODE | |
| LOW | …memory-core/python/tencentdb_agent_memory/v3/client.py | 32 | CODE | |
| LOW | …mory-core/python/tencentdb_agent_memory/v3/__init__.py | 15 | CODE | |
| LOW | …mory-core/python/tencentdb_agent_memory/v3/__init__.py | 15 | CODE | |
| LOW | …mory-core/python/tencentdb_agent_memory/v3/__init__.py | 16 | CODE | |
| LOW | …mory-core/python/tencentdb_agent_memory/v3/__init__.py | 16 | CODE | |
| LOW | …mory-core/python/tencentdb_agent_memory/v3/__init__.py | 17 | CODE | |
| LOW | …mory-core/python/tencentdb_agent_memory/v3/__init__.py | 17 | CODE | |
| LOW | …mory-core/python/tencentdb_agent_memory/v3/__init__.py | 18 | CODE | |
| LOW | …mory-core/python/tencentdb_agent_memory/v3/__init__.py | 18 | CODE | |
| LOW | …mory-core/python/tencentdb_agent_memory/v3/__init__.py | 19 | CODE | |
| LOW | …mory-core/python/tencentdb_agent_memory/v3/__init__.py | 19 | CODE | |
| LOW | …mory-core/python/tencentdb_agent_memory/v3/__init__.py | 19 | CODE | |
| LOW | …mory-core/python/tencentdb_agent_memory/v3/__init__.py | 19 | CODE | |
| LOW | …mory-core/python/tencentdb_agent_memory/v3/__init__.py | 19 | CODE | |
| LOW | …re/python/tencentdb_agent_memory/v3/metadata_client.py | 27 | CODE | |
| LOW | …hon/tencentdb_agent_memory/v3/memory_generation_log.py | 2 | CODE | |
| LOW | …core/python/tencentdb_agent_memory/v3/memory_prompt.py | 2 | CODE | |
| LOW | …re/hermes-plugin/memory/memory_tencentdb/supervisor.py | 9 | CODE | |
| LOW | …ryCore/hermes-plugin/memory/memory_tencentdb/client.py | 10 | CODE | |
| LOW | …Core/hermes-plugin/memory/memory_tencentdb/__init__.py | 30 | CODE | |
| LOW | …/scripts/import-opik-to-memory-skill-py/import_opik.py | 17 | CODE | |
| LOW | …/scripts/import-opik-to-memory-skill-py/import_opik.py | 31 | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | …memory-core/python/tencentdb_agent_memory/v2/client.py | 126 | CODE | |
| LOW | …memory-core/python/tencentdb_agent_memory/v2/client.py | 152 | CODE | |
| LOW | …memory-core/python/tencentdb_agent_memory/v2/client.py | 222 | CODE | |
| LOW | …memory-core/python/tencentdb_agent_memory/v2/client.py | 248 | CODE | |
| LOW | …memory-core/python/tencentdb_agent_memory/v2/client.py | 608 | CODE | |
| LOW | …memory-core/python/tencentdb_agent_memory/v2/client.py | 622 | CODE | |
| LOW | …memory-core/python/tencentdb_agent_memory/v2/client.py | 661 | CODE | |
| LOW | …memory-core/python/tencentdb_agent_memory/v2/client.py | 675 | CODE | |
| LOW | …-core/python/tencentdb_agent_memory/v3/skill_client.py | 167 | CODE | |
| LOW | …-core/python/tencentdb_agent_memory/v3/skill_client.py | 531 | CODE | |
| LOW | …-core/python/tencentdb_agent_memory/v3/skill_client.py | 699 | CODE | |
| LOW | …-core/python/tencentdb_agent_memory/v3/skill_client.py | 1036 | CODE | |
| LOW | …memory-core/python/tencentdb_agent_memory/v3/client.py | 168 | CODE | |
| LOW | …memory-core/python/tencentdb_agent_memory/v3/client.py | 577 | CODE | |
| LOW | …core/python/tencentdb_agent_memory/v3/memory_prompt.py | 40 | CODE | |
| LOW | …core/python/tencentdb_agent_memory/v3/memory_prompt.py | 105 | CODE | |
| LOW | …core/python/tencentdb_agent_memory/v3/memory_prompt.py | 119 | CODE | |
| LOW | …core/python/tencentdb_agent_memory/v3/memory_prompt.py | 142 | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | deploy/global-images/start-memory-hub.sh | 4 | # 依赖:memory 需要先起来(memory-hub 里 knowledge 调 memory 做 embed/RAG)。 | COMMENT |
| MEDIUM⚡ | MemoryProxy/config.example.yaml | 14 | # injection 依赖 coreSkill(skill RAG 注入) + tdai(memory L1/L2/L3) | COMMENT |
| MEDIUM | MemoryProxy/config.example.yaml | 570 | # skill — <cloud_skills> 块:从内核 RAG 检索相关 skill 注入 system prompt; | COMMENT |
| MEDIUM | MemoryProxy/config.example.yaml | 707 | # 1. <cloud_skills> RAG 注入:GET /v3/skill/search 检索相关 skill | COMMENT |
| MEDIUM | MemoryProxy/config.example.yaml | 722 | timeoutMs: 1500 # 单次调用超时(毫秒)。RAG 在 session_init 热路径上,不宜太大 | CODE |
| MEDIUM | MemoryProxy/src/injection/agents/claude-code/index.ts | 29 | * # Context management — context window summarization | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW⚡ | sdk/memory-core/python/tencentdb_agent_memory/_http.py | 18 | logger = logging.getLogger(__name__) | CODE |
| LOW⚡ | sdk/memory-core/python/tencentdb_agent_memory/cos.py | 30 | logger = logging.getLogger(__name__) | CODE |
| LOW | …/memory-core/python/tencentdb_agent_memory/__init__.py | 24 | __all__ = ["MemoryClient", "AsyncMemoryClient", "TDAMError", "ParamError"] | CODE |
| LOW⚡ | …/memory-core/python/tencentdb_agent_memory/_v3_http.py | 13 | logger = logging.getLogger(__name__) | CODE |
| LOW⚡ | …memory-core/python/tencentdb_agent_memory/v2/client.py | 15 | logger = logging.getLogger(__name__) | CODE |
| LOW | …mory-core/python/tencentdb_agent_memory/v2/__init__.py | 9 | __all__ = ["MemoryClient", "AsyncMemoryClient"] | CODE |
| LOW | …memory-core/python/tencentdb_agent_memory/v3/client.py | 41 | logger = logging.getLogger(__name__) | CODE |
| LOW | …mory-core/python/tencentdb_agent_memory/v3/__init__.py | 27 | __all__ = [ | CODE |
| LOW | …re/hermes-plugin/memory/memory_tencentdb/supervisor.py | 30 | logger = logging.getLogger(__name__) | CODE |
| LOW | …ryCore/hermes-plugin/memory/memory_tencentdb/client.py | 18 | logger = logging.getLogger(__name__) | CODE |
| LOW | …Core/hermes-plugin/memory/memory_tencentdb/__init__.py | 45 | logger = logging.getLogger(__name__) | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | MemoryProxy/scripts/qa/codex-tui-smoke.py | 54 | CODE | |
| LOW | MemoryProxy/scripts/qa/cc-session-reset-full-rebind.py | 245 | CODE | |
| LOW | MemoryProxy/scripts/qa/cc-session-reset-full-rebind.py | 590 | CODE | |
| LOW | MemoryProxy/scripts/qa/p1-dump-verify.py | 123 | CODE | |
| LOW | MemoryProxy/scripts/qa/p1-dump-verify.py | 143 | CODE | |
| LOW | …re/hermes-plugin/memory/memory_tencentdb/supervisor.py | 57 | CODE | |
| LOW | …Core/hermes-plugin/memory/memory_tencentdb/__init__.py | 448 | CODE | |
| LOW | …/scripts/import-opik-to-memory-skill-py/import_opik.py | 47 | CODE | |
| LOW | …/scripts/import-opik-to-memory-skill-py/import_opik.py | 215 | CODE | |
| LOW | …/scripts/import-opik-to-memory-skill-py/import_opik.py | 595 | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW⚡ | agents/setup-proxy.sh | 7 | # Usage: | COMMENT |
| LOW⚡ | agents/skills/setup-proxy/setup-proxy.sh | 7 | # Usage: | COMMENT |
| LOW | MemoryKnowledge/docker/run.sh | 4 | # Usage: | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | MemoryCore/scripts/db/mongodb-init.js | 101 | print(`indexes ensured on ${database.getName()}`); | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | agents/setup-proxy.sh | 1162 | # Check if tsx/npx is available | COMMENT |
| LOW | agents/skills/setup-proxy/setup-proxy.sh | 1159 | # Check if tsx/npx is available | COMMENT |
| LOW | …re/hermes-plugin/memory/memory_tencentdb/supervisor.py | 340 | # Check if process died | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | MemoryCore/index.ts | 377 | // TODO: implement hard per-turn call limit via before_tool_call hook + execute early-return (方案 D) | COMMENT |
| LOW | MemoryCore/index.ts | 465 | // TODO: implement hard per-turn call limit via before_tool_call hook + execute early-return (方案 D) | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | MemoryCore/scripts/install-openclaw-plugin.sh | 15 | # - 不含 :Offload;E2E harness(scripts/e2e-openclaw-plugin*)由其它同事负责,本脚本不覆盖 | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | …rc/pages/WorkbenchPage/components/TaskImportDialog.tsx | 111 | if (/[….]{2,}|…/.test(v)) return 'placeholder'; | CODE |