接入 CodeBuddy Code CLI
CodeBuddy Code CLI 是腾讯推出的 AI 编程命令行工具。
前置要求:CodeBuddy Code 需为 v1.16.0 或更高版本;Windows 需安装 Git for Windows / Git Bash。
方式一 · 让 CodeBuddy Code 自己配置(推荐)
把下面的提示复制给 CodeBuddy Code:
text
帮我配置知言家 AI Coding 伴侣的 CodeBuddy Code CLI Hook。读 https://zyhome.run/docs/integrations/codebuddy-code.txt 按步骤执行。保留已有配置,冲突时先问我,不要整文件覆盖。完成后告诉我改了什么、是否需要重启。方式二 · 手动配置
CodeBuddy Code 通过用户级 Hook 同步任务状态。
确认 %LOCALAPPDATA%\zy_home_vibe_coding_driver\bin\zy_home_vibe_coding_driver_hookbridge.exe 存在;修改前备份 settings.json,已有同名 zy-vibe- handler 时更新它,不要重复追加。
1. 保存转发脚本
把以下脚本保存到 %USERPROFILE%\.codebuddy\zy-vibe-coding-driver.ps1:
powershell
param([string]$HookEventName = "")
$Utf8NoBom = New-Object System.Text.UTF8Encoding $false
try { [Console]::InputEncoding = $Utf8NoBom; $OutputEncoding = $Utf8NoBom } catch {}
$raw = ""
if ([Console]::IsInputRedirected) {
$s = [Console]::OpenStandardInput()
$m = New-Object System.IO.MemoryStream
$b = New-Object byte[] 4096
while (($r = $s.Read($b, 0, $b.Length)) -gt 0) { $m.Write($b, 0, $r) }
if ($m.Length -gt 0) { $raw = $Utf8NoBom.GetString($m.ToArray()) }
}
if ([string]::IsNullOrWhiteSpace($raw)) { $raw = @($input) -join "`n" }
$payload = $null
if (-not [string]::IsNullOrWhiteSpace($raw)) {
try { $payload = $raw | ConvertFrom-Json } catch { exit 0 }
}
if ($payload -isnot [pscustomobject]) { $payload = [pscustomobject]@{} }
$effective = ""
foreach ($k in @("hook_event_name","hookEventName","event","type")) {
$mt = $payload.PSObject.Properties.Match($k)
if ($mt.Count -gt 0 -and "$($mt[0].Value)" -ne "") { $effective = "$($mt[0].Value)"; break }
}
if ([string]::IsNullOrWhiteSpace($effective)) { $effective = $HookEventName }
if ([string]::IsNullOrWhiteSpace($effective)) { exit 0 }
$bridge = Join-Path $env:LOCALAPPDATA "zy_home_vibe_coding_driver\bin\zy_home_vibe_coding_driver_hookbridge.exe"
if (Test-Path -LiteralPath $bridge -PathType Leaf) {
$payload | ConvertTo-Json -Depth 20 -Compress | & $bridge --source codebuddy --hook-event-name $effective
}
exit 02. 合并 hooks 配置
编辑 %USERPROFILE%\.codebuddy\settings.json。文件不存在时创建;已有 hooks 时,把下面各事件追加到对应数组,不要覆盖原有 Hook 或其他字段。
json
{
"hooks": {
"UserPromptSubmit": [
{ "hooks": [ { "type": "command", "command": "powershell.exe -NoProfile -ExecutionPolicy Bypass -File \"$HOME/.codebuddy/zy-vibe-coding-driver.ps1\" -HookEventName UserPromptSubmit", "timeout": 8 } ] }
],
"PermissionRequest": [
{ "hooks": [ { "type": "command", "command": "powershell.exe -NoProfile -ExecutionPolicy Bypass -File \"$HOME/.codebuddy/zy-vibe-coding-driver.ps1\" -HookEventName PermissionRequest", "timeout": 8 } ] }
],
"PermissionDenied": [
{ "hooks": [ { "type": "command", "command": "powershell.exe -NoProfile -ExecutionPolicy Bypass -File \"$HOME/.codebuddy/zy-vibe-coding-driver.ps1\" -HookEventName PermissionDenied", "timeout": 8 } ] }
],
"PreToolUse": [
{ "hooks": [ { "type": "command", "command": "powershell.exe -NoProfile -ExecutionPolicy Bypass -File \"$HOME/.codebuddy/zy-vibe-coding-driver.ps1\" -HookEventName PreToolUse", "timeout": 8 } ] }
],
"PostToolUse": [
{ "hooks": [ { "type": "command", "command": "powershell.exe -NoProfile -ExecutionPolicy Bypass -File \"$HOME/.codebuddy/zy-vibe-coding-driver.ps1\" -HookEventName PostToolUse", "timeout": 8 } ] }
],
"PostToolUseFailure": [
{ "hooks": [ { "type": "command", "command": "powershell.exe -NoProfile -ExecutionPolicy Bypass -File \"$HOME/.codebuddy/zy-vibe-coding-driver.ps1\" -HookEventName PostToolUseFailure", "timeout": 8 } ] }
],
"Stop": [
{ "hooks": [ { "type": "command", "command": "powershell.exe -NoProfile -ExecutionPolicy Bypass -File \"$HOME/.codebuddy/zy-vibe-coding-driver.ps1\" -HookEventName Stop", "timeout": 8 } ] }
],
"StopFailure": [
{ "hooks": [ { "type": "command", "command": "powershell.exe -NoProfile -ExecutionPolicy Bypass -File \"$HOME/.codebuddy/zy-vibe-coding-driver.ps1\" -HookEventName StopFailure", "timeout": 8 } ] }
]
}
}$HOME 由 CodeBuddy Code 的 Git Bash 展开。非默认用户目录或自定义 CODEBUDDY_CONFIG_DIR 时,改成转发脚本的实际绝对路径。
原样保留 --source codebuddy 和 8 个事件,不要增加、删除或改写事件。
3. 重启并审核
CodeBuddy Code 会在会话启动时保存 Hook 配置快照。外部修改 settings.json 后,重新打开 CodeBuddy Code,运行 /hooks,核对新增事件、脚本路径和命令都指向知言家驱动,再允许配置生效。
验证
- 在
/hooks中确认 8 个事件均已注册且命令路径正确。 - 新开会话并发送一条普通消息,驱动控制台应出现来源为
codebuddy的任务,设备进入"处理中"。 - 等待本轮自然结束,任务应进入"已完成",设备灯语随之收尾。
- 如需检查授权状态,再执行一项可撤销、范围明确且会请求确认的操作;出现授权框时,设备应进入"等待授权"。
注意事项
- 只配置上述 8 个事件;其他官方事件没有明确的知言家任务状态映射,不要全部转发。
- 与 CodeBuddy IDE 共用
~/.codebuddy/settings.json;合并时保留对方已配置的事件和其他字段。
速查
| 项目 | 路径或动作 |
|---|---|
| 转发脚本位置 | %USERPROFILE%\.codebuddy\zy-vibe-coding-driver.ps1 |
| 配置文件 | %USERPROFILE%\.codebuddy\settings.json |
| 支持事件 | 8 个,见下方配置 |
| 完成后 | 重开 CodeBuddy Code,在 /hooks 中审核并允许 |
