-
Notifications
You must be signed in to change notification settings - Fork 2.6k
feat(memory): add autoSkill background project skill extraction #3673
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Changes from all commits
e05e614
4cfa191
73c5445
f7601a0
60fbe2c
ab40689
8780a25
f03c73a
e430ff9
1323b17
493e251
37d83a2
f5e38c0
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
Large diffs are not rendered by default.
| Original file line number | Diff line number | Diff line change | ||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
|
@@ -1898,6 +1898,13 @@ export const useGeminiStream = ( | |||||||||||||||
| (t) => !t.request.isClientInitiated, | ||||||||||||||||
| ); | ||||||||||||||||
|
|
||||||||||||||||
| for (const toolCall of geminiTools) { | ||||||||||||||||
| geminiClient?.recordCompletedToolCall( | ||||||||||||||||
|
Collaborator
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. [Suggestion]
Suggested change
— DeepSeek/deepseek-v4-pro via Qwen Code /review |
||||||||||||||||
| toolCall.request.name, | ||||||||||||||||
| toolCall.request.args as Record<string, unknown>, | ||||||||||||||||
| ); | ||||||||||||||||
| } | ||||||||||||||||
|
|
||||||||||||||||
| if (geminiTools.length === 0) { | ||||||||||||||||
| return; | ||||||||||||||||
| } | ||||||||||||||||
|
|
||||||||||||||||
| Original file line number | Diff line number | Diff line change | ||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
|
@@ -368,6 +368,9 @@ export class AgentCore { | |||||||||||
| const toolsList: FunctionDeclaration[] = []; | ||||||||||||
|
|
||||||||||||
| const excludedFromSubagents = EXCLUDED_TOOLS_FOR_SUBAGENTS; | ||||||||||||
| // When a subagent has an explicit tools list (not wildcard), only the | ||||||||||||
|
Collaborator
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. [Suggestion]
Suggested change
— DeepSeek/deepseek-v4-pro via Qwen Code /review |
||||||||||||
| // recursive-spawn guard (AgentTool) is enforced. | ||||||||||||
| const recursionGuardOnly = new Set<string>([ToolNames.AGENT]); | ||||||||||||
|
|
||||||||||||
| if (this.toolConfig) { | ||||||||||||
| const asStrings = this.toolConfig.tools.filter( | ||||||||||||
|
|
@@ -388,13 +391,22 @@ export class AgentCore { | |||||||||||
| .filter((t) => !(t.name && excludedFromSubagents.has(t.name))), | ||||||||||||
| ); | ||||||||||||
| } else { | ||||||||||||
| // Explicit tool list: apply the full subagent exclusion set (not just | ||||||||||||
| // the recursion guard). This prevents control-plane tools | ||||||||||||
| // (CRON_CREATE, TASK_STOP, SEND_MESSAGE, etc.) from leaking into | ||||||||||||
| // explicitly-configured subagents that happen to list them. | ||||||||||||
| toolsList.push( | ||||||||||||
|
Collaborator
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. [Suggestion] For subagents with explicit tool lists, the exclusion set was narrowed from Consider restoring the full exclusion or documenting the rationale. — deepseek-v4-pro via Qwen Code /review |
||||||||||||
| ...toolRegistry.getFunctionDeclarationsFiltered( | ||||||||||||
| asStrings.filter((name) => !excludedFromSubagents.has(name)), | ||||||||||||
| ), | ||||||||||||
| ); | ||||||||||||
| } | ||||||||||||
| toolsList.push(...onlyInlineDecls); | ||||||||||||
| // Also filter inline FunctionDeclaration[] passed directly in toolConfig. | ||||||||||||
| toolsList.push( | ||||||||||||
|
Collaborator
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. [Suggestion] 内联 — DeepSeek/deepseek-v4-pro via Qwen Code /review |
||||||||||||
| ...onlyInlineDecls.filter( | ||||||||||||
| (d) => !(d.name && recursionGuardOnly.has(d.name)), | ||||||||||||
| ), | ||||||||||||
| ); | ||||||||||||
| } else { | ||||||||||||
| // Inherit all available tools by default when not specified. | ||||||||||||
| toolsList.push( | ||||||||||||
|
|
||||||||||||
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
[Critical] TS2353:
consumePendingMemoryTaskPromises在 mock 对象类型中不存在。GeminiClient新增了此方法(第 762 行),但 mock 类型未包含它,导致tsc --noEmit编译失败。— DeepSeek/deepseek-v4-pro via Qwen Code /review