Interface Tree
Package Structure
chatecnu
├── cli.main # Click entrypoint; installs ecnu and the chatecnu compatibility alias
├── config.ECNUConfig # ChatEnv ecnu type
├── ecnu.session_tokens # ChatEnv token-store adapter for ECNU portal sessions
├── network_auth # Campus-network auth_client wrapper
└── ecnu.portal # ECNU portal client
Command to Python Mapping
| Python API | Command mapping |
|---|---|
chatstyle.add_tree_option() |
ecnu --tree / ecnu --tree-brief |
PortalClient.login_init() |
ecnu home login-init (hidden) |
PortalClient.login() / login_auto() |
ecnu home login |
PortalClient.logout() |
ecnu home logout |
PortalClient.home_summary() |
ecnu home info |
PortalClient.user_info() |
ecnu home user |
PortalClient.auth_logs() / detail_logs() |
ecnu debug ... (hidden) |
NetworkAuthClient.check() |
ecnu net check |
NetworkAuthClient.login() |
ecnu net login |
NetworkAuthClient.logout() |
ecnu net logout |
NetworkAuthClient.ensure_login() |
ecnu net ensure-login |
PortalClient.list_visitors() |
ecnu visitor list |
PortalClient.get_visitor() |
ecnu visitor get |
PortalClient.create_visitor() |
ecnu visitor create |
PortalClient.update_visitor() |
ecnu visitor update |
PortalClient.delete_visitor() |
ecnu visitor delete |
ChatEnv Interface
See ChatEnv Variables for the full schema. Stable sensitive fields are managed by ChatEnv profiles; portal cookie/CSRF session state is managed by ChatEnv's token store, and command output shows only safe metadata.