受够垃圾翻译!CodeBuddy 8 分钟造神器,划词秒翻 + 自动适配所有网页

在线体验各类最新模型,更有模型 免费Token 额度领取!
立即体验
简介: 本文介绍如何使用CodeBuddy结合蓝耘API开发一款高效翻译插件。通过CodeBuddy的智能代码生成功能与蓝耘API的强大翻译能力,解决了现有翻译工具质量差、速度慢、定制难等问题。具体步骤包括获取蓝耘API、安装CodeBuddy插件、生成README文件及代码、测试与优化插件功能。最终实现划词秒翻、自动适配网页的翻译工具,适用于GitHub等技术场景。项目代码已开源,用户可通过链接注册并体验。


前言

作为一个天天泡在 GitHub 上扒项目的人,翻译问题简直是我 “挖宝” 路上的头号绊脚石!想研究国外大神的优质开源项目,不是被机翻软件的 “神操作” 气到血压飙升 —— 把 “repository” 译成 “储存库”,代码注释里的变量名直接乱码;就是被收费翻译工具疯狂割韭菜,看个 README 就要充会员。更崩溃的是,好不容易找到个免费插件,翻译速度慢得像龟速,等它翻完,我都快把项目结构研究透了!本想自己动手改改代码优化翻译效果,打开源码却发现全是加密天书,比破解摩斯密码还难!在 GitHub 爬项目这么久,就没见过一款真正懂技术人的翻译工具!

直到CodeBuddy的横空出世,所有疑难杂症都被解决了。我之所以想用它写一款谷歌翻译插件,是因为它完全戳中了我的需求。它不需要我精通复杂的编程语言,即使像我这样代码基础一般的人,也能通过可视化的操作界面,用 “拖拖拽拽” 的方式快速搭建插件。更棒的是,我还能根据自己的使用习惯,自定义插件功能,比如设置特定技术术语不翻译,或者给翻译结果添加标注。这样一来,我就能打造出一款完全贴合 GitHub 使用场景、只属于我自己的翻译插件,以后再爬项目,再也不用被那些 “坑人” 的翻译工具折磨了!

那么下面,实战开始。

为什么使用蓝耘平台的api

  1. 优质翻译引擎支持:蓝耘平台 api 可能基于先进的翻译模型或算法,能提供更精准的翻译结果,尤其在处理专业领域文本时,对技术术语的翻译更准确、更符合行业习惯。
  2. 高并发处理能力:在处理大量翻译请求时,蓝耘平台 api 能够稳定运行,保证翻译速度和响应时间,适合团队协作开发场景下多人同时使用翻译功能。
  3. 丰富的拓展性:其 api 可能提供了丰富的接口和参数设置,便于与 CodeBuddy 等工具进行深度集成和二次开发,进一步拓展翻译功能,如添加自定义词典、调整翻译风格等。
  4. 安全稳定:蓝耘平台 api 在数据传输和处理过程中,具备良好的安全性和稳定性,保护用户翻译内容隐私,且保证服务不间断,为开发者提供可靠的翻译服务。

为什么使用CodeBuddy

  • 智能代码生成:Craft 模式可依据自然语言指令,完成工程上下文分析、多文件代码生成与改写。如输入 “开发一个音乐 APP” ,能秒级生成包含播放器页面、个人中心等关联页面和文件的代码,适合新项目创建和功能模块开发。
  • 集成丰富知识库:Chat 模式内置腾讯生态等三方知识库,开发微信小程序等对文档要求严格项目时,可快速获取知识。
  • 多模型支持:底层集成 DeepSeek R1/V3 和 HunYuan-Turbo S 双模型且免费无限制,还支持自定义模型接入,提升编码能力。

使用CodeBuddy  x  蓝耘API进行翻译插件的生成

获取蓝耘API

我们先获取蓝耘平台的api,点击蓝耘API进入到平台,如果你没有注册的话可以点击注册进行注册操作
进入到页面之后,我们这里选择QwQ-32B这款ai,因为Deepseek思考太慢了,不适合api调用进行翻译操作

QwQ-32B这个回应的速度还是很快的,并且QwQ-32B的免费使用额度特别多,太多了,爽用就行了

这里我们点击创建API KEY,然后将这个API KEY进行复制,这个不要外泄哦,小心额度被别人偷偷用光了哦
这里我们直接查看API实例

这里有详细的调用方式,并且提供实例代码,这里我就得说下有些算力平台,你实例代码都没有,小白根本上不了手,学学蓝耘吧

我们将代码复制

from openai import OpenAI
# 构造 client
client = OpenAI(
    api_key="sk-xxxxxxxxxxx",  # APIKey
    base_url="https://maas-api.lanyun.net/v1",
)
# 流式
stream = True
# 请求
chat_completion = client.chat.completions.create(
    model="/maas/deepseek-ai/DeepSeek-R1",
    messages=[
        {
            "role": "user",
            "content": "你是谁",
        }
    ],
    stream=stream,
)
if stream:
   for chunk in chat_completion:
       # 打印思维链内容
       if hasattr(chunk.choices[0].delta, 'reasoning_content'):
          print(f"{chunk.choices[0].delta.reasoning_content}", end="")
       # 打印模型最终返回的content
       if hasattr(chunk.choices[0].delta, 'content'):
          if chunk.choices[0].delta.content != None and len(chunk.choices[0].delta.content) != 0:
             print(chunk.choices[0].delta.content, end="")
else:
   result = chat_completion.choices[0].message.content

在这个代码中,我们需要将我框出来的地方进行替换,其他的地方没必要替换了
替换成你想调用的模型名称,比如我要调用的是QwQ-32B,那么我就将下面改成model="/maas/qwen/QwQ-32B"就行了,ai的具体名换都在AI介绍的那一页,以及你自己刚刚复制的API KEY就行了

到这里我们就获得了蓝耘api的调用操作了,接下来就开始使用CodeBuddy了

使用CodeBuddy进行API集成创造谷歌翻译插件

我们打开vscode进入到拓展中直接搜索CodeBuddy,点击安装这个插件就行了

我们点击左侧的插件图标就能进行使用了
我们现在chat模式生成下我们对应的README文件来介绍下这个插件的基本信息
我们直接和ai对话

我现在想开发一款谷歌的翻译插件,通过调用蓝耘平台的api进行文本的翻译,并且有一个可视化的界面进行翻译的打开和关闭,默认的就是中文翻译英文,不需要其他的语种翻译,你帮我生成一个相关的README文件吧

他这里简单的介绍了下我们这款插件的相关功能,但是没有细致的说如何实现,但是问题不大,Craft会帮我们进行解决

我们将信息复制到我们创建好的README文件里面就好了
README文件如下,大家可以参考我的

然后我们直接到Craft模式输入下方对话词:

@README.md 请根据文件进行插件的开发,把插件打开之后,我在网页中选中一个片段,他会在右侧显示出具体的翻译具体,包括原文和翻译后的结果,插件的图标我放到了文件夹里面了,叫头像.jpg

他这里检测到我说的话和README文件里面的不一样,然后将README进行了更新的操作

并且还很清晰的列出了那些文件要被创建,以及文件对应的功能都标注的很清晰
在对话后,我刷了会儿视频他就将代码生成好了,真的解放了我的双手

接下来我们 就开始进行测试,我们先打开谷歌插件,点击管理拓展程序

点击加载已经解压的拓展程序,我们这里直接选中我们刚刚存代码的文件夹就行了

这里我们看到我们成功加载了这个插件,但是上面显示错误

我们直接点击错误查看对应的信息,我们直接将错误信息复制给CodeBuddy就行了

下面是CodeBuddy处理报错的相关信息,分析错误的能力很强

我们再次测试下我们的这个插件,这次我们就没有报错了,很顺利,我们这里打开GitHub测试下具体的效果

我们点击拓展,他这里有很详细的信息,我们可以将文本复制过来进行翻译

也可以只直接选中网页的文本大面积翻译,他右侧有弹窗的,但是我们这里翻车了,他这里直接就是翻译失败了,就很难受了,铁铁。

但是问题不大,我们直接把相关信息跟CodeBuddy说就行了
根据它的分析,我大概知道问题出在哪里了,因为我们给的API调用示例是py代码,但是我们插件用的是js代码,他现在将Py转换为js,我这里等了一会儿看结果


这里他修改好了,我们接着测试
但是还是报错了,我突然想明白,为什么不能使用
cURL进行API的调用呢,我将对应的代码给CodeBuddy,让他重新帮我生成代码

代码生成好了之后,我们直接重新测试
看到效果我内心还是很开心的,成了,CodeBuddy名部虚传,蓝耘的api反应速度也很快


他这里还会根据你选中的语言的类型自动进行转换,中->英,英->中
很不错的效果
插件的部分代码如下:可以参考下:
siderbar.js

// 获取DOM元素
const originalTextElement = document.getElementById('original-text');
const translatedTextElement = document.getElementById('translated-text');
const copyOriginalButton = document.getElementById('copy-original');
const copyTranslatedButton = document.getElementById('copy-translated');
  
// 从storage中获取翻译数据并显示
function loadTranslationData() {
  chrome.storage.local.get('translationData', (data) => {
    if (data.translationData) {
      const { originalText, translatedText } = data.translationData;
      // 显示原文和译文
      originalTextElement.textContent = originalText;
      translatedTextElement.textContent = translatedText;
    }
  });
}
  
// 复制文本到剪贴板
async function copyTextToClipboard(text) {
  try {
    await navigator.clipboard.writeText(text);
    return true;
  } catch (err) {
    console.error('复制失败:', err);
    return false;
  }
}
  
// 显示复制成功/失败的提示
function showCopyFeedback(button, success) {
  const originalText = button.textContent;
  button.textContent = success ? '已复制!' : '复制失败!';
  button.classList.add(success ? 'success' : 'error');
  // 2秒后恢复按钮文本
  setTimeout(() => {
    button.textContent = originalText;
    button.classList.remove('success', 'error');
  }, 2000);
}
  
// 添加复制按钮事件监听器
copyOriginalButton.addEventListener('click', async () => {
  const success = await copyTextToClipboard(originalTextElement.textContent);
  showCopyFeedback(copyOriginalButton, success);
});
  
copyTranslatedButton.addEventListener('click', async () => {
  const success = await copyTextToClipboard(translatedTextElement.textContent);
  showCopyFeedback(copyTranslatedButton, success);
});
  
// 监听storage变化,实时更新翻译内容
chrome.storage.onChanged.addListener((changes, namespace) => {
  if (namespace === 'local' && changes.translationData) {
    const { originalText, translatedText } = changes.translationData.newValue;
    originalTextElement.textContent = originalText;
    translatedTextElement.textContent = translatedText;
  }
});
  
// 页面加载时初始化
document.addEventListener('DOMContentLoaded', loadTranslationData);

具体代码可以移步到我的CodeBuddy谷歌翻译插件 · 无爱如何释怀/小设计 - 码云 - 开源中国

总结

使用 CodeBuddy 结合蓝耘 API 生成翻译插件,有效攻克当前翻译质量欠佳、速度迟缓、定制困难及操作不便等痛点。这款插件具备划词秒翻、自动适配网页、可定制操作等优势,蓝耘 API 提供精准翻译、高并发处理及丰富拓展性等支持,二者协同打造出高效、精准且个性化的翻译工具。
可以通过下方链接进行注册

蓝耘  https://cloud.lanyun.net/#/registerPage?promoterCode=5663b8b127
本文所使用的 CodeBuddy 免费下载链接:(https://copilot.tencent.com/?fromSource=gwzcw.9661261.9661261.9661261&utm_medium=cpc&utm_id=gwzcw.9661261.9661261.9661261&from_column=20421&from=20421)
目录
相关文章
|
4月前
|
人工智能 缓存 C#
C# 后端集成 CodeBuddy CLI 实战指南
本文详解C#后端集成CodeBuddy CLI的实战方案,基于分层架构(契约层/工厂层/实现层/ACP基础设施层),通过Stdio+JSON-RPC实现进程通信,支持流式/非流式调用与多AI Provider灵活切换,已在开源项目HagiCode中落地验证。(239字)
733 1
|
23天前
|
SQL 人工智能 自然语言处理
一行命令安装 Claude Code・DeepSeek v4・9 个 JEECG Skills,国内无需翻墙
无需翻墙了,装完即可在 Claude Code 里用一句话生成 JeecgBoot 的代码、表单、流程、报表、大屏![JeecgBoot Skills 官网 Banner](https://oscimg.oschina.net/oscnet/up059391e7aa35054e62a9ae01d2
731 0
|
4月前
|
人工智能 算法 IDE
🚀 7个超实用的斜杠命令,让你的编码速度翻倍!
CodeBuddy IDE 内置7个高效斜杠命令:`/init`项目初始化、`/summarize`对话压缩、`/rules`规范生成、`/explain`代码讲解、`/fix`智能修复、`/tests`测试生成、`/cr`深度审查。覆盖开发全周期,助全栈开发者提速60%+,8分钟掌握实战技巧!
631 1
|
人工智能 自然语言处理 前端开发
从0到上线,CodeBuddy 如何帮我快速构建旅游 App?
本文详细介绍了AI代码助手CodeBuddy的功能与使用方法,并通过实战演示其在前端开发中的应用。文章首先讲解了CodeBuddy的安装步骤,以VS Code为例,引导用户快速上手。随后,通过构建一个旅游APP页面的实例,展示了CodeBuddy在生成代码、调整样式、修复问题等方面的能力。实战中涉及Craft模式交互、提示词优化、元素布局调整等内容,验证了插件的高效性与灵活性。尽管过程中遇到一些小问题,但整体效果令人满意。最后,文章鼓励开发者进一步探索CodeBuddy的潜力,为开发工作带来更多便利。
1957 0
|
4月前
|
人工智能 缓存 监控
打造 AI 冒险团:HagiCode 多 Agent 协作配置实战
本文介绍HagiCode项目首创的多AI Agent协作配置方案:通过统一接口(IAIProvider)、工厂模式、ACP通信协议及任务分流机制,让Claude Code、Codex、CodeBuddy等异构AI助手各司其职、协同作战,构建高效稳定的“AI冒险团”,显著提升复杂项目开发效率与输出质量。(239字)
759 2
|
8月前
|
机器学习/深度学习 人工智能 前端开发
终端里的 AI 编程助手:OpenCode 使用指南
OpenCode 是开源的终端 AI 编码助手,支持 Claude、GPT-4 等模型,可在命令行完成代码编写、Bug 修复、项目重构。提供原生终端界面和上下文感知能力,适合全栈开发者和终端用户使用。
56221 11

热门文章

最新文章