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 README.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@

面向 Windows 和 macOS 的极简桌面环境工具。以 [claude-switcher](https://github.com/YOURSJEYO/claude-switcher) 为功能底座,保留原版维护能力,增加独立检测、事务式账号管理、代理诊断和历史对比。

当前源码 **0.24.0 Alpha** 将首页简化为“地区与时区 → 一键检测 → 问题和修复 → 持久化守护”。问题逐项可见,缺失的必需证据单独说明;时区、地区格式和 Code 配置合并审核,确认后修复并自动复检。地区预设扩充至 **247 个国家和地区、417 个城市/时区**。账号、全部检查、工具和历史统一放在“更多功能”。参见 [新版操作流程](docs/SIMPLE_WORKFLOW.md) 和 [完整功能对照](docs/FULL_PARITY_AUDIT.md)。公开安装包以 Releases 为准。
当前源码 **0.24.1 Alpha** 按“地区与时区 → 一键检测 → 问题和修复 → 持久化守护”运行。复检后自动更新修复方案,保留重新生成入口和上次执行结果;方案过期、权限拒绝或检测失败会说明原因与下一步。时区、地区格式和 Code 配置合并审核,确认后修复并复检;守护状态显示具体恢复结果。地区预设覆盖 **247 个国家和地区、417 个城市/时区**。账号、全部检查、工具和历史统一放在“更多功能”。参见 [操作流程](docs/SIMPLE_WORKFLOW.md) 和 [完整功能对照](docs/FULL_PARITY_AUDIT.md)。公开安装包以 Releases 为准。

**0.23.0 已加入**可恢复的旧软件清理、临时浏览器独立清理进程与重启恢复,以及 48 小时不同出口集合统计。清理支持单项 / 全选,先预览、再确认,保留账号与凭据。参见 [旧软件清理](docs/LEGACY_SOFTWARE.md) 和 [临时浏览器](docs/BROWSER_SESSIONS.md)。

Expand Down
6 changes: 3 additions & 3 deletions docs/SIMPLE_WORKFLOW.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,8 +4,8 @@

1. **地区与时区**:填写实际所在地;读取当前出口 IP,建议节点地区及对应城市。选择城市会匹配 Windows / macOS 时区、地区格式和语言目标。手动选择和已保存目标不会被迟到的查询结果覆盖。用途与连接方式按需展开。
2. **一键检测**:完成目标确认后开始。结果说明必需项通过、不合格和待完成的数量;所有问题标题、实际观测与处理方式直接可见。需要权限、缺少证据和本版不支持的检查分别说明,不计为通过。
3. **修复方案**:先列出具体字段、原值与目标或可执行操作。时区、地区格式与 Code 配置合并审核,确认后才执行,随后自动复检。保留备份和恢复入口。需要先启动客户端的操作仍分阶段复检;无法自动处理的项目标红并给出步骤。
4. **持久化守护**:选择周期以及需要保持的时区、地区格式和代理;额外客户端与 Code 选项折叠。预览具体基线并确认启用,同页可停用。后台仅执行已批准的范围并保存结果,未获得权限的修改保留原因。
3. **修复方案**:先列出具体字段、原值与目标或可执行操作。时区、地区格式与 Code 配置合并审核,确认后才执行,随后自动复检。复检使旧方案失效,再按当前问题生成新方案;重新生成入口始终保留。方案生成失败可重试,检测失败时说明需要先重新检测。上次执行结果、失败原因、备份和恢复入口独立保留;部分失败不会重复自动执行,需核对恢复记录。需要先启动客户端的操作仍分阶段复检;无法自动处理的项目标红并给出步骤。
4. **持久化守护**:选择周期以及需要保持的时区、地区格式和代理;额外客户端与 Code 选项折叠。预览具体基线并确认启用,同页可停用。后台仅执行已批准的范围并保存结果,未获得权限的修改保留原因。首页显示最近完成时间和各项基线的实际恢复结果;失败、过期或暂停以红色提示,完整日志在“更多功能 → 守护与高级修复”。

顶部“更多功能”提供全部检查(选择 / 全选 / 批量处理)、账号资料、工具与备份、守护与高级修复、历史、设置与更新、环境全览。详细测量、帮助和 Claude 启动入口放在首页末尾,不妨碍主流程。

Expand All @@ -19,6 +19,6 @@

## 验收范围

`scripts.simple_workflow_smoke` 使用一次性配置、模拟 Windows / macOS 系统和替代调度器,检查首次提示、地区选择、问题显示、修复审核、自动复检、权限指引、守护启停及全部导航。1024、1280、1440 桌面宽度检查溢出。Code 测试另覆盖损坏 JSON 与证书设置一次修复、已有字段保留和未选择范围拒绝写入。
`scripts.simple_workflow_smoke` 使用一次性配置、模拟 Windows / macOS 系统和替代调度器,检查首次提示、地区选择、问题内复检生成新方案、过期方案拒绝写入、生成失败重试、复检失败恢复、权限拒绝后的手动恢复、守护启停及全部导航。模拟时区与地区格式漂移后,调用真实守护逻辑,核对恢复读回、日志和首页结果。1024、1280、1440 桌面宽度检查溢出。Code 测试另覆盖损坏 JSON 与证书设置一次修复、已有字段保留和未选择范围拒绝写入。

以上为隔离验收,不修改测试机器的真实时区、代理、账号或后台任务,也不代表 Claude 实际认证已通过。
2 changes: 1 addition & 1 deletion docs/UI_DESIGN.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@

检测后,所有问题标题、观测和处理方式逐项可见。展开一项可查看原因与步骤;缺少必需证据也必须有明确入口。不能自动修复的项目用红色文字说明。技术记录、已通过的观测与帮助默认折叠。

修复区先列具体改动,只保留一个确认修复并复检按钮。持久化守护紧随其后:选择间隔与需保持的配置,预览、确认、启停都在同页。后台权限或修复失败必须显示原因,不能仅凭写入成功就显示环境合格。
修复区先列具体改动,只保留一个确认修复并复检按钮,并保留“重新生成处理方案”的次要入口。复检清除旧方案、刷新剩余问题;上次执行结果独立保留。没有自动修改或没有取得本轮报告时,入口置灰并说明原因。持久化守护紧随其后:选择间隔与需保持的配置,预览、确认、启停都在同页。后台权限或修复失败必须显示原因,不能仅凭写入成功就显示环境合格。

```text
EnvScope 版本 检测与修复 更多功能
Expand Down
Binary file modified docs/images/desktop.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
2 changes: 1 addition & 1 deletion envscope/__init__.py
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
"""EnvScope: evidence-first environment diagnostics."""

__version__ = "0.24.0"
__version__ = "0.24.1"
__release__ = "v" + __version__ + "-alpha.1"
4 changes: 2 additions & 2 deletions envscope/web/app.mjs
Original file line number Diff line number Diff line change
Expand Up @@ -89,7 +89,7 @@ function renderDesktop(report,source='current') {
document.dispatchEvent(new CustomEvent('envscope-report',{detail:{report,source}}));
byId("session-state").textContent="完成于 "+new Date(report.created_at).toLocaleTimeString();
}
const diagnosisUI=initDiagnosis({sessionPromise,retest:()=>runAudit({phase:'recheck'})});
const diagnosisUI=initDiagnosis({sessionPromise,retest:options=>runAudit({phase:'recheck',...options})});
const targetUI=initTargetEnvironment({sessionPromise,run:diagnosisUI.run,retest:()=>runAudit({oneStop:true}),isBusy:diagnosisUI.isBusy});
initWatchdogForms(diagnosisUI.run);
initInspection({run:diagnosisUI.run,operate:diagnosisUI.operate,isBusy:diagnosisUI.isBusy,retest:checks=>runAudit({checks})});
Expand All @@ -110,7 +110,7 @@ async function nativeAudit(session,snapshot,checks=null) {
} finally {clearTimeout(timer);}
}

async function runAudit({oneStop=false,phase='check',checks=null}={}){
async function runAudit({oneStop=true,phase='check',checks=null}={}){
if(!await targetUI.ensure())return;
byId('audit-results').hidden=false;
setFlowStage(phase==='recheck'?'repair':'check',phase==='recheck'?'正在重新检测配置与连接,写入成功不代替复检结果。':'正在检查连接和环境设置,尚未写入任何配置。');
Expand Down
Loading
Loading