Skip to content

Repository files navigation

OpenCode Language Tutor

English | 简体中文

深受 PI Language Tutor 启发

这是一个用于 OpenCode 的语言学习助手插件。它可以将智能体的回复翻译成你的母语,也可以检查你的提示词并提供最多三条实用的修改建议,帮助你更轻松地使用正在学习的语言与智能体交流。

展示

Warning

由于 OpenCode 未开放重新渲染历史回话的能力,因此插件无法做到在原文每个 段落下方显示翻译以及在用户提示词下方显示写做检查和建议。 当前插件仍处于开发阶段!

快速开始

使用 npm 安装

Note

。。。

使用 Git

git clone https://github.com/kjasn/opencode-language-tutor.git

cd opencode-language-tutor

opencode

默认配置为:学习英语,并使用简体中文作为母语。 你可以通过 /lang-tu 命令修改设置。

设置

自动写作检查默认启用。符合条件的用户消息发送后,写作检查会立即在后台启动,无需等待主智能体完成回复。自动翻译默认关闭;如果希望在每次智能体回复后自动显示翻译,请在 /lang-tu 中启用 Auto-translate(自动翻译)

使用本地大语言模型

使用 Ollama 本地模型快速、低成本地完成写作检查和翻译任务。

[!warning] 使用小模型做写作检查效果可能不太好...

例如,将以下配置添加到位于 ~/.config/opencode/opencode.json 的 OpenCode 配置文件中:

详细说明请点击这里

{
  "$schema": "https://opencode.ai/config.json",
  "provider": {
    "ollama": {
      "npm": "@ai-sdk/openai-compatible",
      "name": "Ollama",
      "options": {
        "baseURL": "http://localhost:11434/v1"
      },
      "models": {
        "qwen2.5:7b": {
          "name": "qwen2.5:7b"
        }
      }
    }
  }
}

示例

写作检查结果会通过 OpenCode 的 toast 通知显示在界面右上角。翻译会显示在提示词下方;你可以使用 /translations 浏览当前会话中所有翻译。

更多细节

插件会检查符合条件的提示词,包括语法、拼写以及更自然的表达方式,并通过 OpenCode toast 显示最多三条实用建议。它还可以翻译智能体已完成的回复,并保存最近的翻译,供你通过 /translations 查看。你可以使用 /lang-tu 配置语言、功能开关以及可选的独立模型;如果未指定模型,插件将使用当前会话的模型。

这是一个轻量级辅助工具,而不是完整的语言教师:它不会重写整段提示词、评估语言水平、翻译用户提示词,也不会执行工具或命令。斜杠命令、过短的提示词以及代码块的内容会被跳过。语言助手请求会在临时且独立的 OpenCode 会话中运行,并禁用所有工具,不占用上下文,不影响 Agent 记忆。

无 tools calling

插件使用 .opencode/agents/language-tutor.md 处理隔离的语法检查和翻译请求。该文件中的 tools: { "*": false } 设置可以防止向仅用于翻译的模型发送工具 schema。此设置只影响插件的 language-tutor 智能体,不会影响你平时使用的 Build 或 Plan 智能体。

你可以在项目根目录运行以下命令,检查最终解析出的配置:

opencode debug config | rg -n -A12 -B2 '"language-tutor"'

调试

插件通过 OpenCode 的日志 API 写入诊断信息,而不会将日志打印到提示词输入面板。使用以下命令查找当前日志目录:

opencode debug paths

在另一个终端中跟踪此插件的日志(下面是默认日志路径):

tail -f ~/.local/share/opencode/log/opencode.log \
  | rg --line-buffered '{some-key-words}'

待办事项

  • 将写作检查建议从 toast 通知改为持久化显示。

  • 以交互方式显示翻译,例如在可滚动区域中展示较长的翻译结果,并自动折叠大段的代码块。

  • ...

About

A language tutor in OpenCode.

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages