Skip to content

[Bug]: harness/prompts/tools 中部分 Tool Metadata 源码存在中文错误转码 #106

Description

@openjiuwen-collaboration-bot

Checklist

  • I have searched for related issues but did not get the expected help.
  • This bug has not been fixed in the latest version.
  • Please note that if your bug description lacks corresponding environment information and a minimal reproducible demo, it will be difficult for us to reproduce and resolve the issue, which will reduce the possibility of receiving feedback, or even lead to the issue being closed.

🐞 Detailed Description of the Problem

src/main/java/com/openjiuwen/harness/prompts/tools 下部分 Tool Metadata 的中文字符串已经发生错误转码。

文件本身是 UTF-8,但源码内容已经是类似“鍚戠敤鎴”“鎵ц”的乱码,因此不是 IDE 或终端显示配置问题。

已确认受影响的文件:

  • AgentModePromptToolProviders.java
  • AskUserMetadataProvider.java
  • AudioPromptToolProviders.java
  • BashMetadataProvider.java

最小复现代码:

import com.openjiuwen.harness.prompts.tools.AskUserMetadataProvider;
import com.openjiuwen.harness.prompts.tools.BashMetadataProvider;

public class ToolMetadataEncodingRepro {
    public static void main(String[] args) {
        System.out.println(
                new AskUserMetadataProvider().getDescription("cn"));
        System.out.println(
                new BashMetadataProvider().getDescription("cn"));
    }
}

实际输出包含:

鍚戠敤鎴锋彁闂互鏀堕泦淇℃伅...
鎵ц Shell 鍛戒护骞惰繑鍥炶緭鍑...

AskUserMetadataProvider 的英文文本也存在:

options 鈥?system provides this automatically

这些 Provider 会被 HarnessPromptToolsPackage 注册并用于构建 Tool Card,因此乱码可能进入模型上下文,影响中文环境下的工具选择、参数生成和 ask_user 交互。

仓库中同时存在另一套内容正常的 Provider:

src/main/java/com/openjiuwen/harness/prompts/sections/tools

建议修复时确认 HarnessPromptToolsPackageToolMetadataRegistry 两套注册体系是否需要统一。

期望结果:

  1. 中文 Tool description 和参数说明为正常 UTF-8 中文。
  2. 英文文本不包含错误转码字符。
  3. 从原始 Python 实现或正确源码恢复文本,避免对含 ? 的乱码直接自动反向转码。
  4. 增加中文 Metadata 单元测试或乱码特征扫描。
  5. 确认两套 Tool Metadata Provider 的定位,避免同名工具描述不一致。

Detailed Environment Information Description

  • Repository: openJiuwen/agent-core-java
  • Branch: develop
  • Commit: 406188a1b4214a01a58ad5952e58293d57882d23
  • Project version: 0.1.14
  • OS: macOS 26.3.1, Apple Silicon/aarch64
  • JDK: Eclipse Temurin OpenJDK 17.0.19
  • Maven: 3.9.16
  • Default locale: zh_CN_#Hans
  • Platform encoding: UTF-8
  • file -I result: affected Java source files are reported as charset=utf-8

Additional Information

Version Information

Thanks for your contribution 🎉!

Metadata

Metadata

Assignees

No one assigned

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions