Skip to main content

ChatECNU

ChatECNU 是 ECNU 门户与校园网联网工具包。安装包名仍是 ChatECNU,日常命令主推 ecnu。 chatecnu 安装命令作为兼容别名保留;两个入口共享同一 Click 对象,命令树固定以规范名 ecnu 为根。

文档入口

任务 链接
安装和最小验证 https://arch.gh.wzhecnu.cn/ChatECNU/quickstart/
命令树 https://arch.gh.wzhecnu.cn/ChatECNU/cli-tree/
ChatEnv 变量 https://arch.gh.wzhecnu.cn/ChatECNU/chatenv/
ECNU 使用 https://arch.gh.wzhecnu.cn/ChatECNU/ecnu/

安装

pip install ChatECNU

如需验证码识别能力:

pip install "ChatECNU[captcha]"

显式准备校园网工具

pip install 不会改用户文件。默认 Python 后端无需安装 auth_client;下面的显式离线安装器只准备 Linux x86_64 binary 兼容后端:

ecnu net install --dry-run --json
ecnu net install --json
# 只更新指定 ChatEnv profile,不激活它:
ecnu -e campus net install --json
# 新配置可定制认证端点;不要传账号、密码或 token:
ecnu net install --host login.ecnu.edu.cn --ac-id 1 --campus-url "" --campus-postfix ""

实体默认在 $CHATARCH_HOME/chatecnu/(未设置时 ~/.chatarch/chatecnu/):bin/auth_client、config/auth-setting.toml;兼容入口为 ~/.local/bin/auth_client、~/.auth-setting 薄链接。既有可用 legacy 文件会原样保留并被选用,不迁移、不覆盖;重复安装不重写。端点选项只影响新生成的设置;修改既有设置须显式 --force。替换前原文件/链接备份到 chatecnu/backups/<id>/,未知链接目标不修改;目录冲突始终失败。

--dry-run 连目录和 ChatEnv profile 都不创建;--json 回读路径、来源与动作,不输出 profile 值。只通过 EnvStore 更新 ECNU_AUTH_CLIENT / ECNU_AUTH_SETTING_FILE,保留凭据和其他值。安装器不登录、不重启、不安装 daemon、无下载;Mac、Windows、Linux ARM 在写入前失败(包括 dry-run)。

命令结构

ChatECNU 的命令面可用 ecnu --tree 从当前 Click 注册表直接回读,默认包含参数签名;ecnu --tree-brief 保留命令节点和说明,但省略参数签名:

ecnu
├── --help  # Show this message and exit.
├── --version  # Show the version and exit.
├── --tree  # Print the registered CLI tree and exit.
├── --tree-brief  # Print the registered CLI tree without parameter signatures and exit.
├── --env ENV-PROFILE  # ChatEnv 配置名。
├── home  # ECNU 门户。
│   ├── info [--json]  # 门户首页摘要。
│   ├── login [--username USERNAME] [--password PASSWORD] [--sms-code SMS-CODE] [--json] [--interactive]  # 登录门户。
│   ├── logout [--json]  # 退出门户会话。
│   ├── status [--json]  # 门户会话状态。
│   └── user [--json]  # 门户用户信息。
├── net  # 校园网联网。
│   ├── check [--auth-client AUTH-CLIENT-PATH] [--setting-file SETTING-FILE] [--json]  # 检查在线状态。
│   ├── ensure-login [--auth-client AUTH-CLIENT-PATH] [--setting-file SETTING-FILE] [--username USERNAME] [--password PASSWORD] [--allow-argv-password] [--json] [--interactive]  # 离线时登录。
│   ├── install [--host HOST] [--ac-id AC-ID] [--campus-url CAMPUS-URL] [--campus-postfix CAMPUS-POSTFIX] [--force] [--dry-run] [--json]  # 离线准备联网工具与设置,不登录。
│   ├── login [--auth-client AUTH-CLIENT-PATH] [--setting-file SETTING-FILE] [--username USERNAME] [--password PASSWORD] [--allow-argv-password] [--json] [--interactive]  # 登录。
│   └── logout [--auth-client AUTH-CLIENT-PATH] [--setting-file SETTING-FILE] [--username USERNAME] [--json] [--interactive]  # 退出校园网。
└── visitor  # 访客账号。
    ├── create [--remark REMARK] [--dry-run] [--json] [--interactive]  # 创建访客账号。
    ├── default [--password1 PASSWORD1] [--password2 PASSWORD2] [--remark REMARK] [--json] [--interactive]  # 维护默认访客账号。
    ├── delete [--id VISITOR-ID] [--dry-run] [--json] [--interactive]  # 删除访客账号。
    ├── get [--id VISITOR-ID] [--account ACCOUNT] [--json]  # 查询访客账号。
    ├── list [--json]  # 列出访客账号。
    └── update [--id VISITOR-ID] [--remark REMARK] [--password PASSWORD] [--dry-run] [--json] [--interactive]  # 更新访客备注和密码。

门户命令统一放在 home 下:

ecnu home login -i
ecnu home info
ecnu home status
ecnu home user
ecnu home logout

门户会话默认写入 ChatEnv runtime token-store:~/.chatarch/tokens/ECNU/<profile>.json;ecnu home status --json 只回读安全摘要,不输出原始 Cookie/CSRF。chatenv token refresh ECNU <profile> 可从同名 stable env profile 发起非交互 OCR 自动登录并由 ChatEnv 写入 runtime token-store;遇到短信验证码或验证码候选失败时会安全失败。

校园网联网统一放在 net 下:

ecnu net check --json
ecnu net login -I
ecnu net logout -I
ecnu net ensure-login -I

默认 ECNU_NETWORK_BACKEND=python:直接执行 SRun HTTP 协议,不运行 auth_client,不通过外部进程 argv 传密码。复用 ChatEnv 的 ECNU_USERNAME / ECNU_PASSWORD 及原生 ECNU_NETWORK_BASE_URL / ECNU_NETWORK_AC_ID;Python 仅在显式 --setting-file 时导入旧格式;登录/退出后重新检查实际在线状态,JSON 返回 backend=python。只有显式选择 ECNU_NETWORK_BACKEND=binary 才使用旧二进制,且登录仍需 --allow-argv-password;--auth-client / ECNU_AUTH_CLIENT 也仅作用于 binary。默认 Python 路径不需要 net install。

敏感值(密码、Cookie、短信码、会话)不要打印或提交。

Metadata

Release files for ChatECNU 0.2.9

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for ChatECNU 0.2.9
File Size Uploaded
chatecnu-0.2.9.tar.gz 5.3 MB Details

Built distribution (wheel)

Table of built distributions (wheels) for ChatECNU 0.2.9
File Interpreter ABI Platform
chatecnu-0.2.9-py3-none-any.whl Python 3 none any Details

Total release size: 10.6 MB

Release files / chatecnu-0.2.9.tar.gz

Download URL chatecnu-0.2.9.tar.gz
Size 5.3 MB
Tags Source
SHA-256 checksum
How to use checksums
66ad4158da02cf350753e7c699ec2f7f9664ec2d03874c226188f843ab5cc993
BLAKE2b-256 checksum
How to use checksums
bc3d9b84f1d6e634083ded5071bfe0706f01eb2c85cc97488617eb2eb8957719
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 14, 2026.

Transparency log

Release files / chatecnu-0.2.9-py3-none-any.whl

Download URL chatecnu-0.2.9-py3-none-any.whl
Size 5.3 MB
Tags Python 3
SHA-256 checksum
How to use checksums
db1f9d224b2ee3fd9f1c6f5746023feb89966004b44ff935babc49e08e63ea01
BLAKE2b-256 checksum
How to use checksums
f9e027acd4665d29de07747b3e05dc33d82e8bd67cc2eba4a259e90123dff0fc
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 14, 2026.

Transparency log

Release history Release notifications | RSS feed

This release

0.2.9 This release

2 release files

0.2.8

2 release files

0.2.7

2 release files

0.2.6

2 release files

0.2.5

2 release files

0.2.4

2 release files

0.2.3

2 release files

0.2.2

2 release files

0.2.1

2 release files

0.2.0

2 release files

0.1.1

2 release files

0.1.0

2 release files

0.0.1

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page