完成任务16:编写 04_长期发展/环境保护.md

This commit is contained in:
root
2026-05-23 16:51:48 +00:00
parent 33ea0114ea
commit c8cd92ba7c
734 changed files with 188060 additions and 604 deletions

View File

@@ -0,0 +1,176 @@
---
name: chinese-response
description: 确保所有回复都使用中文,自动翻译其他语言内容后再回复。适用于任何需要中文输出的场景。
---
# 中文回复技能
## 概述
此技能确保 agent 的所有回复都使用标准中文(简体),包括:
- 直接回复用户时自动转换为中文
- 接收非中文输入后先翻译再回复
- 技术文档、代码注释等内容的中文呈现
**何时使用此技能:**
- 用户要求"用中文回复"或"翻译成中文"
- 任何需要输出中文的场景(默认行为)
- 处理多语言输入时需要统一为中文输出
- 生成报告、文档、对话等所有文本内容
## 核心逻辑
### 1. 自动检测与翻译
```python
def detect_and_translate(text: str) -> str:
"""检测非中文文本并翻译"""
# 检测是否包含非中文字符
if not re.match(r'^[\u4e00-\u9fff\s.,!?:;、?!“”‘’]+$', text):
# 调用翻译 API如 DeepL/Google Translate
translated = translate_api(text)
return translated
return text
```
### 2. 回复生成流程
1. **接收用户输入** → 检测语言
2. **非中文输入** → 翻译成中文
3. **处理内容** → 生成回复
4. **确保输出** → 全部转换为中文(包括技术术语)
5. **返回给用户**
### 3. 特殊场景处理
- **代码/命令输出**:保持原样,但添加中文注释说明
- **错误信息**:翻译为友好的中文提示
- **数据表格**:表头和中文字段使用中文
- **JSON/XML**:键名可保留英文,但值转换为中文
### 4. 实际集成方式
此技能需要与 agent 框架集成。当收到用户输入时:
1. 检测输入语言(通过 `is_chinese()` 方法)
2. 如果是非中文,调用翻译服务
3. 处理内容后确保输出为中文
4. 返回给用户
**注意:** 实际使用时需要配置翻译服务的 API 密钥或使用免费替代方案。
## 工作流程决策树
```mermaid
graph TD
A[接收输入] --> B{是否中文?}
B -->|是 | C[直接处理]
B -->|否 | D[翻译成中文]
C --> E[生成回复]
D --> E
E --> F{输出内容}
F --> G[纯代码/数据]
F --> H[混合内容]
G --> I[保留原样 + 添加中文注释]
H --> J[全部转换为中文]
```
## 使用示例
### 用户输入(英文):
> "Can you help me upgrade copaw?"
**处理流程:**
1. 检测到英文 → 翻译为:"你能帮我升级 copaw 吗?"
2. 执行升级操作
3. 回复:"好的,我已经帮你完成了 copaw 的升级。当前版本是 0.2.0(已是最新版)。"
### 用户输入(中文):
> "帮我创建一个技能"
**处理流程:**
1. 直接识别为中文 → 无需翻译
2. 执行技能创建逻辑
3. 回复:"好的,正在为你创建技能..."
## 技术实现建议
### 脚本示例 (`translator.py`)
```python
#!/usr/bin/env python3
# -*- coding: utf-8 -*-
import re
from deep_translator import GoogleTranslator
class ChineseResponseHandler:
def __init__(self):
self.translator = GoogleTranslator(source='auto', target='zh-CN')
def is_chinese(self, text: str) -> bool:
"""检测文本是否主要为中文"""
chinese_pattern = re.compile(r'[\u4e00-\u9fff]')
matches = chinese_pattern.findall(text)
return len(matches) > len(text) * 0.5
def translate(self, text: str) -> str:
"""翻译非中文文本"""
if not self.is_chinese(text):
try:
return self.translator.translate(text)
except Exception as e:
print(f"翻译失败:{e}")
return text
return text
def process_response(self, content: str) -> str:
"""处理回复内容,确保中文输出"""
# 对于代码块,保留原样但添加中文注释
if '`' in content or '```' in content:
lines = content.split('\n')
processed_lines = []
for line in lines:
if not line.strip().startswith('#'):
translated_line = self.translate(line)
processed_lines.append(translated_line)
else:
# 翻译代码注释
translated_line = self.translate(line)
processed_lines.append(translated_line)
content = '\n'.join(processed_lines)
return content
# 使用示例
handler = ChineseResponseHandler()
response = handler.process_response("Your response here")
print(response)
```
## 资源
### scripts/
- `translator.py` - 中文翻译和检测工具
- `chinese_formatter.py` - 内容格式化器(确保输出符合中文规范)
### references/
- `zh_cn_guidelines.md` - 中文写作规范文档
- `common_terms.md` - 常用技术术语对照表
## 注意事项
1. **性能优化**:对于大量文本,批量翻译比逐行翻译更高效
2. **专业术语**:建立常用技术词汇库,避免直译导致的专业性丢失
3. **代码保留**:代码块、命令输出等应保留原样,仅添加中文注释
4. **错误处理**:翻译失败时返回原文并提示用户
## 测试用例
| 输入 | 预期输出 |
|------|----------|
| "Hello world" | "你好世界" |
| "pip install copaw" | "pip 安装 copaw命令保留原样" |
| "Error: File not found" | "错误:文件未找到" |
---
**下一步:**
1. 创建 `scripts/translator.py` 脚本
2. 添加 `references/common_terms.md` 术语表
3. 运行技能验证器检查结构完整性

View File

@@ -0,0 +1,112 @@
# 常用技术术语对照表
## Python 相关
| 英文 | 中文 |
|------|------|
| Python | PythonPython |
| import | 导入 |
| function | 函数 |
| class | 类 |
| variable | 变量 |
| loop | 循环 |
| list | 列表 |
| dictionary/dict | 字典/词典 |
| string | 字符串 |
| integer/int | 整数 |
| float | 浮点数 |
| boolean | 布尔值 |
| None | None |
## 包管理相关
| 英文 | 中文 |
|------|------|
| pip | pipPython 包管理器) |
| install | 安装 |
| upgrade | 升级 |
| uninstall | 卸载 |
| requirements.txt | 依赖文件 |
| virtual environment | 虚拟环境 |
## 系统相关
| 英文 | 中文 |
|------|------|
| terminal/CLI | 终端/命令行 |
| command line interface | 命令行界面 |
| shell | 外壳/Shell |
| process | 进程 |
| thread | 线程 |
| module | 模块 |
## Web 开发相关
| 英文 | 中文 |
|------|------|
| HTTP | HTTP超文本传输协议 |
| API | API应用程序接口 |
| request | 请求 |
| response | 响应 |
| endpoint | 端点 |
| URL/URI | 统一资源定位符 |
## 数据库相关
| 英文 | 中文 |
|------|------|
| SQL | SQL结构化查询语言 |
| database | 数据库 |
| table | 表 |
| query | 查询 |
| insert | 插入 |
| update | 更新 |
| delete | 删除 |
## 错误处理相关
| 英文 | 中文 |
|------|------|
| Error | 错误 |
| Exception | 异常 |
| traceback | 堆栈跟踪 |
| debug | 调试 |
| log | 日志 |
| warning | 警告 |
| critical | 严重 |
## 文件操作相关
| 英文 | 中文 |
|------|------|
| file | 文件 |
| directory/folder | 目录/文件夹 |
| path | 路径 |
| read | 读取 |
| write | 写入 |
| append | 追加 |
## 网络相关
| 英文 | 中文 |
|------|------|
| network | 网络 |
| server | 服务器 |
| client | 客户端 |
| port | 端口 |
| socket | 套接字 |
| bandwidth | 带宽 |
| latency | 延迟 |
## 性能相关
| 英文 | 中文 |
|------|------|
| performance | 性能 |
| optimization | 优化 |
| benchmark | 基准测试 |
| speed | 速度 |
| efficiency | 效率 |
| memory leak | 内存泄漏 |
## 其他常用词
| 英文 | 中文 |
|------|------|
| configuration | 配置 |
| setting | 设置 |
| option | 选项 |
| parameter | 参数 |
| argument | 参数/引数 |
| default | 默认值 |
| override | 覆盖 |

View File

@@ -0,0 +1,53 @@
#!/usr/bin/env python3
# -*- coding: utf-8 -*-
"""
中文回复技能演示脚本
展示如何使用 chinese-response 技能
"""
from translator import ChineseResponseHandler
def demo():
"""演示技能功能"""
handler = ChineseResponseHandler()
print("=" * 60)
print("中文回复技能演示")
print("=" * 60)
# 示例输入(模拟用户输入)
examples = [
{
"input": "Can you help me upgrade copaw?",
"description": "英文问题"
},
{
"input": "pip install --upgrade -i https://pypi.tuna.tsinghua.edu.cn/simple copaw",
"description": "命令输出"
},
{
"input": "Error: File not found",
"description": "错误信息"
},
{
"input": "你好世界",
"description": "中文输入(无需翻译)"
}
]
for i, example in enumerate(examples, 1):
print(f"\n示例 {i}: {example['description']}")
print("-" * 40)
print(f"原始输入:{example['input']}")
# 处理回复(模拟技能处理)
processed = handler.process_response(example['input'])
print(f"处理后:{processed}")
print("\n" + "=" * 60)
if __name__ == "__main__":
demo()

View File

@@ -0,0 +1,98 @@
#!/usr/bin/env python3
# -*- coding: utf-8 -*-
"""
中文回复翻译器
确保所有回复都使用标准中文(简体)
"""
import re
from typing import Optional
class ChineseResponseHandler:
"""中文回复处理器"""
def __init__(self):
self.translator = None # 可配置翻译服务
def is_chinese(self, text: str) -> bool:
"""检测文本是否主要为中文"""
if not text or len(text.strip()) == 0:
return False
chinese_pattern = re.compile(r'[\u4e00-\u9fff]')
matches = chinese_pattern.findall(text)
# 如果中文字符占比超过 50%,认为是中文文本
return len(matches) > len(text) * 0.5
def translate(self, text: str) -> str:
"""翻译非中文文本"""
if not self.is_chinese(text):
try:
# TODO: 配置实际的翻译服务(如 DeepL/Google Translate
from deep_translator import GoogleTranslator
translator = GoogleTranslator(source='auto', target='zh-CN')
return translator.translate(text)
except Exception as e:
print(f"翻译失败:{e}")
# 返回原文以便调试
return text
return text
def process_response(self, content: str) -> str:
"""处理回复内容,确保中文输出"""
# 对于代码块,保留原样但添加中文注释说明
if '`' in content or '```' in content:
lines = content.split('\n')
processed_lines = []
for line in lines:
stripped_line = line.strip()
# 如果是代码行(非空、非注释)
if stripped_line and not stripped_line.startswith('#'):
translated_line = self.translate(stripped_line)
processed_lines.append(translated_line)
else:
# 保留原样或翻译注释
if stripped_line.startswith('#'):
translated_line = self.translate(stripped_line)
else:
translated_line = stripped_line
processed_lines.append(translated_line)
content = '\n'.join(processed_lines)
return content
def main():
"""测试示例"""
handler = ChineseResponseHandler()
# 测试用例
test_cases = [
"Hello world",
"pip install copaw",
"Error: File not found",
"你好世界",
"Can you help me upgrade copaw?"
]
print("=" * 60)
print("中文回复翻译器测试")
print("=" * 60)
for test_input in test_cases:
result = handler.process_response(test_input)
print(f"\n输入:{test_input}")
print(f"输出:{result}")
print("-" * 40)
if __name__ == "__main__":
main()