Metadata-Version: 2.4
Name: writing-translator
Version: 0.1.0
Summary: Console AI agent for translating Chinese academic writing into polished English.
Author: writing-translator contributors
Keywords: academic-writing,langchain,langgraph,translation
Classifier: Development Status :: 3 - Alpha
Classifier: Environment :: Console
Classifier: Intended Audience :: Science/Research
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.13
Requires-Python: >=3.11
Requires-Dist: langchain-core>=1.0.0
Requires-Dist: langchain-openai>=1.0.0
Requires-Dist: langgraph>=1.0.0
Requires-Dist: typing-extensions>=4.12.0
Provides-Extra: dev
Requires-Dist: pytest>=8.0.0; extra == 'dev'
Description-Content-Type: text/markdown

# writing-translator

用 AI 实现中文到英文学术写作的翻译、润色、逻辑检查和降 AI 味处理。

## Setup

Create a local virtual environment and install dependencies with uv:

```bash
uv venv
uv sync --extra dev
```

You can also install the package with pip:

```bash
pip install .
```

After installation, the `writing-translator` command is available in the active
Python environment.

Copy the example config and fill in your API information:

```bash
writing-translator --init-config --config config.toml
```

`config.toml` is ignored by git. You can either set `api_key` directly in that
file for local use, or keep `api_key_env = "OPENAI_API_KEY"` and export the key:

```bash
export OPENAI_API_KEY="your-api-key"
```

For OpenAI-compatible providers, set `base_url` in `config.toml`.

## Run

```bash
uv run writing-translator --config config.toml
```

If you installed with pip, run:

```bash
writing-translator --config config.toml
```

Paste Chinese text into the console. Submit an empty line to run the pipeline.
Type `:q` to exit.

The agent prints three stages:

- `Translation`: first English LaTeX translation from `zh2en.md`
- `Polished`: academic editing result from `finetune.md`
- `Final`: naturalized, lower-AI-flavor English result from `noai.md`

`logic_check.md` runs between `Polished` and `Final`; its report is used as a
correction signal for the final rewrite.
