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 presents the forensic synthetic code analysis of TencentCloud/TencentDB-Agent-Memory, a TypeScript project with 25,061 GitHub stars. SynthScan v2.0 examined 254,778 lines of code across 920 source files, recording 1814 pattern matches distributed across 17 syntactic categories. The overall adjusted score of 17.2 places this repository in the Moderate AI signal band.
The scanner applied 160+ deterministic lexical heuristics, multi-line block detectors, abstract syntax tree depth profilers, and a cross-file Jaccard similarity matrix to construct a statistically normalised synthetic code estimate. All matches are individually weighted by severity coefficient and contextual multiplier before summation, and the resulting headline score is temporally discounted to account for the repository's development history relative to the commercial emergence of large language model coding tooling (November 2022 onward).
This chart maps the temporal evolution of the adjusted synthetic code score across successive scan runs. An upward trajectory indicates ongoing incorporation of AI-generated code or expanding LLM-assisted scaffolding; a stable or declining trajectory may reflect active human refactoring, code removal, or the adoption of stricter authorship policies. The dashed secondary line (right axis) independently tracks total raw pattern hit count, which can diverge from the normalised score when codebase size changes significantly between scans.
Classifies detected patterns by their diagnostic confidence and structural impact. CRITICAL patterns (coefficient 10) represent definitive synthetic signatures — hallucinated imports, explicit LLM attribution metadata — virtually never produced by human authors. HIGH (5) indicates strong structural tells such as cross-file repetition or cross-linguistic idioms. MEDIUM (2) covers recognisable conversational padding and AI-specific vocabulary. LOW (1) captures subtle indicators like tautological comments and generic boilerplate that require density to carry independent signal.
This horizontal bar chart decomposes the repository's raw synthetic code score by top-level directory, allowing you to pinpoint precisely which modules or components carry the highest AI authorship density. Directories with disproportionately high scores relative to their size warrant targeted manual review: concentrated AI signatures often trace back to mass-generated configuration layers, auto-ported test suites, LLM-scaffolded boilerplate classes, or entire subsystems authored under heavy copilot assistance. Use this view to prioritise your human code-review effort.
The scanner identified 1814 distinct pattern matches across 17 syntactic categories. Each entry below represents a discrete location in the source code where the engine recorded a statistically significant AI authorship indicator. 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 diagnostic confidence level (CRITICAL / HIGH / MEDIUM / LOW). The Context column identifies whether the match occurred inside executable code, an inline comment, or a string literal — comment-context matches receive a ×1.5 weight because LLMs systematically over-annotate. The ⚡ bolt icon marks clustered matches: three or more patterns within a 10-line window, each receiving an additional ×1.5 density multiplier as dense clusters constitute far stronger evidence of synthetic authorship than isolated hits.
| 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 | 401 | # ═══════════════════════════════════════════════════════════════ | COMMENT |
| MEDIUM | deploy/global-images/_lib.sh | 403 | # ═══════════════════════════════════════════════════════════════ | COMMENT |
| MEDIUM | deploy/global-images/start-memory-core.sh | 19 | # ── Gateway 内部管理凭据 ───────────────────────────────────────── | COMMENT |
| MEDIUM | deploy/global-images/start-memory-core.sh | 140 | # ── Admin user 生命周期 ───────────────────────────────────────── | COMMENT |
| MEDIUM | deploy/global-images/start-memory-core.sh | 218 | # ── 校验 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 | 1950 | // ════════════════════════════════════════════════════════════════════════════ | 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 |
| MEDIUM | agents/skills/setup-proxy/setup-proxy.sh | 1122 | # ━━━ Optional: Asset Import ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ | COMMENT |
| 1061 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | agents/asset-import.ts | 1520 | function looksLikeOpenClawWorkspace(dir: string): boolean { | CODE |
| LOW | agents/asset-import.ts | 1564 | function collectOpenClawSkillsFromRoot(root: string): ScannedSkill[] { | CODE |
| LOW | agents/asset-import.ts | 1609 | function collectOpenClawMemoryFiles(opts?: ScanOptions): string[] { | CODE |
| LOW | agents/asset-import.ts | 2104 | function collectDshInstructionFilesInDir(dir: string): string[] { | CODE |
| LOW | agents/asset-import.ts | 2276 | function collectHermesSkillsFromRoot(root: string): ScannedSkill[] { | CODE |
| LOW | MemoryProxy/scripts/qa/cc-session-reset-full-rebind.py | 159 | def wait_for_next_form_or_done(child, timeout=20): | CODE |
| LOW⚡ | MemoryProxy/src/codexHandler.ts | 105 | function extractLatestCodexUserMessage(input: unknown): TdaiMessage | null { | CODE |
| LOW | MemoryProxy/src/workbuddyHandler.ts | 161 | export function extractWorkbuddySessionId( | CODE |
| LOW | MemoryProxy/src/workbuddyHandler.ts | 189 | export function detectWorkbuddyDefaultModeGate(input: unknown): boolean { | CODE |
| LOW | MemoryProxy/src/workbuddyHandler.ts | 298 | function extractLatestWorkbuddyUserMessage(input: unknown): TdaiMessage | null { | CODE |
| LOW | MemoryProxy/src/workbuddyHandler.ts | 305 | function createWorkbuddyTdaiClient(config: ProxyConfig): TdaiClient | null { | CODE |
| LOW | MemoryProxy/src/workbuddyHandler.ts | 368 | async function triggerWorkbuddyArchiveHooks( | CODE |
| LOW | MemoryProxy/src/workbuddyHandler.ts | 441 | function buildWorkbuddyLangfuseInput(body: Record<string, unknown>): unknown { | CODE |
| LOW | MemoryProxy/src/request-prepare-adapter.ts | 109 | export function isRequestPrepareEnabledByDefault(config: ProxyConfig): boolean { | CODE |
| LOW | MemoryProxy/src/request-prepare-adapter.ts | 264 | function reportPrepareObservations( | CODE |
| LOW | MemoryProxy/src/anthropicHandler.ts | 158 | export function flattenAnthropicMessagesForOpik( | CODE |
| LOW | MemoryProxy/src/anthropicHandler.ts | 267 | function hasValidThinkingSignature(block: Record<string, unknown>): boolean { | CODE |
| LOW | MemoryProxy/src/anthropicHandler.ts | 1795 | function createSseThinkingFixStream( | CODE |
| LOW | MemoryProxy/src/systemUserPassthrough.ts | 462 | export async function handleSystemUserPassthrough( | CODE |
| LOW | MemoryProxy/src/systemUserPassthrough.ts | 693 | function mergeAnthropicUsageFromEvent(part: string, sink: Record<string, unknown>): void { | CODE |
| LOW | MemoryProxy/src/guard-adapter.ts | 195 | export async function shutdownPrivateControlPlane(): Promise<void> { | CODE |
| LOW | MemoryProxy/src/guard-adapter.ts | 521 | function forwardExtensionTelemetry( | CODE |
| LOW | MemoryProxy/src/handler.ts | 1927 | 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 | 250 | 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 | 415 | function defaultVisibleSkillIdsResolver( | 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/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 | 438 | function getOrBuildBundle(config: ProxyConfig): PipelineBundle { | CODE |
| LOW | MemoryProxy/src/injection/index.ts | 499 | export function shouldRegisterKnowledgeInjector(config: ProxyConfig): boolean { | CODE |
| LOW | MemoryProxy/src/injection/agents/codebuddy/parser.ts | 68 | export function parseCodeBuddySystemPrompt(text: string): PromptModule[] { | CODE |
| LOW | MemoryProxy/src/injection/agents/workbuddy/parser.ts | 57 | export function parseWorkbuddySystemPrompt(text: string): PromptModule[] { | CODE |
| LOW | …y/src/injection/injectors/asset-reflection-injector.ts | 41 | export function renderAssetReflectionBlock(tags: string[]): string { | CODE |
| LOW | …ryProxy/src/injection/injectors/tdai-tools-injector.ts | 56 | export function renderTdaiMemoryToolsBlock( | CODE |
| LOW | …xy/src/injection/injectors/knowledge-tools-injector.ts | 87 | function filterResourcesByCapabilities( | CODE |
| LOW | …xy/src/injection/injectors/knowledge-tools-injector.ts | 139 | export function renderKnowledgeToolsBlock( | CODE |
| LOW | …rc/injection/injectors/tdai-profile-memory-injector.ts | 146 | function createPrewarmAgentContext(input: PrewarmInput): AgentContext { | CODE |
| LOW | MemoryProxy/src/mem-command/response-builder.ts | 35 | export function buildAnthropicStreamResponse(text: string, requestId: string, thinking?: boolean): Response { | CODE |
| LOW | MemoryProxy/src/mem-command/response-builder.ts | 120 | export function buildOpenAIStreamResponse(text: string, requestId: string): Response { | CODE |
| LOW | MemoryProxy/src/mem-command/response-builder.ts | 168 | export function buildResponsesStreamResponse(text: string, requestId: string): Response { | CODE |
| LOW | MemoryProxy/src/tdai/client.ts | 27 | function chunkConversationMessages(messages: TdaiMessage[]): TdaiMessage[] { | CODE |
| LOW | MemoryProxy/src/routes/session-task.ts | 604 | export function createSessionCreateTaskHandler(config: ProxyConfig) { | CODE |
| LOW | MemoryProxy/src/routes/session-task.ts | 626 | export function createSessionUpdateTaskHandler(config: ProxyConfig) { | CODE |
| LOW | MemoryProxy/src/routes/session-force-archive.ts | 113 | export function createSessionForceArchiveHandler(config: ProxyConfig) { | CODE |
| LOW⚡ | MemoryProxy/src/routes/instance-destroy.ts | 66 | export function createInstanceDestroyHandler(config: ProxyConfig) { | CODE |
| LOW | MemoryProxy/src/routes/whitelist.ts | 242 | export function normalizeWhitelistRequestPath(requestPath: string): string { | CODE |
| LOW | MemoryProxy/src/routes/session-refresh.ts | 239 | export function createSessionRefreshHandler(config: ProxyConfig) { | CODE |
| LOW | MemoryProxy/src/session/context-injector.ts | 164 | export function injectSessionContextWithToggles( | CODE |
| LOW | MemoryProxy/src/session/context-injector.ts | 199 | export function buildSessionContextBlockWithToggles( | CODE |
| LOW | MemoryProxy/src/session/context-injector.ts | 246 | export function injectSessionContextIntoAnthropicSystem( | CODE |
| 171 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | INSTALL.md | 87 | ### Step 1: Log into the panel | COMMENT |
| LOW | INSTALL.md | 132 | ### Step 2: Create Team / Agent / Task in the panel | COMMENT |
| LOW | INSTALL.md | 148 | ### Step 3: Point Claude Code at the Proxy | COMMENT |
| LOW | INSTALL.md | 166 | ### Step 4: First CC turn — pick Team → Agent → Task | COMMENT |
| LOW | INSTALL.md | 199 | ### Step 5: Watch memory grow | 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 | 328 | # Step 0: Handle trust | COMMENT |
| LOW⚡ | MemoryProxy/scripts/qa/cc-session-reset-full-rebind.py | 331 | # Step 1: Send hello → expect form | COMMENT |
| LOW⚡ | MemoryProxy/scripts/qa/cc-session-reset-full-rebind.py | 347 | # Step 2: Select 否 → bypass | COMMENT |
| LOW⚡ | MemoryProxy/scripts/qa/cc-session-reset-full-rebind.py | 353 | # Step 3: Send mem:session-reset → expect reset text | COMMENT |
| LOW⚡ | MemoryProxy/scripts/qa/cc-session-reset-full-rebind.py | 415 | # Step 0: Handle trust | COMMENT |
| LOW⚡ | MemoryProxy/scripts/qa/cc-session-reset-full-rebind.py | 418 | # Step 1: Send hello → form → select 是 → complete binding | COMMENT |
| LOW | MemoryProxy/scripts/qa/cc-session-reset-full-rebind.py | 366 | # Step 4: Send hi → expect form again | COMMENT |
| LOW | MemoryProxy/scripts/qa/cc-session-reset-full-rebind.py | 441 | # Step 3: Send mem:session-reset | COMMENT |
| LOW | MemoryProxy/scripts/qa/cc-session-reset-full-rebind.py | 454 | # Step 4: Send hi → form → select team 2 (Down once extra) | COMMENT |
| LOW | MemoryProxy/scripts/qa/cc-session-reset-full-rebind.py | 499 | # Step 0: Handle trust | COMMENT |
| LOW⚡ | MemoryProxy/src/anthropicHandler.ts | 1109 | // Step 18: observability | COMMENT |
| LOW⚡ | MemoryProxy/src/anthropicHandler.ts | 1112 | // Step 17: Langfuse — 上报 mem-command 为一个 generation observation。 | COMMENT |
| LOW | MemoryProxy/src/anthropicHandler.ts | 1064 | // Step 20: L0 写入 — 保证对话时间线完整。 | COMMENT |
| LOW | MemoryProxy/src/anthropicHandler.ts | 1084 | // Step 19: skill extract — 对话轮次计数正常累积 | 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 | 191 | # Step 1: 先查 | COMMENT |
| LOW⚡ | …rc/injection/injectors/tdai-profile-memory-injector.ts | 195 | # Step 2: 从 items[].content 里提取答案后回复 | COMMENT |
| LOW | MemoryProxy/src/routes/session-task.ts | 263 | // Step 1: LLM 生成草稿(lockedTitle 情况下只出 description) | COMMENT |
| LOW | MemoryProxy/src/routes/session-task.ts | 402 | // Step 1: 拉当前 task | COMMENT |
| LOW | MemoryProxy/src/routes/session-task.ts | 422 | // Step 2: 决定新 description + statusSuggestion | COMMENT |
| LOW | MemoryProxy/src/routes/session-task.ts | 458 | // 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/SKILL-DIAGNOSTIC-EXPORT.md | 15 | ### Step 1: 确认环境 | COMMENT |
| LOW | MemoryCore/SKILL-DIAGNOSTIC-EXPORT.md | 32 | ### Step 2: 执行导出脚本 | COMMENT |
| LOW | MemoryCore/SKILL-DIAGNOSTIC-EXPORT.md | 50 | ### Step 3: 确认导出结果 | COMMENT |
| 49 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW⚡ | MemoryProxy/scripts/qa/cc-session-reset-full-rebind.py | 328 | # Step 0: Handle trust | COMMENT |
| LOW⚡ | MemoryProxy/scripts/qa/cc-session-reset-full-rebind.py | 331 | # Step 1: Send hello → expect form | COMMENT |
| LOW⚡ | MemoryProxy/scripts/qa/cc-session-reset-full-rebind.py | 347 | # Step 2: Select 否 → bypass | COMMENT |
| LOW⚡ | MemoryProxy/scripts/qa/cc-session-reset-full-rebind.py | 353 | # Step 3: Send mem:session-reset → expect reset text | COMMENT |
| LOW⚡ | MemoryProxy/scripts/qa/cc-session-reset-full-rebind.py | 415 | # Step 0: Handle trust | COMMENT |
| LOW⚡ | MemoryProxy/scripts/qa/cc-session-reset-full-rebind.py | 418 | # Step 1: Send hello → form → select 是 → complete binding | COMMENT |
| LOW | MemoryProxy/scripts/qa/cc-session-reset-full-rebind.py | 366 | # Step 4: Send hi → expect form again | COMMENT |
| LOW | MemoryProxy/scripts/qa/cc-session-reset-full-rebind.py | 441 | # Step 3: Send mem:session-reset | COMMENT |
| LOW | MemoryProxy/scripts/qa/cc-session-reset-full-rebind.py | 454 | # Step 4: Send hi → form → select team 2 (Down once extra) | COMMENT |
| LOW | MemoryProxy/scripts/qa/cc-session-reset-full-rebind.py | 499 | # Step 0: Handle trust | COMMENT |
| LOW⚡ | MemoryProxy/src/anthropicHandler.ts | 1109 | // Step 18: observability | COMMENT |
| LOW⚡ | MemoryProxy/src/anthropicHandler.ts | 1112 | // Step 17: Langfuse — 上报 mem-command 为一个 generation observation。 | COMMENT |
| LOW | MemoryProxy/src/anthropicHandler.ts | 1064 | // Step 20: L0 写入 — 保证对话时间线完整。 | COMMENT |
| LOW | MemoryProxy/src/anthropicHandler.ts | 1084 | // Step 19: skill extract — 对话轮次计数正常累积 | 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 | 191 | # Step 1: 先查 | COMMENT |
| LOW⚡ | …rc/injection/injectors/tdai-profile-memory-injector.ts | 195 | # Step 2: 从 items[].content 里提取答案后回复 | COMMENT |
| LOW | MemoryProxy/src/routes/session-task.ts | 263 | // Step 1: LLM 生成草稿(lockedTitle 情况下只出 description) | COMMENT |
| LOW | MemoryProxy/src/routes/session-task.ts | 402 | // Step 1: 拉当前 task | COMMENT |
| LOW | MemoryProxy/src/routes/session-task.ts | 422 | // Step 2: 决定新 description + statusSuggestion | COMMENT |
| LOW | MemoryProxy/src/routes/session-task.ts | 458 | // 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 | 269 | // Step 2: Batch Conflict Detection + Write | COMMENT |
| LOW⚡ | MemoryCore/src/core/skill/skill-store.ts | 235 | // Step 2: DROP 旧表 → 重建新 schema(事务内原子操作) | COMMENT |
| LOW⚡ | MemoryCore/src/core/skill/skill-store.ts | 241 | // Step 3: 回填所有 head 行到 FTS | COMMENT |
| LOW | MemoryCore/src/core/skill/skill-store.ts | 220 | // Step 1: 从主表读取所有 head 行(回填用) | 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/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 |
| 30 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 | 141 | # 首次启动:init-admin 时**传入我们生成的随机 user_key**,返回体里读回来存文件。 | 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 | # anthropicUpstream: | COMMENT |
| LOW | MemoryProxy/config.example.yaml | 161 | # compressProtocol: openai | COMMENT |
| LOW | MemoryProxy/config.example.yaml | 181 | # 对所有 URL 中带 spaceId 的主模型调用生效。 | COMMENT |
| LOW | MemoryProxy/config.example.yaml | 201 | # - 兜底 / 测试: backend=memory | COMMENT |
| LOW | MemoryProxy/config.example.yaml | 221 | # │ sqlite.dbPath │ [死] │ sqlite=[可默认空] 其他=[死] │ | COMMENT |
| LOW | MemoryProxy/config.example.yaml | 241 | # ── TTL / NoTTL 前缀分档(业务代码按 key 前缀落桶,见 2026-07-10 方案)───── | COMMENT |
| LOW | MemoryProxy/config.example.yaml | 261 | # | COMMENT |
| LOW | MemoryProxy/config.example.yaml | 281 | # 不配(空 / undefined)时按 4 层优先级自动决定,对齐 core | COMMENT |
| LOW | MemoryProxy/config.example.yaml | 301 | # [可] 5xx / 429 / 网络错 / 超时重试次数。默认 2。 | COMMENT |
| LOW | MemoryProxy/config.example.yaml | 381 | # ── Admin / Ops 端点鉴权(服务级 shared secret) ───────────────────────────── | COMMENT |
| LOW | MemoryProxy/config.example.yaml | 401 | # 优先级:env TDAI_PROXY_ADMIN_API_KEY > yaml admin.apiKey > 默认 "" | COMMENT |
| LOW | MemoryProxy/config.example.yaml | 421 | # userId: "${TDAI_WIKI_SYSTEM_USER_ID}" | COMMENT |
| LOW | MemoryProxy/config.example.yaml | 481 | # 可选 injector: | COMMENT |
| LOW | MemoryProxy/config.example.yaml | 501 | externalGatewayUrl: "https://gateway.example.com" | COMMENT |
| LOW | MemoryProxy/config.example.yaml | 521 | # ── 提取(写侧:把每轮对话/工具调用回流到内核) ───────────────────────────── | COMMENT |
| LOW | MemoryProxy/config.example.yaml | 541 | # 流程: | COMMENT |
| LOW | MemoryProxy/config.example.yaml | 561 | # 关闭时每个 session 只 warn 一次(避免长会话刷屏)。 | COMMENT |
| LOW | MemoryProxy/config.example.yaml | 581 | # 一个真实的 kernel user_id(配合 upstream.agents.workbuddy.apiKey 中的 | COMMENT |
| LOW | MemoryProxy/config.example.yaml | 621 | # 3. knowledge injector 拉取 team 知识资源列表 | COMMENT |
| LOW | MemoryProxy/config.example.yaml | 641 | # knowledge 走 API Gateway 域名)。 | COMMENT |
| LOW | MemoryProxy/config.example.yaml | 661 | skillRuntime: | COMMENT |
| LOW | MemoryProxy/config.example.yaml | 681 | COMMENT | |
| LOW | MemoryProxy/config.example.yaml | 701 | COMMENT | |
| LOW | MemoryProxy/scripts/setup-claude-code.sh | 1 | #!/usr/bin/env bash | COMMENT |
| LOW | MemoryProxy/scripts/qa/task-e2e.sh | 1 | #!/usr/bin/env bash | COMMENT |
| LOW | MemoryProxy/src/codexHandler.ts | 841 | // prewarm, all injectors) without writing a third protocol adapter. | COMMENT |
| LOW | MemoryProxy/src/codexHandler.ts | 901 | // <skill_tools> / <available_skills> / <user_memory> / | COMMENT |
| LOW | MemoryProxy/src/anthropicHandler.ts | 381 | forwardTimeoutMs: number, | COMMENT |
| LOW | MemoryProxy/src/anthropicHandler.ts | 541 | } | COMMENT |
| LOW | MemoryProxy/src/anthropicHandler.ts | 761 | // 记录本 turn 是否真的走了 handleSessionInit state machine —— 用来精确判定 | COMMENT |
| LOW | MemoryProxy/src/anthropicHandler.ts | 1001 | } | COMMENT |
| LOW | MemoryProxy/src/anthropicHandler.ts | 1321 | // Per-agent apiKey resolution — three cases: | COMMENT |
| LOW | MemoryProxy/src/handler.ts | 701 | const _requestKind = _adapter.classifyRequest(body as Record<string, unknown>, c.req.path, lcHeaders); | COMMENT |
| LOW | MemoryProxy/src/handler.ts | 821 | // 说明: | COMMENT |
| LOW | MemoryProxy/src/handler.ts | 1101 | // 命中时:执行命令 → 写 L0 → 触发 skill extract → 伪造 OpenAI 响应返回,跳过 | COMMENT |
| LOW | MemoryProxy/src/server.ts | 161 | COMMENT | |
| LOW | MemoryProxy/src/server.ts | 181 | // `/cost-guard/...` 请求都命中不到路由,走到最终 catch-all 或返 404 | COMMENT |
| LOW | MemoryProxy/src/server.ts | 201 | // markerOptIn=true 就必须显式注册这两条 anthropic/openai 5 段路由。 | COMMENT |
| LOW | MemoryProxy/src/server.ts | 241 | // 兼容 base_url 不带 /v1 的写法 | COMMENT |
| LOW | MemoryProxy/src/server.ts | 261 | // `/analyse` 语义:AssetReflectionInjector 检测到该段后往 system prompt | COMMENT |
| LOW | MemoryProxy/src/server.ts | 281 | // 见 packages/llm/llm-deepseek/src/adapter.ts:301) | COMMENT |
| LOW | MemoryProxy/src/skill/handler-glue.ts | 101 | // ── round-level 触发 gate ── | COMMENT |
| LOW | MemoryProxy/src/skill/skill-bridge.ts | 721 | // For "search" subpath: stamp scope="team" so the handler skips | COMMENT |
| 60 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 | 244 | -e LLM_API_KEY=<YOUR_API_KEY> \ | CODE |
| HIGH | INSTALL_CN.md | 244 | -e LLM_API_KEY=<YOUR_API_KEY> \ | CODE |
| HIGH | INSTALL.md | 268 | -e LLM_API_KEY=<YOUR_API_KEY> \ | CODE |
| HIGH | INSTALL.md | 268 | -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 |
|---|---|---|---|---|
| LOW | MemoryProxy/scripts/qa/codex-tui-smoke.py | 30 | except Exception: | CODE |
| LOW⚡ | MemoryProxy/scripts/qa/cc-session-reset-full-rebind.py | 299 | 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 | 572 | except Exception as e: | CODE |
| LOW | MemoryProxy/scripts/qa/cc-session-reset-full-rebind.py | 57 | except Exception: | CODE |
| LOW | MemoryProxy/scripts/qa/cc-session-reset-full-rebind.py | 387 | except Exception as e: | CODE |
| LOW | MemoryProxy/scripts/qa/cc-session-reset-full-rebind.py | 472 | except Exception as e: | CODE |
| LOW | MemoryProxy/scripts/qa/cc-session-reset-smoke.py | 33 | except Exception: | CODE |
| LOW⚡ | MemoryProxy/scripts/qa/cc-session-reset-smoke.py | 207 | 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 | 533 | CODE | |
| LOW | …-core/python/tencentdb_agent_memory/v3/skill_client.py | 679 | CODE | |
| LOW | …-core/python/tencentdb_agent_memory/v3/skill_client.py | 1018 | 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 | 482 | # skill — <cloud_skills> 块:从内核 RAG 检索相关 skill 注入 system prompt; | COMMENT |
| MEDIUM | MemoryProxy/config.example.yaml | 618 | # 1. <cloud_skills> RAG 注入:GET /v3/skill/search 检索相关 skill | COMMENT |
| MEDIUM | MemoryProxy/config.example.yaml | 633 | 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 | 241 | CODE | |
| LOW | MemoryProxy/scripts/qa/cc-session-reset-full-rebind.py | 586 | 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 | 1159 | # 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 |