mirror of
https://github.com/shareAI-lab/analysis_claude_code.git
synced 2026-09-20 12:13:38 +08:00
fix: use UTF-8 for text file operations
This commit is contained in:
@@ -78,7 +78,7 @@ def execute_tool(name: str, args: dict) -> str:
|
||||
|
||||
if name == "read_file":
|
||||
try:
|
||||
return (WORKDIR / args["path"]).read_text()[:50000]
|
||||
return (WORKDIR / args["path"]).read_text(encoding="utf-8")[:50000]
|
||||
except Exception as e:
|
||||
return f"Error: {e}"
|
||||
|
||||
@@ -86,7 +86,7 @@ def execute_tool(name: str, args: dict) -> str:
|
||||
try:
|
||||
p = WORKDIR / args["path"]
|
||||
p.parent.mkdir(parents=True, exist_ok=True)
|
||||
p.write_text(args["content"])
|
||||
p.write_text(args["content"], encoding="utf-8")
|
||||
return f"Wrote {len(args['content'])} bytes to {args['path']}"
|
||||
except Exception as e:
|
||||
return f"Error: {e}"
|
||||
|
||||
@@ -190,7 +190,7 @@ def run_read_file(path: str, limit: int = None) -> str:
|
||||
- Output truncated to 50KB
|
||||
"""
|
||||
try:
|
||||
text = safe_path(path).read_text()
|
||||
text = safe_path(path).read_text(encoding="utf-8")
|
||||
lines = text.splitlines()
|
||||
|
||||
if limit and limit < len(lines):
|
||||
@@ -215,7 +215,7 @@ def run_write_file(path: str, content: str) -> str:
|
||||
try:
|
||||
fp = safe_path(path)
|
||||
fp.parent.mkdir(parents=True, exist_ok=True)
|
||||
fp.write_text(content)
|
||||
fp.write_text(content, encoding="utf-8")
|
||||
return f"Wrote {len(content)} bytes to {path}"
|
||||
|
||||
except Exception as e:
|
||||
@@ -233,13 +233,13 @@ def run_edit_file(path: str, old_text: str, new_text: str) -> str:
|
||||
"""
|
||||
try:
|
||||
fp = safe_path(path)
|
||||
content = fp.read_text()
|
||||
content = fp.read_text(encoding="utf-8")
|
||||
|
||||
if old_text not in content:
|
||||
return f"Error: Text not found in {path}"
|
||||
|
||||
new_content = content.replace(old_text, new_text, 1)
|
||||
fp.write_text(new_content)
|
||||
fp.write_text(new_content, encoding="utf-8")
|
||||
return f"Edited {path}"
|
||||
|
||||
except Exception as e:
|
||||
|
||||
@@ -142,7 +142,7 @@ def execute(name: str, args: dict) -> str:
|
||||
|
||||
if name == "read_file":
|
||||
try:
|
||||
return safe_path(args["path"]).read_text()[:50000]
|
||||
return safe_path(args["path"]).read_text(encoding="utf-8")[:50000]
|
||||
except Exception as e:
|
||||
return f"Error: {{e}}"
|
||||
|
||||
@@ -150,7 +150,7 @@ def execute(name: str, args: dict) -> str:
|
||||
try:
|
||||
p = safe_path(args["path"])
|
||||
p.parent.mkdir(parents=True, exist_ok=True)
|
||||
p.write_text(args["content"])
|
||||
p.write_text(args["content"], encoding="utf-8")
|
||||
return f"Wrote {{len(args['content'])}} bytes to {{args['path']}}"
|
||||
except Exception as e:
|
||||
return f"Error: {{e}}"
|
||||
@@ -158,10 +158,13 @@ def execute(name: str, args: dict) -> str:
|
||||
if name == "edit_file":
|
||||
try:
|
||||
p = safe_path(args["path"])
|
||||
content = p.read_text()
|
||||
content = p.read_text(encoding="utf-8")
|
||||
if args["old_text"] not in content:
|
||||
return f"Error: Text not found in {{args['path']}}"
|
||||
p.write_text(content.replace(args["old_text"], args["new_text"], 1))
|
||||
p.write_text(
|
||||
content.replace(args["old_text"], args["new_text"], 1),
|
||||
encoding="utf-8",
|
||||
)
|
||||
return f"Edited {{args['path']}}"
|
||||
except Exception as e:
|
||||
return f"Error: {{e}}"
|
||||
@@ -230,17 +233,17 @@ def create_agent(name: str, level: int, output_dir: Path):
|
||||
# Write agent file
|
||||
agent_file = agent_dir / f"{name}.py"
|
||||
template = TEMPLATES.get(level, TEMPLATES[1])
|
||||
agent_file.write_text(template.format(name=name))
|
||||
agent_file.write_text(template.format(name=name), encoding="utf-8")
|
||||
print(f"Created: {agent_file}")
|
||||
|
||||
# Write .env.example
|
||||
env_file = agent_dir / ".env.example"
|
||||
env_file.write_text(ENV_TEMPLATE)
|
||||
env_file.write_text(ENV_TEMPLATE, encoding="utf-8")
|
||||
print(f"Created: {env_file}")
|
||||
|
||||
# Write .gitignore
|
||||
gitignore = agent_dir / ".gitignore"
|
||||
gitignore.write_text(".env\n__pycache__/\n*.pyc\n")
|
||||
gitignore.write_text(".env\n__pycache__/\n*.pyc\n", encoding="utf-8")
|
||||
print(f"Created: {gitignore}")
|
||||
|
||||
print(f"\nAgent '{name}' created at {agent_dir}")
|
||||
|
||||
Reference in New Issue
Block a user