@tencent-ai/codebuddy-code 2.97.2-next.a59cdf4.20260518 → 2.97.2-next.bab9a45.20260518
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/codebuddy-headless.js +19 -15
- package/dist/codebuddy.js +20 -16
- package/package.json +1 -1
- package/product.cloudhosted.json +2 -2
- package/product.internal.json +2 -2
- package/product.ioa.json +2 -2
- package/product.json +3 -3
- package/product.selfhosted.json +2 -2
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@tencent-ai/codebuddy-code",
|
|
3
|
-
"version": "2.97.2-next.
|
|
3
|
+
"version": "2.97.2-next.bab9a45.20260518",
|
|
4
4
|
"description": "Use CodeBuddy, Tencent's AI assistant, right from your terminal. CodeBuddy can understand your codebase, edit files, run terminal commands, and handle entire workflows for you.",
|
|
5
5
|
"main": "lib/node/index.js",
|
|
6
6
|
"typings": "lib/node/index.d.ts",
|
package/product.cloudhosted.json
CHANGED
|
@@ -413,6 +413,6 @@
|
|
|
413
413
|
"SkillManage": false,
|
|
414
414
|
"SelectImage": true
|
|
415
415
|
},
|
|
416
|
-
"commit": "
|
|
417
|
-
"date": "2026-05-
|
|
416
|
+
"commit": "bab9a45bc69d41dcaa5bb70e4eab358141911ed0",
|
|
417
|
+
"date": "2026-05-18T10:20:26.517Z"
|
|
418
418
|
}
|
package/product.internal.json
CHANGED
package/product.ioa.json
CHANGED
package/product.json
CHANGED
|
@@ -537,7 +537,7 @@
|
|
|
537
537
|
},
|
|
538
538
|
{
|
|
539
539
|
"name": "tool-agent-description",
|
|
540
|
-
"template": "Launch a new agent to handle complex, multi-step tasks autonomously.\n\nThe Agent tool launches specialized agents (subprocesses) that autonomously handle complex tasks. Each agent type has specific capabilities and tools available to it.\n\nAvailable agent types and the tools they have access to:\n- general-purpose: General-purpose agent for researching complex questions, searching for code, and executing multi-step tasks. When you are searching for a keyword or file and are not confident that you will find the right match in the first few tries use this agent to perform the search for you. (Tools: *)\n{%- if agents and agents.length > 0 -%}\n{%- for agent in agents -%}\n{%- if agent.asTool %}\n- {{agent.name}}
|
|
540
|
+
"template": "Launch a new agent to handle complex, multi-step tasks autonomously.\n\nThe Agent tool launches specialized agents (subprocesses) that autonomously handle complex tasks. Each agent type has specific capabilities and tools available to it.\n\nAvailable agent types and the tools they have access to:\n- general-purpose: General-purpose agent for researching complex questions, searching for code, and executing multi-step tasks. When you are searching for a keyword or file and are not confident that you will find the right match in the first few tries use this agent to perform the search for you. (Tools: *)\n{%- if agents and agents.length > 0 -%}\n{%- for agent in agents -%}\n{%- if agent.asTool %}\n- {{agent.name}}: {{agent.description}} (Tools: {%- if agent.tools and agent.tools.length > 0 -%}{{agent.tools.join(',')}}{%- endif -%})\n{%- endif -%}\n{%- endfor -%}\n{%- endif %}\n\nWhen using the Agent tool, you can specify a subagent_type parameter to select which agent type to use. If omitted, it defaults to \"general-purpose\" which runs with an independent context.\n\n**Fork mode (subagent_type=\"fork\")**: When you explicitly set subagent_type to \"fork\", the agent inherits your full context (system prompt, tools, conversation history). This is ideal for:\n- Tasks that require the same tools and context as the current conversation\n- Tasks where the agent needs to understand the full conversation history to proceed\n\nOnly use fork mode when inheriting context is essential. For most tasks (code review, exploration, research, generation), prefer specifying a concrete agent type or omitting subagent_type to get an independent agent.\n\nWhen NOT to use the Agent tool:\n- If you want to read a specific file path, use the Read tool instead of the Agent tool, to find the match more quickly\n- If you are searching for a specific class definition like \"class Foo\", use the Bash tool (`grep -rn` / `rg`) instead, to find the match more quickly\n- If you are searching for code within a specific file or set of 2-3 files, use the Read tool instead of the Agent tool, to find the match more quickly\n- Other tasks that are not related to the agent descriptions above\n\nUsage notes:\n- Always include a short description (3-5 words) summarizing what the agent will do\n- When you launch multiple agents for independent work, send them in a single message with multiple tool uses so they run concurrently\n- When the agent is done, it will return a single message back to you. The result returned by the agent is not visible to the user. To show the user the result, you should send a text message back to the user with a concise summary of the result.\n- Trust but verify: an agent's summary describes what it intended to do, not necessarily what it did. When an agent writes or edits code, check the actual changes before reporting the work as done.\n- You can optionally run agents in the background using the `run_in_background` parameter. When an agent runs in the background, you will be automatically notified when it completes — do NOT sleep, poll, or proactively check on its progress. Continue with other work or respond to the user instead.\n- **Foreground vs background**: Use foreground (default) when you need the agent's results before you can proceed — e.g., research agents whose findings inform your next steps. Use background when you have genuinely independent work to do in parallel.\n- To continue a previously spawned agent, use SendMessage with the agent's name as the `recipient` field — that resumes it with full context. A new Agent call starts a fresh agent with no memory of prior runs, so the prompt must be self-contained.\n- Clearly tell the agent whether you expect it to write code or just to do research (search, file reads, web fetches, etc.), since it is not aware of the user's intent.\n- If the agent description mentions that it should be used proactively, then you should try your best to use it without the user having to ask for it first.\n- If the user specifies that they want you to run agents \"in parallel\", you MUST send a single message with multiple Agent tool use content blocks. For example, if you need to launch both a build-validator agent and a test-runner agent in parallel, send a single message with both tool calls.\n\n## Writing the prompt\n\nBrief the agent like a smart colleague who just walked into the room — it hasn't seen this conversation, doesn't know what you've tried, doesn't understand why this task matters.\n- Explain what you're trying to accomplish and why.\n- Describe what you've already learned or ruled out.\n- Give enough context about the surrounding problem that the agent can make judgment calls rather than just following a narrow instruction.\n- If you need a short response, say so (\"report in under 200 words\").\n- Lookups: hand over the exact command. Investigations: hand over the question — prescribed steps become dead weight when the premise is wrong.\n\nTerse command-style prompts produce shallow, generic work.\n\n**Never delegate understanding.** Don't write \"based on your findings, fix the bug\" or \"based on the research, implement it.\" Those phrases push synthesis onto the agent instead of doing it yourself. Write prompts that prove you understood: include file paths, line numbers, what specifically to change.\n\n{%- if teamEnabled %}\n## Spawning Teammates\n\nWhen a team is active (created via TeamCreate), you can spawn teammates by providing the `name` and optionally `team_name` parameters:\n\n- `name`: Name for the spawned agent. Makes it addressable via SendMessage({to: name}) while running.\n- `subagent_type`: The type of specialized agent to use for this task. If omitted, the general-purpose agent is used.\n- `team_name`: Team name for spawning. Uses current team context if omitted.\n- `mode`: Permission mode for the spawned teammate (e.g., \"plan\" to require plan approval)\n- `max_turns`: Maximum number of agentic turns (API round-trips) before the agent stops\n\n## Choosing Agent Types for Teammates\n\nWhen spawning teammates via the Agent tool, choose the `subagent_type` based on what tools the agent needs for its task. Each agent type has a different set of available tools — match the agent to the work:\n- **Read-only agents** (e.g., Explore, Plan) cannot edit or write files. Only assign them research, search, or planning tasks. Never assign them implementation work.\n- **Full-capability agents** (e.g., general-purpose) have access to all tools including file editing, writing, and bash. Use these for tasks that require making changes.\n- **Custom agents** defined in `.codebuddy/agents/` may have their own tool restrictions. Check their descriptions to understand what they can and cannot do.\nAlways review the agent type descriptions and their available tools listed in the Agent tool prompt before selecting a `subagent_type` for a teammate.\n\nTeammates always run in the background in detached mode. They communicate via the SendMessage tool and coordinate through the shared task list.\n{%- endif %}\n\nExample usage:\n\n<example_agent_descriptions>\n\"code-reviewer\": use this agent after you are done writing a significant piece of code\n\"greeting-responder\": use this agent to respond to user greetings with a friendly joke\n</example_agent_descriptions>\n\n<example>\nuser: \"Please write a function that checks if a number is prime\"\nassistant: I'm going to use the Write tool to write the following code:\n<code>\nfunction isPrime(n) {\n if (n <= 1) return false\n for (let i = 2; i * i <= n; i++) {\n if (n % i === 0) return false\n }\n return true\n}\n</code>\n<commentary>\nSince a significant piece of code was written and the task was completed, now use the code-reviewer agent to run the tests\n</commentary>\nassistant: Uses the Agent tool to launch the code-reviewer agent\n</example>\n\n<example>\nuser: \"Hello\"\n<commentary>\nSince the user is greeting, use the greeting-responder agent to respond with a friendly joke\n</commentary>\nassistant: \"I'm going to use the Agent tool to launch the greeting-responder agent\"\n</example>\n"
|
|
541
541
|
},
|
|
542
542
|
{
|
|
543
543
|
"name": "tool-bash-description",
|
|
@@ -1527,6 +1527,6 @@
|
|
|
1527
1527
|
"description": "Send a reply to a WeCom (企业微信) user. For text: pass text (markdown supported)."
|
|
1528
1528
|
}
|
|
1529
1529
|
],
|
|
1530
|
-
"commit": "
|
|
1531
|
-
"date": "2026-05-
|
|
1530
|
+
"commit": "bab9a45bc69d41dcaa5bb70e4eab358141911ed0",
|
|
1531
|
+
"date": "2026-05-18T10:20:26.586Z"
|
|
1532
1532
|
}
|
package/product.selfhosted.json
CHANGED
|
@@ -299,6 +299,6 @@
|
|
|
299
299
|
"DeferToolLoading": true,
|
|
300
300
|
"ScheduledTasks": true
|
|
301
301
|
},
|
|
302
|
-
"commit": "
|
|
303
|
-
"date": "2026-05-
|
|
302
|
+
"commit": "bab9a45bc69d41dcaa5bb70e4eab358141911ed0",
|
|
303
|
+
"date": "2026-05-18T10:20:26.406Z"
|
|
304
304
|
}
|