WWW.YOUINFO.SITE
标签聚合 pip

/tag/pip

LinuxDo 最新话题 · 2026-06-11 20:48:22+08:00 · tech

脚本 #!/data/data/com.termux/files/usr/bin/bash set -euo pipefail readonly SCRIPT_NAME="$(basename "$0")" readonly MIMO_PACKAGE_NAME="@mimo-ai/cli" readonly MIMO_PACKAGE_VERSION="${MIMO_CODE_VERSION:-${MIMOCODE_VERSION:-latest}}" readonly PREFIX_DIR="${PREFIX:-/data/data/com.termux/files/usr}" readonly HOST_MIMO_PATH="$PREFIX_DIR/bin/mimo" readonly MIMO_CLI_PKG_DIR="$PREFIX_DIR/lib/node_modules/@mimo-ai/cli" readonly MIMO_ARCH_PKG_NAME="@mimo-ai/mimocode-linux-arm64" readonly MIMO_ARCH_PKG_DIR="$PREFIX_DIR/lib/node_modules/$MIMO_ARCH_PKG_NAME" readonly TMP_ROOT="$HOME/tmp" readonly BACKUP_DIR="$TMP_ROOT/mimocode-backups" readonly WRAPPER_MARKER="# mimocode-termux-glibc-wrapper" # Resolved by install_mimo_package() after locating the real glibc ELF. MIMO_BINARY_PATH="" MIMO_RESOLVED_VERSION="" readonly C_BOLD_BLUE="\033[1;34m" readonly C_BOLD_GREEN="\033[1;32m" readonly C_BOLD_YELLOW="\033[1;33m" readonly C_BOLD_RED="\033[1;31m" readonly C_RESET="\033[0m" info() { printf '%b[INFO]%b %s\n' "$C_BOLD_BLUE" "$C_RESET" "$*"; } success() { printf '%b[ OK ]%b %s\n' "$C_BOLD_GREEN" "$C_RESET" "$*"; } warn() { printf '%b[WARN]%b %s\n' "$C_BOLD_YELLOW" "$C_RESET" "$*" >&2; } die() { printf '%b[ERR ]%b %s\n' "$C_BOLD_RED" "$C_RESET" "$*" >&2; exit 1; } usage() { cat <<EOF Usage: bash $SCRIPT_NAME What it does (glibc-runner mode, no proot): 1. Installs glibc-repo, refreshes apt metadata, installs glibc-runner. 2. Installs nodejs-lts + npm in Termux (if missing). 3. npm installs ${MIMO_PACKAGE_NAME} globally, then force-installs the ${MIMO_ARCH_PKG_NAME} native linux-arm64 package. 4. Skips MiMoCode's postinstall script because Termux Node reports process.platform='android' and the upstream script looks for a non-existent @mimo-ai/mimocode-android-arm64 package. 5. Replaces \$PREFIX/bin/mimo with a grun wrapper that runs the glibc ELF directly on Termux. Environment overrides: MIMO_CODE_VERSION npm package version/tag, default: ${MIMO_PACKAGE_VERSION} examples: latest, preview, 0.1.0, v0.1.0 MIMOCODE_VERSION alias for MIMO_CODE_VERSION Notes: - Official MiMoCode install docs: https://github.com/XiaomiMiMo/MiMo-Code - glibc-runner injects glibc via LD_LIBRARY_PATH; kernel calls are native. EOF } command_exists() { command -v "$1" >/dev/null 2>&1; } # ELF magic = 7f 45 4c 46; e_machine at offset 18 = 0xb7 for EM_AARCH64. is_valid_aarch64_elf() { local f="$1" [ -f "$f" ] || return 1 local magic machine magic=$(od -An -tx1 -N4 "$f" 2>/dev/null | tr -d ' \n') [ "$magic" = "7f454c46" ] || return 1 machine=$(od -An -tx1 -j18 -N1 "$f" 2>/dev/null | tr -d ' \n') [ "$machine" = "b7" ] } find_arch_binary() { local candidate for candidate in \ "$MIMO_ARCH_PKG_DIR/bin/mimo" \ "$MIMO_CLI_PKG_DIR/bin/.mimocode"; do if is_valid_aarch64_elf "$candidate"; then MIMO_BINARY_PATH="$candidate" return 0 fi done while IFS= read -r candidate; do if is_valid_aarch64_elf "$candidate"; then MIMO_BINARY_PATH="$candidate" return 0 fi done < <(find "$MIMO_ARCH_PKG_DIR" "$MIMO_CLI_PKG_DIR" -type f -size +10M 2>/dev/null) return 1 } ensure_tmp_root() { mkdir -p "$TMP_ROOT" [ -w "$TMP_ROOT" ] || die "Temp directory is not writable: $TMP_ROOT" export TMPDIR="$TMP_ROOT" } require_termux() { [ -d "$PREFIX_DIR" ] || die "This script must run in Termux." command_exists pkg || die "pkg not found. This script must run in Termux." if [ -r /proc/1/status ] && grep -q 'TracerPid:.*[1-9]' /proc/1/status 2>/dev/null; then warn "Detected non-zero TracerPid on PID 1 -- looks like a proot session." warn "Run this script from a plain Termux shell, not from inside proot-distro." fi } ensure_termux_package() { local package_name="$1" if dpkg -s "$package_name" >/dev/null 2>&1; then success "Termux package already installed: $package_name" return 0 fi info "Installing Termux package: $package_name" pkg install -y "$package_name" success "Installed Termux package: $package_name" } ensure_glibc_runner() { ensure_termux_package "glibc-repo" if ! apt-cache show glibc-runner >/dev/null 2>&1; then info "Refreshing apt metadata so glibc-repo becomes visible" pkg update -y || apt-get update -y || true fi ensure_termux_package "glibc-runner" command_exists grun || die "grun not found after installing glibc-runner." } ensure_nodejs() { if command_exists node && command_exists npm; then success "Termux node present: $(node --version), npm $(npm --version)" return 0 fi if dpkg -s nodejs >/dev/null 2>&1; then success "nodejs already installed" else ensure_termux_package "nodejs-lts" fi command_exists node && command_exists npm || die "node/npm not found after installing nodejs." } resolve_mimo_version() { local requested="$MIMO_PACKAGE_VERSION" if [ "$requested" != "latest" ]; then requested="${requested#v}" fi local pkg_spec="$MIMO_PACKAGE_NAME" if [ "$requested" != "latest" ]; then pkg_spec="${MIMO_PACKAGE_NAME}@${requested}" fi info "Resolving version for ${pkg_spec}" local resolved resolved=$(npm view "$pkg_spec" version 2>/dev/null | tail -n1) \ || die "Failed to resolve version for ${pkg_spec} via npm view" [[ "$resolved" =~ ^[0-9]+\.[0-9]+ ]] \ || die "npm view returned a bogus version: '$resolved'" MIMO_RESOLVED_VERSION="$resolved" } backup_existing_launcher() { mkdir -p "$BACKUP_DIR" [ -e "$HOST_MIMO_PATH" ] || return 0 if grep -Fq "$WRAPPER_MARKER" "$HOST_MIMO_PATH" 2>/dev/null; then success "glibc-runner wrapper already in place" return 0 fi local backup_path="$BACKUP_DIR/mimo.host-backup.$(date +%Y%m%d_%H%M%S)" cp -P "$HOST_MIMO_PATH" "$backup_path" success "Backed up existing launcher to $backup_path" } install_mimo_package() { resolve_mimo_version local main_version="$MIMO_RESOLVED_VERSION" local pinned_main="${MIMO_PACKAGE_NAME}@${main_version}" local arch_spec="${MIMO_ARCH_PKG_NAME}@${main_version}" info "Installing ${pinned_main} without upstream optional platform packages" npm install -g --force --ignore-scripts --omit=optional "$pinned_main" info "Installing ${arch_spec} for Termux via glibc-runner" npm install -g --force --ignore-scripts --os=linux --cpu=arm64 "$arch_spec" find_arch_binary || die "No valid aarch64 ELF found under $MIMO_ARCH_PKG_DIR. \ The arch package may not have unpacked correctly; inspect with: \ ls -la $MIMO_ARCH_PKG_DIR" success "MiMoCode native binary: $MIMO_BINARY_PATH ($(stat -c %s "$MIMO_BINARY_PATH" 2>/dev/null || echo '?') bytes)" } install_host_wrapper() { local tmp_wrapper tmp_wrapper="$(mktemp "$TMP_ROOT/mimo-grun.XXXXXX")" cat >"$tmp_wrapper" <<EOF #!/data/data/com.termux/files/usr/bin/sh $WRAPPER_MARKER mkdir -p "\$HOME/tmp" 2>/dev/null || true export TMPDIR="\${TMPDIR:-\$HOME/tmp}" exec grun "$MIMO_BINARY_PATH" "\$@" EOF chmod 755 "$tmp_wrapper" rm -f "$HOST_MIMO_PATH" mv "$tmp_wrapper" "$HOST_MIMO_PATH" chmod 755 "$HOST_MIMO_PATH" success "Installed Termux launcher: $HOST_MIMO_PATH" } verify_install() { info "Verifying binary via grun" grun "$MIMO_BINARY_PATH" --version info "Verifying Termux launcher" "$HOST_MIMO_PATH" --version local path_mimo="" path_mimo="$(command -v mimo 2>/dev/null || true)" if [ -n "$path_mimo" ] && [ "$path_mimo" != "$HOST_MIMO_PATH" ]; then warn "Your PATH resolves 'mimo' to $path_mimo, not $HOST_MIMO_PATH." warn "Move $PREFIX_DIR/bin earlier in PATH or remove the older launcher." fi success "MiMoCode setup completed (glibc-runner mode)" } main() { if [ "${1:-}" = "-h" ] || [ "${1:-}" = "--help" ]; then usage exit 0 fi ensure_tmp_root require_termux ensure_glibc_runner ensure_nodejs backup_existing_launcher install_mimo_package install_host_wrapper verify_install cat <<EOF Run MiMoCode with: mimo Configuration: mode: glibc-runner (no proot) binary: $MIMO_BINARY_PATH launcher: $HOST_MIMO_PATH temp: $TMP_ROOT If the official installer previously added ~/.mimocode/bin before $PREFIX_DIR/bin, that older launcher may shadow this Termux wrapper. Troubleshooting: - If npm cannot resolve a preview version, install with: MIMO_CODE_VERSION=preview bash $SCRIPT_NAME - If subprocess errors mention libc/ld.so, the binary is loading Termux bionic libs via inherited LD_LIBRARY_PATH. Check glibc-runner docs. EOF } main "$@" 1 个帖子 - 1 位参与者 阅读完整话题

LinuxDo 最新话题 · 2026-06-10 21:39:24+08:00 · tech

背景 uv提供了 uv pip install --torch_backend auto ... 的功能自动选择GPU后端,但默认使用pytorch.org下载,且无法修改base。 现从uv代码将这部分拆分修改后,使用阿里云镜像下载,能显著提高部分地区下载速度。 功能和用法 Usage: uv-torch-mirror.exe <BACKEND> <PACKAGES_AND_ARGS>... Arguments: <BACKEND> Backend to use, for example: auto, cpu, cu130, xpu, rocm7.2 <PACKAGES_AND_ARGS>... Arguments forwarded verbatim to `uv pip install` Options: -h, --help Print help Examples: uv-torch-mirror.exe torch==2.10 torchvision 要求环境中安装有uv并在Path中,程序没有携带uv,仅850k。 运行逻辑与uv 0.11.8版本的torch-backend一致。 如果阿里云镜像中不包含指定的版本,将自动降级到默认PyPI路径。 链接 https://flt.lanzouv.com/ihPPA3rkugyb 注意 由于阿里云镜像没有提供符合PEP 714/PEP 658的meta文件,同时range读取文件很慢,运行时在 ⠼ torch==2.9.0+cu129 阶段可能会卡1~2min。 1 个帖子 - 1 位参与者 阅读完整话题

v2ex · 2026-06-09 09:02:57+08:00 · tech

量化机构花百万买的毫秒级行情通道,散户连一根日线都得手动截图。 我不想抱怨这事,我直接造了个开源工具把墙拆了。 easy-tdx:免费、无注册、无 API Key 的行情数据源 GitHub: https://github.com/handsomejustin/easy-tdx 一行命令装上,30 秒后你屏幕上的数据和机构看到的是同一份。 pip install easy-tdx 它能干嘛? 拉数据:A 股、港股、美股、期货 —— K 线、实时报价、分时明细、逐笔成交、资金流向、板块轮动,毫秒级返回。 # 茅台日 K 线 easy-tdx kline SH 600519 --count 30 --table # 港股腾讯 easy-tdx ex kline HK_MAIN_BOARD 00700 --count 30 --table # 美股苹果 easy-tdx ex kline US_STOCK AAPL --table # 全 A 股按涨幅排序 easy-tdx quote-list A --count 20 --table 算指标:32 个技术指标开箱即用 —— MACD 、KDJ 、RSI 、BOLL 、DMI 、ATR 、WR 、CCI 、BIAS……连"捉妖大师"和"30 日乖离率信号"都给你算好了。 easy-tdx indicator MACD,KDJ,RSI,BOLL -m SH -c 600519 --count 20 --table 缠论分析:K 线合并→分型→笔→中枢→线段→买卖点→背驰,一键出结果。 easy-tdx chanlun SZ 000001 --table 为什么说它是 AI Agent 的天然弹药? 所有命令默认输出 JSON 。Python API 返回 DataFrame 。你的 Agent 不需要解析网页、不需要处理乱码、不需要折腾 API 鉴权。 from easy_tdx import MacClient, Market with MacClient.from_best_host() as c: # K 线 + 4 个指标一步到位 df = c.get_stock_kline_with_indicators( Market.SH , "600519", indicators=["MACD", "KDJ", "RSI", "BOLL"], count=30, ) # df 直接丢给 LLM 分析,或者喂给 Agent 做决策 # 缠论分析 from easy_tdx.chanlun import ChanlunAnalyser analyser = ChanlunAnalyser("SH600519", "DAILY") result = analyser.process_klines(df) print(result.to_dict()) # JSON 兼容,直接进 Agent pipeline 事实是:Claude Code 、OpenClaw 、Hermes……任何能调 Python 的 Agent 都能直接吃这个数据。 你不需要懂 TCP 协议。你不需要写量化框架。你不需要给任何平台付一分钱。 还有什么? - 离线读取: 本地装了通达信?直接读 .day 文件,断网也能用 - 数据同步: 一行命令把全市场日线同步到本地 easy-tdx offline sync-all - 自动选服务器:from_best_host() 自动 ping 最快的通达信服务器 - 同步 + 异步:MacClient 和 AsyncMacClient 随你选 - MIT 协议: 随便用,随便改,随便分发 最后说两句 金融数据的获取门槛,从来不该是散户亏钱的理由。 当量化基金用程序化交易像割草一样收割市场时,普通人至少应该有权利拿一样的武器。 这不是一个帮你"赚钱"的工具。这是让你不再裸奔的工具。 如果觉得有用,来 GitHub 给个 ⭐ star 支持一下,让更多人看到: https://github.com/handsomejustin/easy-tdx MIT 全开源,代码干净,ruff + mypy strict ,PR welcome 。

v2ex · 2026-06-09 08:10:20+08:00 · tech

量化机构花百万买的毫秒级行情通道,散户连一根日线都得手动截图。 我不想抱怨这事,我直接造了个开源工具把墙拆了。 easy-tdx:免费、无注册、无 API Key 的行情数据源 GitHub: https://github.com/handsomejustin/easy-tdx 一行命令装上,30 秒后你屏幕上的数据和机构看到的是同一份。 pip install easy-tdx 它能干嘛? 拉数据:A 股、港股、美股、期货 —— K 线、实时报价、分时明细、逐笔成交、资金流向、板块轮动,毫秒级返回。 # 茅台日 K 线 easy-tdx kline SH 600519 --count 30 --table # 港股腾讯 easy-tdx ex kline HK_MAIN_BOARD 00700 --count 30 --table # 美股苹果 easy-tdx ex kline US_STOCK AAPL --table # 全 A 股按涨幅排序 easy-tdx quote-list A --count 20 --table 算指标:32 个技术指标开箱即用 —— MACD 、KDJ 、RSI 、BOLL 、DMI 、ATR 、WR 、CCI 、BIAS……连"捉妖大师"和"30 日乖离率信号"都给你算好了。 easy-tdx indicator MACD,KDJ,RSI,BOLL -m SH -c 600519 --count 20 --table 缠论分析:K 线合并→分型→笔→中枢→线段→买卖点→背驰,一键出结果。 easy-tdx chanlun SZ 000001 --table 为什么说它是 AI Agent 的天然弹药? 所有命令默认输出 JSON 。Python API 返回 DataFrame 。你的 Agent 不需要解析网页、不需要处理乱码、不需要折腾 API 鉴权。 from easy_tdx import MacClient, Market with MacClient.from_best_host() as c: # K 线 + 4 个指标一步到位 df = c.get_stock_kline_with_indicators( Market.SH , "600519", indicators=["MACD", "KDJ", "RSI", "BOLL"], count=30, ) # df 直接丢给 LLM 分析,或者喂给 Agent 做决策 # 缠论分析 from easy_tdx.chanlun import ChanlunAnalyser analyser = ChanlunAnalyser("SH600519", "DAILY") result = analyser.process_klines(df) print(result.to_dict()) # JSON 兼容,直接进 Agent pipeline 事实是:Claude Code 、OpenClaw 、Hermes……任何能调 Python 的 Agent 都能直接吃这个数据。 你不需要懂 TCP 协议。你不需要写量化框架。你不需要给任何平台付一分钱。 还有什么? - 离线读取: 本地装了通达信?直接读 .day 文件,断网也能用 - 数据同步: 一行命令把全市场日线同步到本地 easy-tdx offline sync-all - 自动选服务器:from_best_host() 自动 ping 最快的通达信服务器 - 同步 + 异步:MacClient 和 AsyncMacClient 随你选 - MIT 协议: 随便用,随便改,随便分发 最后说两句 金融数据的获取门槛,从来不该是散户亏钱的理由。 当量化基金用程序化交易像割草一样收割市场时,普通人至少应该有权利拿一样的武器。 这不是一个帮你"赚钱"的工具。这是让你不再裸奔的工具。 如果觉得有用,来 GitHub 给个 ⭐ star 支持一下,让更多人看到: https://github.com/handsomejustin/easy-tdx MIT 全开源,代码干净,ruff + mypy strict ,PR welcome 。

v2ex · 2026-06-09 07:58:31+08:00 · tech

量化机构花百万买的毫秒级行情通道,散户连一根日线都得手动截图。 我不想抱怨这事,我直接造了个开源工具把墙拆了。 easy-tdx:免费、无注册、无 API Key 的行情数据源 GitHub: https://github.com/handsomejustin/easy-tdx 一行命令装上,30 秒后你屏幕上的数据和机构看到的是同一份。 pip install easy-tdx 它能干嘛? 拉数据:A 股、港股、美股、期货 —— K 线、实时报价、分时明细、逐笔成交、资金流向、板块轮动,毫秒级返回。 # 茅台日 K 线 easy-tdx kline SH 600519 --count 30 --table # 港股腾讯 easy-tdx ex kline HK_MAIN_BOARD 00700 --count 30 --table # 美股苹果 easy-tdx ex kline US_STOCK AAPL --table # 全 A 股按涨幅排序 easy-tdx quote-list A --count 20 --table 算指标:32 个技术指标开箱即用 —— MACD 、KDJ 、RSI 、BOLL 、DMI 、ATR 、WR 、CCI 、BIAS……连"捉妖大师"和"30 日乖离率信号"都给你算好了。 easy-tdx indicator MACD,KDJ,RSI,BOLL -m SH -c 600519 --count 20 --table 缠论分析:K 线合并→分型→笔→中枢→线段→买卖点→背驰,一键出结果。 easy-tdx chanlun SZ 000001 --table 为什么说它是 AI Agent 的天然弹药? 所有命令默认输出 JSON 。Python API 返回 DataFrame 。你的 Agent 不需要解析网页、不需要处理乱码、不需要折腾 API 鉴权。 from easy_tdx import MacClient, Market with MacClient.from_best_host() as c: # K 线 + 4 个指标一步到位 df = c.get_stock_kline_with_indicators( Market.SH , "600519", indicators=["MACD", "KDJ", "RSI", "BOLL"], count=30, ) # df 直接丢给 LLM 分析,或者喂给 Agent 做决策 # 缠论分析 from easy_tdx.chanlun import ChanlunAnalyser analyser = ChanlunAnalyser("SH600519", "DAILY") result = analyser.process_klines(df) print(result.to_dict()) # JSON 兼容,直接进 Agent pipeline 事实是:Claude Code 、OpenClaw 、Hermes……任何能调 Python 的 Agent 都能直接吃这个数据。 你不需要懂 TCP 协议。你不需要写量化框架。你不需要给任何平台付一分钱。 还有什么? - 离线读取: 本地装了通达信?直接读 .day 文件,断网也能用 - 数据同步: 一行命令把全市场日线同步到本地 easy-tdx offline sync-all - 自动选服务器:from_best_host() 自动 ping 最快的通达信服务器 - 同步 + 异步:MacClient 和 AsyncMacClient 随你选 - MIT 协议: 随便用,随便改,随便分发 最后说两句 金融数据的获取门槛,从来不该是散户亏钱的理由。 当量化基金用程序化交易像割草一样收割市场时,普通人至少应该有权利拿一样的武器。 这不是一个帮你"赚钱"的工具。这是让你不再裸奔的工具。 如果觉得有用,来 GitHub 给个 ⭐ star 支持一下,让更多人看到: https://github.com/handsomejustin/easy-tdx MIT 全开源,代码干净,ruff + mypy strict ,PR welcome 。

v2ex · 2026-06-09 07:20:26+08:00 · tech

量化机构花百万买的毫秒级行情通道,散户连一根日线都得手动截图。 我不想抱怨这事,我直接造了个开源工具把墙拆了。 easy-tdx:免费、无注册、无 API Key 的行情数据源 GitHub: https://github.com/handsomejustin/easy-tdx 一行命令装上,30 秒后你屏幕上的数据和机构看到的是同一份。 pip install easy-tdx 它能干嘛? 拉数据:A 股、港股、美股、期货 —— K 线、实时报价、分时明细、逐笔成交、资金流向、板块轮动,毫秒级返回。 # 茅台日 K 线 easy-tdx kline SH 600519 --count 30 --table # 港股腾讯 easy-tdx ex kline HK_MAIN_BOARD 00700 --count 30 --table # 美股苹果 easy-tdx ex kline US_STOCK AAPL --table # 全 A 股按涨幅排序 easy-tdx quote-list A --count 20 --table 算指标:32 个技术指标开箱即用 —— MACD 、KDJ 、RSI 、BOLL 、DMI 、ATR 、WR 、CCI 、BIAS……连"捉妖大师"和"30 日乖离率信号"都给你算好了。 easy-tdx indicator MACD,KDJ,RSI,BOLL -m SH -c 600519 --count 20 --table 缠论分析:K 线合并→分型→笔→中枢→线段→买卖点→背驰,一键出结果。 easy-tdx chanlun SZ 000001 --table 为什么说它是 AI Agent 的天然弹药? 所有命令默认输出 JSON 。Python API 返回 DataFrame 。你的 Agent 不需要解析网页、不需要处理乱码、不需要折腾 API 鉴权。 from easy_tdx import MacClient, Market with MacClient.from_best_host() as c: # K 线 + 4 个指标一步到位 df = c.get_stock_kline_with_indicators( Market.SH , "600519", indicators=["MACD", "KDJ", "RSI", "BOLL"], count=30, ) # df 直接丢给 LLM 分析,或者喂给 Agent 做决策 # 缠论分析 from easy_tdx.chanlun import ChanlunAnalyser analyser = ChanlunAnalyser("SH600519", "DAILY") result = analyser.process_klines(df) print(result.to_dict()) # JSON 兼容,直接进 Agent pipeline 事实是:Claude Code 、OpenClaw 、Hermes……任何能调 Python 的 Agent 都能直接吃这个数据。 你不需要懂 TCP 协议。你不需要写量化框架。你不需要给任何平台付一分钱。 还有什么? - 离线读取: 本地装了通达信?直接读 .day 文件,断网也能用 - 数据同步: 一行命令把全市场日线同步到本地 easy-tdx offline sync-all - 自动选服务器:from_best_host() 自动 ping 最快的通达信服务器 - 同步 + 异步:MacClient 和 AsyncMacClient 随你选 - MIT 协议: 随便用,随便改,随便分发 最后说两句 金融数据的获取门槛,从来不该是散户亏钱的理由。 当量化基金用程序化交易像割草一样收割市场时,普通人至少应该有权利拿一样的武器。 这不是一个帮你"赚钱"的工具。这是让你不再裸奔的工具。 如果觉得有用,来 GitHub 给个 ⭐ star 支持一下,让更多人看到: https://github.com/handsomejustin/easy-tdx MIT 全开源,代码干净,ruff + mypy strict ,PR welcome 。

v2ex · 2026-06-09 06:58:57+08:00 · tech

量化机构花百万买的毫秒级行情通道,散户连一根日线都得手动截图。 我不想抱怨这事,我直接造了个开源工具把墙拆了。 easy-tdx:免费、无注册、无 API Key 的行情数据源 GitHub: https://github.com/handsomejustin/easy-tdx 一行命令装上,30 秒后你屏幕上的数据和机构看到的是同一份。 pip install easy-tdx 它能干嘛? 拉数据:A 股、港股、美股、期货 —— K 线、实时报价、分时明细、逐笔成交、资金流向、板块轮动,毫秒级返回。 # 茅台日 K 线 easy-tdx kline SH 600519 --count 30 --table # 港股腾讯 easy-tdx ex kline HK_MAIN_BOARD 00700 --count 30 --table # 美股苹果 easy-tdx ex kline US_STOCK AAPL --table # 全 A 股按涨幅排序 easy-tdx quote-list A --count 20 --table 算指标:32 个技术指标开箱即用 —— MACD 、KDJ 、RSI 、BOLL 、DMI 、ATR 、WR 、CCI 、BIAS……连"捉妖大师"和"30 日乖离率信号"都给你算好了。 easy-tdx indicator MACD,KDJ,RSI,BOLL -m SH -c 600519 --count 20 --table 缠论分析:K 线合并→分型→笔→中枢→线段→买卖点→背驰,一键出结果。 easy-tdx chanlun SZ 000001 --table 为什么说它是 AI Agent 的天然弹药? 所有命令默认输出 JSON 。Python API 返回 DataFrame 。你的 Agent 不需要解析网页、不需要处理乱码、不需要折腾 API 鉴权。 from easy_tdx import MacClient, Market with MacClient.from_best_host() as c: # K 线 + 4 个指标一步到位 df = c.get_stock_kline_with_indicators( Market.SH , "600519", indicators=["MACD", "KDJ", "RSI", "BOLL"], count=30, ) # df 直接丢给 LLM 分析,或者喂给 Agent 做决策 # 缠论分析 from easy_tdx.chanlun import ChanlunAnalyser analyser = ChanlunAnalyser("SH600519", "DAILY") result = analyser.process_klines(df) print(result.to_dict()) # JSON 兼容,直接进 Agent pipeline 事实是:Claude Code 、OpenClaw 、Hermes……任何能调 Python 的 Agent 都能直接吃这个数据。 你不需要懂 TCP 协议。你不需要写量化框架。你不需要给任何平台付一分钱。 还有什么? - 离线读取: 本地装了通达信?直接读 .day 文件,断网也能用 - 数据同步: 一行命令把全市场日线同步到本地 easy-tdx offline sync-all - 自动选服务器:from_best_host() 自动 ping 最快的通达信服务器 - 同步 + 异步:MacClient 和 AsyncMacClient 随你选 - MIT 协议: 随便用,随便改,随便分发 最后说两句 金融数据的获取门槛,从来不该是散户亏钱的理由。 当量化基金用程序化交易像割草一样收割市场时,普通人至少应该有权利拿一样的武器。 这不是一个帮你"赚钱"的工具。这是让你不再裸奔的工具。 如果觉得有用,来 GitHub 给个 ⭐ star 支持一下,让更多人看到: https://github.com/handsomejustin/easy-tdx MIT 全开源,代码干净,ruff + mypy strict ,PR welcome 。

v2ex · 2026-06-09 03:59:42+08:00 · tech

量化机构花百万买的毫秒级行情通道,散户连一根日线都得手动截图。 我不想抱怨这事,我直接造了个开源工具把墙拆了。 easy-tdx:免费、无注册、无 API Key 的行情数据源 GitHub: https://github.com/handsomejustin/easy-tdx 一行命令装上,30 秒后你屏幕上的数据和机构看到的是同一份。 pip install easy-tdx 它能干嘛? 拉数据:A 股、港股、美股、期货 —— K 线、实时报价、分时明细、逐笔成交、资金流向、板块轮动,毫秒级返回。 # 茅台日 K 线 easy-tdx kline SH 600519 --count 30 --table # 港股腾讯 easy-tdx ex kline HK_MAIN_BOARD 00700 --count 30 --table # 美股苹果 easy-tdx ex kline US_STOCK AAPL --table # 全 A 股按涨幅排序 easy-tdx quote-list A --count 20 --table 算指标:32 个技术指标开箱即用 —— MACD 、KDJ 、RSI 、BOLL 、DMI 、ATR 、WR 、CCI 、BIAS……连"捉妖大师"和"30 日乖离率信号"都给你算好了。 easy-tdx indicator MACD,KDJ,RSI,BOLL -m SH -c 600519 --count 20 --table 缠论分析:K 线合并→分型→笔→中枢→线段→买卖点→背驰,一键出结果。 easy-tdx chanlun SZ 000001 --table 为什么说它是 AI Agent 的天然弹药? 所有命令默认输出 JSON 。Python API 返回 DataFrame 。你的 Agent 不需要解析网页、不需要处理乱码、不需要折腾 API 鉴权。 from easy_tdx import MacClient, Market with MacClient.from_best_host() as c: # K 线 + 4 个指标一步到位 df = c.get_stock_kline_with_indicators( Market.SH , "600519", indicators=["MACD", "KDJ", "RSI", "BOLL"], count=30, ) # df 直接丢给 LLM 分析,或者喂给 Agent 做决策 # 缠论分析 from easy_tdx.chanlun import ChanlunAnalyser analyser = ChanlunAnalyser("SH600519", "DAILY") result = analyser.process_klines(df) print(result.to_dict()) # JSON 兼容,直接进 Agent pipeline 事实是:Claude Code 、OpenClaw 、Hermes……任何能调 Python 的 Agent 都能直接吃这个数据。 你不需要懂 TCP 协议。你不需要写量化框架。你不需要给任何平台付一分钱。 还有什么? - 离线读取: 本地装了通达信?直接读 .day 文件,断网也能用 - 数据同步: 一行命令把全市场日线同步到本地 easy-tdx offline sync-all - 自动选服务器:from_best_host() 自动 ping 最快的通达信服务器 - 同步 + 异步:MacClient 和 AsyncMacClient 随你选 - MIT 协议: 随便用,随便改,随便分发 最后说两句 金融数据的获取门槛,从来不该是散户亏钱的理由。 当量化基金用程序化交易像割草一样收割市场时,普通人至少应该有权利拿一样的武器。 这不是一个帮你"赚钱"的工具。这是让你不再裸奔的工具。 如果觉得有用,来 GitHub 给个 ⭐ star 支持一下,让更多人看到: https://github.com/handsomejustin/easy-tdx MIT 全开源,代码干净,ruff + mypy strict ,PR welcome 。

V2EX - 技术 · 2026-06-03 19:26:44+08:00 · tech

https://github.com/pipipi-pikachu/PPTist/issues/434 https://github.com/pipipi-pikachu/PPTist/issues/436 https://github.com/pipipi-pikachu/PPTist/issues/433 https://github.com/pipipi-pikachu/PPTist/issues/431 https://github.com/pipipi-pikachu/PPTist/issues/441 拉倒最底下看 简单来说就是,短时间内,一大波账号跑到我仓库 issues 里面留言说 star 是刷的等等(留言内容不知道哪里复制来的),例如下面这种: 朋友跟我说发现了一个不错的开源方案让我看看,一开始还挺有兴趣。然后我点开了 Stargazer 列表—— 你们这么搞,对得起那些真心点星的人吗? 简单看了一下数据:抽样 53 个账号中 64 个无公开仓库。这些账号的共同特征是:用户名像是随机字符串,个人主页空空如也。 造假就是造假,不管理由多么冠冕堂皇。 我的要求很简单: 把钱省下来请人帮忙写测试 坦诚面对问题 用实际行动证明项目的价值 希望下次看到这个项目出现在 Trending 上的时候,是因为真正的实力。 然后我在 Github 搜索了一下“然后我点开了 Stargazer 列表”( Filter by issues ),发现从 4 月开始就有很多刷这种评论的 我很好奇,这是种什么群体.....目的是啥?准备敲诈勒索(类似电话轰炸)? 有人遇到过类似的吗? 我打算 Github 工单反馈一下,不知道有用没....

V2EX - 技术 · 2026-06-03 19:26:44+08:00 · tech

https://github.com/pipipi-pikachu/PPTist/issues/434 https://github.com/pipipi-pikachu/PPTist/issues/436 https://github.com/pipipi-pikachu/PPTist/issues/433 https://github.com/pipipi-pikachu/PPTist/issues/431 https://github.com/pipipi-pikachu/PPTist/issues/441 拉倒最底下看 简单来说就是,短时间内,一大波账号跑到我仓库 issues 里面留言说 star 是刷的等等(留言内容不知道哪里复制来的),例如下面这种: 朋友跟我说发现了一个不错的开源方案让我看看,一开始还挺有兴趣。然后我点开了 Stargazer 列表—— 你们这么搞,对得起那些真心点星的人吗? 简单看了一下数据:抽样 53 个账号中 64 个无公开仓库。这些账号的共同特征是:用户名像是随机字符串,个人主页空空如也。 造假就是造假,不管理由多么冠冕堂皇。 我的要求很简单: 把钱省下来请人帮忙写测试 坦诚面对问题 用实际行动证明项目的价值 希望下次看到这个项目出现在 Trending 上的时候,是因为真正的实力。 然后我在 Github 搜索了一下“然后我点开了 Stargazer 列表”( Filter by issues ),发现从 4 月开始就有很多刷这种评论的 我很好奇,这是种什么群体.....目的是啥?准备敲诈勒索(类似电话轰炸)? 有人遇到过类似的吗? 我打算 Github 工单反馈一下,不知道有用没....

V2EX - 技术 · 2026-06-03 19:15:32+08:00 · tech

https://github.com/pipipi-pikachu/PPTist/issues/434 https://github.com/pipipi-pikachu/PPTist/issues/436 https://github.com/pipipi-pikachu/PPTist/issues/433 https://github.com/pipipi-pikachu/PPTist/issues/431 https://github.com/pipipi-pikachu/PPTist/issues/441 拉倒最底下看 简单来说就是,短时间内,一大波账号跑到我仓库 issues 里面留言说 star 是刷的等等(留言内容不知道哪里复制来的),例如下面这种: 朋友跟我说发现了一个不错的开源方案让我看看,一开始还挺有兴趣。然后我点开了 Stargazer 列表—— 你们这么搞,对得起那些真心点星的人吗? 简单看了一下数据:抽样 53 个账号中 64 个无公开仓库。这些账号的共同特征是:用户名像是随机字符串,个人主页空空如也。 造假就是造假,不管理由多么冠冕堂皇。 我的要求很简单: 把钱省下来请人帮忙写测试 坦诚面对问题 用实际行动证明项目的价值 希望下次看到这个项目出现在 Trending 上的时候,是因为真正的实力。 然后我在 Github 搜索了一下“然后我点开了 Stargazer 列表”( Filter by issues ),发现从 4 月开始就有很多刷这种评论的 我很好奇,这是种什么群体.....目的是啥?准备敲诈勒索(类似电话轰炸)? 有人遇到过类似的吗? 我打算 Github 工单反馈一下,不知道有用没....

LinuxDo 最新话题 · 2026-06-02 14:19:19+08:00 · tech

很多时候想看的视频没有字幕:直播回放、没人翻译的网课、国外新闻直播、番剧。之前只能靠听。 DualPiP 最近 v1.7 更新加了 ASR(自动语音识别)实时字幕功能。 原理 通过浏览器的音频捕获 API 获取视频音频流,发送到 Deepgram 云端通过 WebSocket 实时转写。也支持本地部署的 Whisper 服务器。预加载模式无延迟,实时字幕延迟大约 300ms。 Deepgram 为新注册用户提供 $200 免费额度 ,注册全程无需绑定任何支付方式。按 nova-3 模型 $0.007/分钟计算,$200 额度足够转录约 476 小时音频 ——相当于看 238 部 2 小时电影 适用场景 直播没字幕 :YouTube/Twitch 直播大多没有实时字幕,DualPiP 可以实时生成 网课录像 :大学网课很多没有字幕,开了 ASR 就有了 看生肉番 :为没有字幕的番剧,自动生成字幕, 学外语 :ASR 生成的字幕可以直接走 AI 翻译生成双语字幕,看英语直播时显示英文+中文字幕 ASR 实时流和预下载批量模式有什么区别? DualPiP ASR 提供两种音频捕获和识别模式,适应不同的观看场景: 实时流模式(WebSocket Streaming) 音频通过 WebSocket 实时发送到 Deepgram 服务器,字幕延迟低于 300ms,几乎和说话同步。Deepgram 的 Interim Results 功能还会在最终结果出来前提供临时识别结果,让字幕出现得更快。适合直播、视频会议、实时内容等需要即时反馈的场景。 预下载批量模式(Pre-download + HTTP Batch) DualPiP 先将视频音频预下载并按时间段分割,然后通过 HTTP 请求批量发送到 ASR 服务进行离线识别。适合已发布的视频内容——可以在观看前提前生成完整字幕,播放时完全无延迟。预下载模式同时支持 Deepgram 云端和本地 Whisper 后端。 对比 实时流模式 预下载批量模式 延迟 < 300ms 预下载完成后零延迟 适合场景 直播、实时内容、会议 已发布的视频、需要完整字幕 支持后端 Deepgram(WebSocket) Deepgram + 本地 Whisper 字幕完整性 实时生成,偶有遗漏 完整覆盖全部音频内容 如何用 ASR 字幕配合 AI 翻译生成实时双语字幕? DualPiP 的 ASR 和AI 翻译可以配合使用,为任何语言的在线视频实时生成双语字幕。这解决了一个传统字幕无法覆盖的场景: 视频没有原生字幕,但你需要看双语字幕学外语 。 ASR + AI 翻译的工作流程 ASR 实时识别原文 :Deepgram 将视频音频转录为原语言文字字幕 AI 大模型实时翻译 :DualPiP 的 AI 翻译引擎将 ASR 生成的字幕翻译为目标语言 双语字幕同时显示 :原文和译文以双语字幕的形式叠加在视频上方 为什么 ASR 字幕翻译强烈推荐使用 AI 大模型? ASR 生成的字幕与传统字幕文件不同——ASR 字幕是实时识别的语音转录,可能存在断句不完整、口语化表达多、专有名词无上下文等问题。 AI 大模型翻译(DeepSeek、GPT、Claude 等)在翻译 ASR 字幕时显著优于传统机翻(Google、Microsoft) ,原因在于: 对比维度 传统机翻(Google/Microsoft) AI 大模型翻译(DeepSeek/GPT/Claude) 上下文理解 逐句翻译,无前后文信息 DualPiP 发送最近 N 条字幕作为上下文历史 口语化处理 直译口语,生硬不通顺 理解口语语境,翻译自然流畅 断句补全 ASR 断句不完整时翻译错乱 能结合上下文补全语义,正确翻译 专有名词 频繁翻错人名、术语 结合 DualPiP 的影片信息增强识别 语气还原 机械直译 保留说话者语气和表达风格 DualPiP 的 AI 翻译引擎使用 滑动窗口上下文 机制:每次翻译 ASR 字幕时,会将前面已翻译的字幕作为对话历史一起发送给 AI,让翻译结果前后一致、上下文连贯。这在 ASR 场景下尤其重要——因为语音识别的断句和传统字幕不同,AI 需要结合前文才能正确理解当前句子的含义。 适合的使用场景 场景 说明 看无字幕外语视频学语言 ASR 识别原文 + AI 翻译为母语,双语对照学习 看直播或实时内容 直播没有预制字幕,ASR 实时生成 + AI 实时翻译 学术讲座和在线课程 部分课程无字幕或仅有英文字幕,ASR + AI 生成中文翻译 播客和访谈节目 纯音频内容通过 ASR 可视化为文字,再翻译为目标语言 DualPiP 支持30+ AI 翻译服务商,用户可以根据翻译质量和费用自由选择。推荐使用 DeepSeek V4 Flash (性价比高,翻译一部电影约 ¥0.2-0.5)。 哪些视频网站可以用 DualPiP ASR 自动生成字幕? DualPiP ASR 基于浏览器的 Audio Capture API 捕获音频, 理论上可以为任何在 Chrome 中播放的视频自动生成字幕 。 对于没有原生字幕的视频(如很多直播内容、小众平台视频、用户上传的无字幕视频),ASR 是获取字幕的唯一途径。 常见问题 Q:ASR 实时语音识别的准确率怎么样? Deepgram nova-3 模型在英语上的词错误率(WER)低于 8%,是 2026 年最准确的实时语音识别模型之一。中文、日语等语言的识别准确率同样出色。识别效果受音频质量、说话人口音和背景噪音影响,纯语音内容的识别效果最佳。 Q:ASR 是 DualPiP 的免费功能还是 PRO 功能? DualPiP 基础功能免费,AI 翻译和 ASR 需要登录后开通 PRO后使用。 ASR 实时字幕是 PRO 功能。DualPiP 的 YouTube 网页内双语字幕和基础画中画播放器免费使用,ASR、 AI 翻译等高级功能需要 购买PRO。首次注册免费开通 7 天 PRO Q:能识别视频中的多种语言混合吗? Deepgram 的 Multilingual 模式支持在同一段音频中自动检测和切换语言,适合多语言混合的访谈、播客和教学内容。本地 Whisper 后端也支持语言自动检测,但切换精度低于 Deepgram。 下载 Chrome Web Store: https://chromewebstore.google.com/detail/dualpip/ddkmobcljbfggkmibabekgpbighaogpn 1 个帖子 - 1 位参与者 阅读完整话题

v2ex · 2026-06-02 14:13:34+08:00 · tech

很多时候想看的视频没有字幕:直播回放、没人翻译的网课、国外新闻直播、番剧。之前只能靠听。 DualPiP 最近 v1.7 更新加了 ASR (自动语音识别)实时字幕功能。 原理 通过浏览器的音频捕获 API 获取视频音频流,发送到 Deepgram 云端通过 WebSocket 实时转写。也支持本地部署的 Whisper 服务器。预加载模式无延迟,实时字幕延迟大约 300ms 。 Deepgram 为新注册用户提供 **$200 免费额度**,注册全程无需绑定任何支付方式。按 nova-3 模型 $0.007/分钟计算,$200 额度足够转录约 476 小时音频 ——相当于看 238 部 2 小时电影 适用场景 直播没字幕 :YouTube/Twitch 直播大多没有实时字幕,DualPiP 可以实时生成 网课录像 :大学网课很多没有字幕,开了 ASR 就有了 看生肉番 :为没有字幕的番剧,自动生成字幕, 学外语 :ASR 生成的字幕可以直接走 AI 翻译生成双语字幕,看英语直播时显示英文+中文字幕 ASR 实时流和预下载批量模式有什么区别? DualPiP ASR 提供两种音频捕获和识别模式,适应不同的观看场景: 实时流模式( WebSocket Streaming ) 音频通过 WebSocket 实时发送到 Deepgram 服务器,字幕延迟低于 300ms ,几乎和说话同步。Deepgram 的 Interim Results 功能还会在最终结果出来前提供临时识别结果,让字幕出现得更快。适合直播、视频会议、实时内容等需要即时反馈的场景。 预下载批量模式( Pre-download + HTTP Batch ) DualPiP 先将视频音频预下载并按时间段分割,然后通过 HTTP 请求批量发送到 ASR 服务进行离线识别。适合已发布的视频内容——可以在观看前提前生成完整字幕,播放时完全无延迟。预下载模式同时支持 Deepgram 云端和本地 Whisper 后端。 对比 实时流模式 预下载批量模式 延迟 < 300ms 预下载完成后零延迟 适合场景 直播、实时内容、会议 已发布的视频、需要完整字幕 支持后端 Deepgram ( WebSocket ) Deepgram + 本地 Whisper 字幕完整性 实时生成,偶有遗漏 完整覆盖全部音频内容 如何用 ASR 字幕配合 AI 翻译生成实时双语字幕? DualPiP 的 ASR 和 AI 翻译可以配合使用,为任何语言的在线视频实时生成双语字幕。这解决了一个传统字幕无法覆盖的场景: 视频没有原生字幕,但你需要看双语字幕学外语 。 ASR + AI 翻译的工作流程 ASR 实时识别原文 :Deepgram 将视频音频转录为原语言文字字幕 AI 大模型实时翻译 :DualPiP 的 AI 翻译引擎将 ASR 生成的字幕翻译为目标语言 双语字幕同时显示 :原文和译文以双语字幕的形式叠加在视频上方 为什么 ASR 字幕翻译强烈推荐使用 AI 大模型? ASR 生成的字幕与传统字幕文件不同——ASR 字幕是实时识别的语音转录,可能存在断句不完整、口语化表达多、专有名词无上下文等问题。 AI 大模型翻译( DeepSeek 、GPT 、Claude 等)在翻译 ASR 字幕时显著优于传统机翻( Google 、Microsoft ) ,原因在于: 对比维度 传统机翻( Google/Microsoft ) AI 大模型翻译( DeepSeek/GPT/Claude ) 上下文理解 逐句翻译,无前后文信息 DualPiP 发送最近 N 条字幕作为上下文历史 口语化处理 直译口语,生硬不通顺 理解口语语境,翻译自然流畅 断句补全 ASR 断句不完整时翻译错乱 能结合上下文补全语义,正确翻译 专有名词 频繁翻错人名、术语 结合 DualPiP 的影片信息增强识别 语气还原 机械直译 保留说话者语气和表达风格 DualPiP 的 AI 翻译引擎使用 滑动窗口上下文 机制:每次翻译 ASR 字幕时,会将前面已翻译的字幕作为对话历史一起发送给 AI ,让翻译结果前后一致、上下文连贯。这在 ASR 场景下尤其重要——因为语音识别的断句和传统字幕不同,AI 需要结合前文才能正确理解当前句子的含义。 适合的使用场景 场景 说明 看无字幕外语视频学语言 ASR 识别原文 + AI 翻译为母语,双语对照学习 看直播或实时内容 直播没有预制字幕,ASR 实时生成 + AI 实时翻译 学术讲座和在线课程 部分课程无字幕或仅有英文字幕,ASR + AI 生成中文翻译 播客和访谈节目 纯音频内容通过 ASR 可视化为文字,再翻译为目标语言 DualPiP 支持 30+ AI 翻译服务商,用户可以根据翻译质量和费用自由选择。推荐使用 DeepSeek V4 Flash (性价比高,翻译一部电影约 ¥0.2-0.5 )。 哪些视频网站可以用 DualPiP ASR 自动生成字幕? DualPiP ASR 基于浏览器的 Audio Capture API 捕获音频, 理论上可以为任何在 Chrome 中播放的视频自动生成字幕 。 对于没有原生字幕的视频(如很多直播内容、小众平台视频、用户上传的无字幕视频),ASR 是获取字幕的唯一途径。 常见问题 Q:ASR 实时语音识别的准确率怎么样? Deepgram nova-3 模型在英语上的词错误率( WER )低于 8%,是 2026 年最准确的实时语音识别模型之一。中文、日语等语言的识别准确率同样出色。识别效果受音频质量、说话人口音和背景噪音影响,纯语音内容的识别效果最佳。 Q:ASR 是 DualPiP 的免费功能还是 PRO 功能? DualPiP 基础功能免费,AI 翻译和 ASR 需要登录后开通 PRO 后使用。 ASR 实时字幕是 PRO 功能。DualPiP 的 YouTube 网页内双语字幕和基础画中画播放器免费使用,ASR 、AI 翻译等高级功能需要 购买 PRO 。首次注册免费开通 7 天 PRO Q:能识别视频中的多种语言混合吗? Deepgram 的 Multilingual 模式支持在同一段音频中自动检测和切换语言,适合多语言混合的访谈、播客和教学内容。本地 Whisper 后端也支持语言自动检测,但切换精度低于 Deepgram 。 下载 Chrome Web Store: https://chromewebstore.google.com/detail/dualpip/ddkmobcljbfggkmibabekgpbighaogpn

v2ex · 2026-05-24 19:26:44+08:00 · tech

https://github.com/pipipi-pikachu/PPTist/issues/434 https://github.com/pipipi-pikachu/PPTist/issues/436 https://github.com/pipipi-pikachu/PPTist/issues/433 https://github.com/pipipi-pikachu/PPTist/issues/431 https://github.com/pipipi-pikachu/PPTist/issues/441 拉倒最底下看 简单来说就是,短时间内,一大波账号跑到我仓库 issues 里面留言说 star 是刷的等等(留言内容不知道哪里复制来的),例如下面这种: 朋友跟我说发现了一个不错的开源方案让我看看,一开始还挺有兴趣。然后我点开了 Stargazer 列表—— 你们这么搞,对得起那些真心点星的人吗? 简单看了一下数据:抽样 53 个账号中 64 个无公开仓库。这些账号的共同特征是:用户名像是随机字符串,个人主页空空如也。 造假就是造假,不管理由多么冠冕堂皇。 我的要求很简单: 把钱省下来请人帮忙写测试 坦诚面对问题 用实际行动证明项目的价值 希望下次看到这个项目出现在 Trending 上的时候,是因为真正的实力。 然后我在 Github 搜索了一下“然后我点开了 Stargazer 列表”( Filter by issues ),发现从 4 月开始就有很多刷这种评论的 我很好奇,这是种什么群体.....目的是啥?准备敲诈勒索(类似电话轰炸)? 有人遇到过类似的吗? 我打算 Github 工单反馈一下,不知道有用没....

v2ex · 2026-05-22 20:34:30+08:00 · tech

4 步 Standard Pipeline Step 1 — DeepSeek 把英文重写成中文,同时进行 LLM humanization rewrite ( temperature 1.3 ) Step 2 — DeepSeek 把中文改写成日语,带着 Step 1 作为对话历史(保持上下文连贯) Step 3 — Google Translate 把日语翻译成芬兰语(远距离语言,彻底打乱结构) Step 4 — Niutrans 把芬兰语翻译回英语(跨引擎,最后重建) 为什么这个链有效? Steps 1-2:用 DeepSeek 高温度重写,打破 AI 统计指纹 Step 3:芬兰语和英语/日语距离最远,强迫彻底重组 Step 4:跨引擎翻译,没有单一引擎的指纹残留 https://github.com/lynote-ai/humanize-text

LinuxDo 最新话题 · 2026-05-20 14:48:14+08:00 · tech

如题,从垃圾堆捡到的一个纸条,上面写着: NVIDIA / SIMULATION #!/usr/bin/env bash set -Eeuo pipefail IFS=$'\n\t' PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin API_BASE_URL="https://api.dsx-air.nvidia.com/api/v3" SIMULATION_ID="${SIMULATION_ID:-820b1c6a-aaaa-bbbb-cccc-879e4511dddd}" HOURS_FROM_NOW="${HOURS_FROM_NOW:-70}" : "${NVIDIA_API_KEY:?NVIDIA_API_KEY is required}" log() { printf '[%s] %s\n' "$(date '+%Y-%m-%d %H:%M:%S')" "$*" } require_command() { command -v "$1" >/dev/null 2>&1 || { log "ERROR: Required command not found: $1" exit 1 } } extract_sleep_at() { local body_file="$1" if command -v jq >/dev/null 2>&1; then jq -r '.sleep_at // empty' "$body_file" 2>/dev/null || true else sed -n 's/.*"sleep_at"[[:space:]]*:[[:space:]]*"\([^"]*\)".*/\1/p' "$body_file" | head -n 1 fi } require_command curl require_command date SLEEP_AT_UTC="$(date -u -d "+${HOURS_FROM_NOW} hours" '+%Y-%m-%dT%H:%M:%SZ')" PAYLOAD="$(printf '{"sleep_at":"%s"}' "$SLEEP_AT_UTC")" BODY_FILE="$(mktemp)" trap 'rm -f "$BODY_FILE"' EXIT log "Task started" log "Target sleep_at UTC: ${SLEEP_AT_UTC}" if ! HTTP_CODE="$( curl "${API_BASE_URL}/simulations/${SIMULATION_ID}/" \ --silent \ --show-error \ --location \ --connect-timeout 10 \ --max-time 30 \ --retry 2 \ --retry-delay 2 \ --output "$BODY_FILE" \ --write-out '%{http_code}' \ --request PATCH \ --header 'accept: application/json, text/plain, */*' \ --header "authorization: Bearer ${NVIDIA_API_KEY}" \ --header 'content-type: application/json' \ --data-raw "$PAYLOAD" )"; then log "ERROR: curl request failed" log "Response body:" cat "$BODY_FILE" exit 1 fi if [[ "$HTTP_CODE" =~ ^2[0-9]{2}$ ]]; then RETURNED_SLEEP_AT="$(extract_sleep_at "$BODY_FILE")" if [[ -n "$RETURNED_SLEEP_AT" ]]; then LOCAL_TIME="$(date -d "$RETURNED_SLEEP_AT" '+%Y-%m-%d %H:%M:%S %Z')" log "SUCCESS: sleep_at updated to ${LOCAL_TIME}" else log "SUCCESS: Request completed, but sleep_at was not found in response" log "Response body:" cat "$BODY_FILE" fi else log "ERROR: Request failed with HTTP status code: ${HTTP_CODE}" log "Response body:" cat "$BODY_FILE" exit 1 fi log "Task finished" 使用方法 export NVIDIA_API_KEY="nvapi_xxxxxxxxxxxxxxxxxxxxx" export SIMULATION_ID="820b1c6a-aaaa-bbbb-cccc-879e4511dddd" bash update_sleep_time.sh 1 个帖子 - 1 位参与者 阅读完整话题