Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .github/ISSUE_TEMPLATE/bug_report.yml
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ body:
id: version
attributes:
label: ipcheck version
placeholder: ipcheck 0.5.0
placeholder: ipcheck 0.6.0
validations:
required: true
- type: dropdown
Expand Down
10 changes: 10 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,15 @@
All notable changes to ipcheck are documented here. The project follows
[Semantic Versioning](https://semver.org/).

## [0.6.0] - 2026-07-22

### Added

- A visible `Ctrl+C` cancellation hint and graceful interrupt handling with
localized feedback, temporary-file cleanup, and exit status 130.
- A transparent 0–100 developer-readiness score in human, Markdown, and JSON
reports. The score is explicitly rule-based rather than a user percentile.

## [0.5.0] - 2026-07-22

### Added
Expand Down Expand Up @@ -71,6 +80,7 @@ All notable changes to ipcheck are documented here. The project follows
- Homebrew and direct-download packaging.
- Median/P95 TTFB, jitter, reference bandwidth, and macOS `networkQuality`.

[0.6.0]: https://github.com/jacklv-coder/ipcheck/compare/v0.5.0...v0.6.0
[0.5.0]: https://github.com/jacklv-coder/ipcheck/compare/v0.4.0...v0.5.0
[0.4.0]: https://github.com/jacklv-coder/ipcheck/compare/v0.3.0...v0.4.0
[0.3.0]: https://github.com/jacklv-coder/ipcheck/compare/v0.2.0...v0.3.0
Expand Down
25 changes: 19 additions & 6 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -13,15 +13,17 @@ Know whether your AI coding CLI is slow, blocked, or using the wrong gateway.
non-secret routing configuration, then reports reachability, median/P95
time-to-first-byte (TTFB), jitter, reference bandwidth, and a clear
`GOOD`, `FAIR`, `POOR`, or `BLOCKED` result. Interactive runs show live,
color-coded progress and finish with a direct answer to “Ready to code?”.
color-coded progress, can be cancelled cleanly with `Ctrl+C`, and finish with
a direct answer plus a rule-based readiness score.

```text
$ ipcheck --quick
ipcheck v0.5.0 — AI coding network diagnostics
$ ipcheck
ipcheck v0.6.0 — AI coding network diagnostics

Developer verdict
Ready to code? YES, WITH CAUTION
Development is possible, but responses may feel slower than ideal.
Ready to code? YES
Readiness score: 95/100 · COMFORTABLE
This network is ready for AI-assisted development.

Detected clients
Codex model=gpt-5.6-sol, route=https://chatgpt.com + https://api.openai.com
Expand Down Expand Up @@ -72,7 +74,7 @@ brew install ipcheck

```bash
mkdir -p "$HOME/.local/bin"
curl -fsSL https://raw.githubusercontent.com/jacklv-coder/ipcheck/v0.5.0/bin/ipcheck \
curl -fsSL https://raw.githubusercontent.com/jacklv-coder/ipcheck/v0.6.0/bin/ipcheck \
-o "$HOME/.local/bin/ipcheck"
chmod +x "$HOME/.local/bin/ipcheck"
```
Expand Down Expand Up @@ -123,6 +125,10 @@ and diagnostic reasons remain stable English for automation. Progress is written
to stderr only for human output and can be controlled with
`IPCHECK_PROGRESS=auto|always|never`.

Interactive progress starts with `Press Ctrl+C to cancel at any time.` An
interrupt clears the live progress line, prints `Cancelled.`, removes temporary
files, and exits with the conventional status `130`.

The service table measures time to first byte and jitter; it is not a transfer
speed test. The separate bandwidth section downloads up to 2 MB and uploads up to 1 MB of
zero-filled data through the reported proxy/network path. It rates throughput
Expand All @@ -136,6 +142,13 @@ higher and `ADEQUATE` from 2 Mbps. Lower measurements are `SLOW`. The optional
`--system` test delegates to macOS `networkQuality`, which can transfer
substantially more data than ipcheck's capped Cloudflare checks.

The readiness score is a transparent heuristic, not a claim about user
percentiles. Rule v1 starts from the service-path verdict (`90` healthy, `70`
usable but delayed, `45` reachable but temporarily unavailable, `35` poor, or
`0` blocked). Completed bandwidth ratings can then add up to 5 points or deduct
up to 10; partial samples deduct 2 points each. JSON exposes `score`,
`score_label`, and `score_method` for automation.

Run `ipcheck --help` for the complete option and environment-variable list.

## Supported clients and routes
Expand Down
22 changes: 16 additions & 6 deletions README.zh-CN.md
Original file line number Diff line number Diff line change
Expand Up @@ -12,15 +12,17 @@
**Claude Code** 的真实网络路径。它会自动识别本机客户端以及不含密钥的路由
配置,测量可达性、首字节延迟(TTFB)中位数/P95、抖动和参考带宽,并给出
明确的 `GOOD`、`FAIR`、`POOR` 或 `BLOCKED` 结论。交互运行时会显示带颜色的
实时进度,并直接告诉你“现在是否适合开发”。
实时进度,支持通过 `Ctrl+C` 友好取消,并直接告诉你“现在是否适合开发”以及
规则化的开发适配分。

```text
$ ipcheck --quick
ipcheck v0.5.0 — AI 编程网络诊断
$ ipcheck
ipcheck v0.6.0 — AI 编程网络诊断

开发建议
现在适合开发吗?可以,但会有些慢
当前可以开发,但响应速度可能不够理想。
现在适合开发吗?适合
开发适配分:95/100 · 舒适
当前网络适合进行 AI 辅助开发。

Detected clients
Codex model=gpt-5.6-sol, route=https://chatgpt.com + https://api.openai.com
Expand Down Expand Up @@ -66,7 +68,7 @@ brew install ipcheck

```bash
mkdir -p "$HOME/.local/bin"
curl -fsSL https://raw.githubusercontent.com/jacklv-coder/ipcheck/v0.5.0/bin/ipcheck \
curl -fsSL https://raw.githubusercontent.com/jacklv-coder/ipcheck/v0.6.0/bin/ipcheck \
-o "$HOME/.local/bin/ipcheck"
chmod +x "$HOME/.local/bin/ipcheck"
```
Expand Down Expand Up @@ -113,6 +115,9 @@ ipcheck --no-upload
枚举值和诊断原因始终保持英文,方便自动化脚本稳定解析。实时进度只会在普通
终端报告中写入 stderr,可通过 `IPCHECK_PROGRESS=auto|always|never` 控制。

交互运行开始时会提示“按 Ctrl+C 可随时取消”。收到中断后,ipcheck 会清除
动态进度行、显示“已取消”、删除临时文件,并使用标准退出码 `130` 结束。

“服务链路”测量的是首字节延迟和抖动,并不是下载速度。独立的“网络带宽”模块
会通过报告中注明的代理/网络路径下载最多 2 MB,并上传最多 1 MB 全零测试数据,然后按
日常开发需求分别评级。带宽不会掩盖 AI 服务本身的高延迟或不稳定。使用
Expand All @@ -123,6 +128,11 @@ ipcheck --no-upload
“慢”。可选的 `--system` 会交给 macOS `networkQuality` 测试,消耗的数据量
可能明显高于 ipcheck 自带的限量 Cloudflare 测试。

开发适配分是透明的规则评分,不代表“超过多少用户”的百分位。规则 v1 根据
服务链路结论从 90(健康)、70(可用但偏慢)、45(可达但服务暂不可用)、
35(较差)或 0(阻断)起算;完整的上下行测速最多加 5 分或扣 10 分,部分
样本每项扣 2 分。JSON 会输出 `score`、`score_label` 和 `score_method`。

运行 `ipcheck --help` 可以查看完整参数。

## 支持的客户端与配置
Expand Down
Loading