Self Dev Cnb Codebuddy Remote

Polar Sponsor
爱发电 赞助
.NET 9.0

通过 SSH 远程操控 CNB 云原生开发环境中的 CodeBuddy CLI(tcb ai),实现远程指挥 AI 编程。适用于需要在 CNB 云开发环境中执行代码开发、文件操作、项目构建等任务的场景。触发词:"远程 CodeBuddy"、"CNB 云原生开发"、"tcb ai 远程"、"CodeBuddy SSH"、"云原生 AI"。

CNB CodeBuddy 远程操控

功能概述

CNB CodeBuddy 远程操控是一项面向实际任务的技能,主要用于通过 SSH + PTY 远程控制 CNB 云原生环境中的 CodeBuddy CLI,实现非交互式任务下发和结果回收;CNB 云原生环境已创建 ,可通过 SSH 访问;

核心要点

  • CodeBuddy 已登录 (OAuth 中国站扫码,token 持久化);
  • 本地机器 有 SSH access 和 expect 工具;
  • 环境信息模板;

使用与执行

每个 CNB 云原生环境。它将相关步骤、工具调用和结果整理方式集中到统一流程中,帮助使用者更快完成目标并减少重复操作。从功能定位来看,该技能强调把分散的操作要求整理成清晰、可复用的处理流程,使用户能够围绕既定目标快速准备输入、选择执行方式并获得结构化结果。实际使用前应先确认任务范围、数据来源、运行环境、必要权限和关键参数,再依据技能说明逐步执行;

结果检查与注意事项

若输入条件不完整,应先补齐信息或采用保守配置,避免因错误假设导致结果偏离需求。执行过程中需要关注工具调用是否成功、接口或依赖是否可用、输出格式是否符合预期,并对异常提示、缺失字段和边界情况进行处理;涉及批量任务时,还应保存进度,避免中断后重复操作。该技能适合用于一次性任务,也可以接入自动化工作流,与其他技能或上层代理配合完成更完整的业务链路;在组合使用时,应明确每一步的输入输出关系,并避免不同步骤之间出现参数冲突。

CNB CodeBuddy 远程操控

通过 SSH + PTY 远程控制 CNB 云原生环境中的 CodeBuddy CLI,实现非交互式任务下发和结果回收。

前置条件

  1. CNB 云原生环境已创建,可通过 SSH 访问
  2. CodeBuddy 已登录(OAuth 中国站扫码,token 持久化)
  3. 本地机器有 SSH access 和 expect 工具

环境信息模板

每个 CNB 云原生环境需要记录:

SSH_HOST=<环境ID>@cnb.space
WORK_DIR=/workspace
WEBIDE=https://cnb-.cnb.space

工作流程

阶段一:环境准备(首次)

1. SSH 连接验证

ssh -o ConnectTimeout=10 -o ServerAliveInterval=5 -o ServerAliveCountMax=12  'echo OK'

2. 检查 CodeBuddy 状态

ssh  'which codebuddy; codebuddy --version'
ssh  'tcb ai --config'

3. CodeBuddy 登录(如未登录)

必须走中国站 OAuth,CLI 硬编码认证目标为 codebuddy.ai,API KEY 方案不可行(cn 站 key 全部 401)。

推荐方式:用户在 WebIDE 手动登录

  1. 打开 WebIDE,在终端运行 tcb ai -a codebuddy
  2. 选「Log in via Chinese Site」
  3. 扫描 copilot.tencent.com/login?platform=CLI&state= 二维码
  4. 登录成功后 token 自动持久化到 ~/.codebuddy/

自动登录脚本(需用户配合扫码):

expect << 'EOF'
set timeout 180
spawn tcb ai -a codebuddy
expect -re {Do you trust}
send "r"
expect -re {Enter to confirm}
send "r"
expect -re {copilot.tencent.com/login}
# 提取 URL 通知用户扫码,等待回调
expect eof
EOF

4. 信任工作目录

首次启动 CodeBuddy 会询问是否信任目录,选「Trust folder and all subdirectories」。

阶段二:远程任务下发(日常使用)

方法 A:PTY 交互(推荐,实时可控)

步骤:

  1. 启动 CodeBuddy(PTY 模式保持连接):
ssh -o ConnectTimeout=10 -o ServerAliveInterval=5 -o ServerAliveCountMax=12 -t  'cd  && tcb ai'
  1. 等待启动完成(约 15-20 秒),确认看到 GLM-5.1 和 ? for shortcuts

  2. 用 process write 发送指令文本(纯文本,不含回车):

process write sessionId="" data="read README.md and summarize it"
  1. 用 process send-keys 发送回车(必须用 hex,不能用 write 发 r):
process send-keys sessionId="" hex=["0d"]
  1. 等待 CodeBuddy 处理(状态变化:waiting for model → streaming → mixing → 完成)

    • 简单文本回复:10-20 秒
    • 需要执行命令的:20-60 秒
    • 看到状态栏从 streaming · ↓ N tokens 恢复到 idle 表示完成
  2. 如遇工具确认提示(Do you want to proceed?),自动选 "Yes, and don't ask again":

process send-keys sessionId="" hex=["1b","5b","42"]  # Down arrow
# 等待 0.3 秒
process send-keys sessionId="" hex=["0d"]             # Enter
  1. 读取结果:从 session log 中提取,清除 ANSI 码后即为纯文本

关键交互对照表:

操作 hex 值 说明
回车(Enter) ["0d"] 提交 prompt / 确认选项
下箭头(Down) ["1b","5b","42"] 切换选项
上箭头(Up) ["1b","5b","41"] 切换选项
Tab ["09"] 切换模式/选项
Escape ["1b"] 取消/退出

状态栏含义:

状态 含义 等待时间
waiting for model 排队/冷启动 5-15 秒
Thinking on 模型推理中 5-15 秒
streaming · ↓ N tokens 正在输出 持续
mixing 整合工具调用结果 5-20 秒
swiping 生成回复 5-15 秒
空闲(无状态) 完成,可发下一条 -

方法 B:expect 脚本(无人值守)

使用 scripts/cb-remote.sh:

scp scripts/cb-remote.sh :/tmp/cb-remote.sh
ssh  'bash /tmp/cb-remote.sh "你的指令" [超时秒数]'

方法 C:nohup 后台(长时间任务)

ssh  'cd  && nohup expect /tmp/cb.exp "指令" > /tmp/cb-output.txt 2>&1 &'
# 稍后读取
ssh  'cat /tmp/cb-output.txt | sed "s/x1b[[0-9;]*[a-zA-Z]//g" | tail -30'

阶段三:结果回收

  • PTY 模式:从 session log 提取,token 计数(↓ N tokens)表示输出量
  • expect/nohup:SSH 读取输出文件
  • ANSI 清理:sed "s/x1b[[0-9;]*[a-zA-Z]//g; s/]8;;[^]]*]//g"

故障排查

症状 原因 解决
401 认证错误 token 过期 WebIDE 重新登录
SSH 2分钟断连 keepalive 不足 加 -o ServerAliveInterval=5 -o ServerAliveCountMax=12
回车变成文字 write 发送 r 用 send-keys hex ["0d"]
Thinking 无响应 prompt 没真正发送 确认用 hex 发回车
信任目录卡住 expect 没处理 脚本加 exp_continue
API KEY 401 CLI 硬编码 codebuddy.ai 必须走 OAuth
waiting for model 久 排队/冷启动 等 10-15 秒
多个 tcb 进程 WebIDE 残留 pkill -f tcb 清理
首次 prompt 自动触发 历史残留 等 idle 后再发

注意事项

  • 一次只能一个 CodeBuddy session,多实例会冲突
  • SSH 有超时,keepalive 必须 5 秒一次
  • CodeBuddy 基于 ink 框架,键盘事件必须用 hex 精确控制
  • 必须走中国站(codebuddy.cn/copilot.tencent.com)
  • CNB AI Chat API 不可替代:只做聊天补全,不能执行 shell
  • Token 持久化:OAuth 登录后 token 存在 ~/.codebuddy/,重启环境不丢失

相关专题

更多
CodeBuddy使用教程
CodeBuddy使用教程

PHP中文网为您精心整理了CodeBuddy腾讯AI智能编码工具使用教程合集。本合集涵盖CodeBuddy从安装配置到智能代码补全、错误检测及自然语言生成代码等核心功能的全方位实操指南。无论您是编程新手还是资深开发者,都能通过本教程快速掌握这款高效AI编程助手,提升开发效率,轻松驾驭智能编码新时代。

2026.07.09

152

15

CodeBuddy接口调试方法大全
CodeBuddy接口调试方法大全

PHP中文网精选CodeBuddy接口调试方法大全,涵盖从安装配置、API Key获取到IDE与CLI实战的全流程指南。本文集汇总了多模型对接、上下文管理及企业级集成等核心技巧,帮助开发者快速掌握高效调试方案,轻松解决开发难题,提升编程效率。

2026.07.08

72

10

Postman身份认证怎么配置
Postman身份认证怎么配置

本专题从实际API接口调试场景出发,讲解Postman身份认证的完整配置流程,包括常见认证协议介绍、授权参数设置、访问令牌填写、OAuth 2.0授权及认证失败排查,帮助用户正确完成接口授权与访问验证。

2026.11.06

0

12

Postman请求头Headers怎么设置
Postman请求头Headers怎么设置

围绕Postman HTTP请求头配置展开,讲解Headers选项的具体使用方式,包括Key和Value参数填写、请求头信息添加、常见Header字段设置及请求头修改方法,帮助用户解决接口调试过程中遇到的请求头配置问题。

2026.11.06

0

13

Postman接口请求发送教程
Postman接口请求发送教程

详细介绍Postman接口请求的创建与发送方法,涵盖GET和POST请求、URL配置、请求参数、Headers请求头、Body请求体设置以及响应结果查看,帮助用户掌握Postman接口请求的完整操作流程。

2026.11.06

0

10

DBeaver怎么导入数据
DBeaver怎么导入数据

DBeaver数据导入专题,整理Excel、CSV、SQL、TXT等常见文件的数据导入方法,涵盖目标数据库选择、数据表创建、字段映射、数据类型设置及导入参数配置等操作,帮助用户将本地文件中的数据写入数据库,并了解批量导入、重复数据处理和导入失败等常见问题的解决方法。

2026.11.05

0

12

DBeaver安全防护教程大全
DBeaver安全防护教程大全

DBeaver安全防护专题,围绕数据库连接安全、账号密码保护和访问权限管理展开,整理SSL/TLS加密连接、SSH隧道、数据库凭据保存及证书验证等配置方法,同时介绍敏感信息保护、远程连接风险和高权限账号使用等注意事项,帮助用户提高数据库日常管理的安全性。

2026.11.05

0

12

DBeaver连接创建与配置教程
DBeaver连接创建与配置教程

本专题聚焦DBeaver数据库连接配置与管理,覆盖从新建连接、选择数据库类型到填写连接参数和验证连接的完整流程。针对MySQL、PostgreSQL、SQL Server等常见数据库,整理相应的连接设置方法,并提供驱动缺失、认证失败和连接异常等问题的排查方向。

2026.11.04

0

16

XORM框架结构体映射与表结构同步
XORM框架结构体映射与表结构同步

本专题围绕XORM框架的结构体映射展开,说明表名与字段的命名策略、xorm标签常用属性、主键自增与时间字段自动填充,并演示Sync2自动建表、增量字段升级、索引声明与反向生成结构体的完整流程。

2026.11.04

0

15

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
CodeBuddy 开放平台
CodeBuddy 开放平台

共0课时 | 0人学习

Codebuddy 插件
Codebuddy 插件

共0课时 | 0人学习

CodeBuddy官方文档
CodeBuddy官方文档

共0课时 | 0人学习