更新readme

This commit is contained in:
xunbu
2025-08-18 21:54:47 +08:00
parent d29730bd63
commit 2b6824c34b
8 changed files with 35 additions and 20 deletions

View File

@@ -503,7 +503,7 @@ A: It is completely possible. The following two conditions need to be met:
A: `MarkdownBasedWorkflow` automatically caches the results of document parsing (conversion from files to Markdown) to avoid wasting time and resources on repeated parsing. The cache is stored in memory by default and records the most recent 10 parsing operations. The number of cached items can be changed via the `DOCUTRANSLATE_CACHE_NUM` environment variable.
**Q: How can I use the software via a proxy?**
A: The software does not use a proxy by default. Set the `DOCUTRANSLATE_USE_PROXY` environment variable to `true` to enable communication via a proxy.
A: The software does not use a proxy by default. Set the `DOCUTRANSLATE_PROXY_ENABLED` environment variable to `true` to enable communication via a proxy.
## Star History

View File

@@ -503,7 +503,7 @@ A: 完全に可能です。以下の2つの条件を満たす必要がありま
A: `MarkdownBasedWorkflow` はドキュメント解析ファイルからMarkdownへの変換の結果を自動的にキャッシュし、繰り返し解析による時間とリソースの浪費を回避します。キャッシュはデフォルトでメモリに保存され、直近の10回の解析が記録されます。環境変数 `DOCUTRANSLATE_CACHE_NUM` を通じてキャッシュ数を変更することができます。
**Q: ソフトウェアをプロキシ経由で使用するにはどうすればよいですか**
A: ソフトウェアはデフォルトでプロキシを使用しません。環境変数 `DOCUTRANSLATE_USE_PROXY``true` に設定することで、ソフトウェアがプロキシ経由で通信するようになります。
A: ソフトウェアはデフォルトでプロキシを使用しません。環境変数 `DOCUTRANSLATE_PROXY_ENABLED``true` に設定することで、ソフトウェアがプロキシ経由で通信するようになります。
## スター履歴

View File

@@ -490,7 +490,7 @@ A: `MarkdownBasedWorkflow` 会自动缓存文档解析文件到Markdown的转
`DOCUTRANSLATE_CACHE_NUM` 环境变量来修改缓存数量。
**Q: 如何让软件可以经过代理**
A: 软件默认不使用代理,可以通过设置环境变量`DOCUTRANSLATE_USE_PROXY`为`true`让软件通过代理。
A: 软件默认不使用代理,可以通过设置环境变量`DOCUTRANSLATE_PROXY_ENABLED`为`true`让软件通过代理。
## Star History

View File

@@ -11,6 +11,7 @@ import httpx
from docutranslate.global_values import USE_PROXY
from docutranslate.logger import global_logger
from docutranslate.utils.utils import get_httpx_proxies
MAX_RETRY_COUNT = 2
MAX_TOTAL_ERROR_COUNT = 10
@@ -87,13 +88,13 @@ class Agent:
self.model_id = config.model_id.strip()
self.system_prompt = config.system_prompt or ""
self.temperature = config.temperature
# self.client = httpx.Client(trust_env=False, proxy=None, verify=False)
# self.client_async = httpx.AsyncClient(trust_env=False, proxy=None, verify=False)
self.client = httpx.Client(verify=False) if USE_PROXY else httpx.Client(trust_env=False, proxy=None,
verify=False)
self.client_async = httpx.AsyncClient(verify=False) if USE_PROXY else httpx.AsyncClient(trust_env=False,
proxy=None,
verify=False)
if USE_PROXY:
self.client = httpx.Client(proxies=get_httpx_proxies(), verify=False)
self.client_async = httpx.AsyncClient(proxies=get_httpx_proxies(), verify=False)
else:
self.client = httpx.Client(trust_env=False, proxy=None, verify=False)
self.client_async = httpx.AsyncClient(trust_env=False, proxy=None, verify=False)
self.max_concurrent = config.max_concurrent
self.timeout = config.timeout
self.thinking = config.thinking

View File

@@ -7,7 +7,6 @@ from typing import Hashable
import httpx
from docutranslate.converter.x2md.base import X2MarkdownConverter, X2MarkdownConverterConfig
from docutranslate.global_values import USE_PROXY
from docutranslate.ir.document import Document
from docutranslate.ir.markdown_document import MarkdownDocument
from docutranslate.utils.markdown_utils import embed_inline_image_from_zip
@@ -30,12 +29,14 @@ timeout = httpx.Timeout(
write=200.0, # 写入超时 (发送数据的最长时间)
pool=1.0 # 从连接池获取连接的超时时间
)
if USE_PROXY:
client = httpx.Client(timeout=timeout, verify=False)
client_async = httpx.AsyncClient(timeout=timeout, verify=False)
else:
client = httpx.Client(trust_env=False, timeout=timeout, proxy=None, verify=False)
client_async = httpx.AsyncClient(trust_env=False, timeout=timeout, proxy=None, verify=False)
# if USE_PROXY:
# client = httpx.Client(proxies=get_httpx_proxies(), timeout=timeout, verify=False)
# client_async = httpx.AsyncClient(proxies=get_httpx_proxies(), timeout=timeout, verify=False)
# else:
# client = httpx.Client(trust_env=False, timeout=timeout, proxy=None, verify=False)
# client_async = httpx.AsyncClient(trust_env=False, timeout=timeout, proxy=None, verify=False)
client = httpx.Client(trust_env=False, timeout=timeout, proxy=None, verify=False)
client_async = httpx.AsyncClient(trust_env=False, timeout=timeout, proxy=None, verify=False)
class ConverterMineru(X2MarkdownConverter):

View File

@@ -1,4 +1,3 @@
from docutranslate.exporter.txt.base import TXTExporter
from docutranslate.exporter.xlsx.base import XlsxExporter
from docutranslate.ir.document import Document

View File

@@ -2,5 +2,7 @@ import os
from .conditional_import import available_packages, conditional_import
USE_PROXY = True if (os.getenv("DOCUTRANSLATE_USE_PROXY") and os.getenv(
"DOCUTRANSLATE_USE_PROXY").lower() == "true") else False
USE_PROXY = True if (os.getenv("DOCUTRANSLATE_PROXY_ENABLED") and os.getenv(
"DOCUTRANSLATE_PROXY_ENABLED").lower() == "true") else False
print(f"USE_PROXY:{USE_PROXY}")

View File

@@ -0,0 +1,12 @@
from urllib.request import getproxies
def get_httpx_proxies():
https_proxy = getproxies().get("https")
http_proxy = getproxies().get("http")
proxies = {}
if https_proxy:
proxies["https://"] = https_proxy
if http_proxy:
proxies["http://"] = http_proxy
return proxies