CNWei
|
37479f48c7
|
docs: 更新 uv 与虚拟环境文档
- README:三栏工作台与弹窗说明、uv 路径默认值(python / uv-cache)、镜像只在装包时生效、API 与数据布局、测试现状注记
- RELEASE:补 uv-cache 与 uv 目录、配置入口改为弹窗、运行时注入说明
- 新增 ADR-0009:uv 与托管 Python 环境的决策与边界
- PLAN:补记已完成的后继迭代
|
2026-11-07 17:05:02 +08:00 |
|
CNWei
|
1914d38451
|
feat: 本地 uv 与托管 Python 环境管理
- 新增 uv 管理:只认程序目录副本或指定路径,支持从科大镜像下载并按 sha256 校验
- uv 环境变量(UV_*)可配置,默认相对程序目录(python / uv-cache),同时注入 uv 调用与任务进程
- 新增托管虚拟环境与 Python 版本管理:用 uv 下载解释器、预创建环境、查看已装包
- 新建任务保存时自动创建 .venv,运行期只校验、不再自动装依赖;镜像只在装包时使用
- 前端改为顶部品牌栏 + 三栏工作台,uv / 镜像源 / 虚拟环境各自独立弹窗
- 发布包构建后去掉工作区继承的低完整性标签
- 修复调度集成测试并发时误取 skipped 运行的问题
|
2026-11-07 16:57:27 +08:00 |
|
CNWei
|
2aa2a1ac18
|
fix(frontend): 环境探测不再显示加载态,只在最终结果更新
探测期间保留上一次最终结果,移除正在探测提示;首次无结果时保持空状态;占位结果不参与自动回填,最终结果返回后一次性更新。
|
2026-11-04 23:27:43 +08:00 |
|
CNWei
|
62f1661b2c
|
fix(frontend): 切换目录时只保留一次虚拟环境状态
切换目录时先同步清掉旧目录自动填入的 venv;实时 venv 为空时立即忽略防抖旧值;旧查询结果不再回填新目录;补充 Playwright 回归用例。
|
2026-11-04 23:20:54 +08:00 |
|
CNWei
|
8501deba07
|
Revert "fix(frontend): 稳定虚拟环境探测状态,避免输入时闪烁"
This reverts commit 78ddc17fce.
|
2026-11-04 23:14:28 +08:00 |
|
CNWei
|
78ddc17fce
|
fix(frontend): 稳定虚拟环境探测状态,避免输入时闪烁
探测状态保留上一次结果,新结果返回后再更新;空目录改为中性提示;防抖期间不因旧工作目录闪出警告;占位数据期间不自动回填虚拟环境。
|
2026-11-04 23:02:30 +08:00 |
|
CNWei
|
10f8e6bb66
|
style(frontend): 精简脚本语言提示并移除解释器输入框
- 脚本语言提示从大块灰色卡片改成下拉框右侧的一行说明
- Python 表单不再显示解释器输入框,固定使用 .venv 里的 Python
- 虚拟环境目录字段改为全宽并明确自动探测语义
- 非 Python 语言仍由语言自动设置 cmd.exe/node.exe/lua.exe,API 仍可传自定义 interpreter
|
2026-11-04 22:51:37 +08:00 |
|
CNWei
|
917674880b
|
feat: 拆分任务类型并支持脚本语言联动
- 任务类型改为「执行脚本 / 发起 HTTP 请求 / 运行二进制程序」,脚本类型下新增语言选择(Python / Shell / Node / Lua)
- 语言联动表单:Python 才显示虚拟环境、解释器和 uv 状态;Shell/Node/Lua 隐藏这些字段并切换脚本标签、占位符和调用预览
- 切换语言时自动设置解释器与默认脚本,Shell 通过 cmd.exe /C 执行批处理,Node/Lua 使用对应解释器
- TaskAction 新增可选 language,旧任务按解释器推断;补 Shell 执行测试、语言切换单测与 Playwright 用例
|
2026-11-04 22:07:14 +08:00 |
|
CNWei
|
8e6b3b92b9
|
feat: 支持 uv 从 pyproject/requirements 创建虚拟环境
- 工作目录探测新增 pyproject.toml / requirements*.txt 扫描、uv 可用性与 can_create
- 新增 POST /api/v1/python/venv/create:已有虚拟环境优先复用;pyproject 走 uv sync,requirements 走 uv venv + uv pip install,并使用默认 PyPI 镜像
- 编辑器在缺少虚拟环境且具备依赖文件时显示「用 uv 创建环境」;没有 uv 或没有依赖文件时明确报错
- 解释器字段改为可选,留空由服务端默认 python.exe 并使用虚拟环境;Python 任务缺少虚拟环境/依赖文件时运行直接失败,不再回退系统解释器
- 补后端探测/创建测试、前端入口测试与 README
|
2026-11-03 22:57:17 +08:00 |
|
CNWei
|
29fc579275
|
feat: 左侧导航改版与 Python 镜像管理
- 应用外壳换成 stash-ui Layout:左侧导航(任务调度 / Python 镜像)+ 页面标题区,窄屏折叠为顶部导航
- 新增 python_mirrors 表与 CRUD/设默认接口,内置清华、阿里云、中科大、PyPI 官方
- Python 脚本任务运行时注入默认镜像的 PIP_INDEX_URL / UV_INDEX_URL,任务自身环境变量优先
- 新增镜像管理页与表单,支持新增、编辑、启用/停用、设默认、删除
- 重新生成 OpenAPI 与 TS 类型;补齐后端镜像测试、前端单测与 e2e,修复窄屏页面被宽表格撑开
|
2026-11-03 22:12:11 +08:00 |
|
CNWei
|
d7a6e17531
|
style(frontend): 去掉刷新提示条、隐藏弹窗滚动条并前置时区列
- 刷新按钮保持「刷新」文案,不再出现「同步中...」和顶部进度条,仅禁用防重复点击
- 任务编辑器 / 目录选择弹窗隐藏滚动条,滚轮与触控板仍可滚动
- 任务表「时区」列移到「调度周期」前面
|
2026-11-02 23:43:31 +08:00 |
|
CNWei
|
c7a66c22b6
|
feat(frontend): 时区下拉、表格时区列与刷新反馈
- 编辑器 IANA 时区改为 Select,当前只保留 Asia/Shanghai;编辑旧任务时保留其已有值
- 任务表新增「时区」列,类型标签并入名称列,重新分配列宽
- 手动刷新改为独立状态 + 顶部进度条 + 固定按钮宽度,避免刷新时工具栏左右跳动与旧内容残留的观感
|
2026-11-02 23:32:03 +08:00 |
|
CNWei
|
608872bf06
|
fix(frontend): 修复已结束运行打不开日志的问题
StrictMode 的 effect 清理会取消挂载时排队的 rAF,但没有把句柄归零;已结束的 run 在挂载时就处于 complete 状态,后续 ingest 看到「还有帧在排队」便不再安排渲染,日志一直停在「等待日志输出...」。取消后把 frameRef 归零,并在 e2e 增加「运行结束后重新打开日志」的回放断言。
|
2026-11-02 23:19:07 +08:00 |
|
CNWei
|
d3f0f57f6d
|
feat(frontend): 自动回填并支持修改虚拟环境目录
- 虚拟环境目录与解释器移到工作目录正下方,虚拟环境目录优先且更宽
- 探测到虚拟环境时自动填入(工作目录内用相对路径 .venv),仍可手动修改
- 手动改过的值不再被探测结果覆盖;换工作目录只清理上一轮自动填入的值并重新探测
- 防抖期间忽略过期探测结果,避免旧环境被回填
|
2026-11-02 23:08:13 +08:00 |
|
CNWei
|
b7ded69a7d
|
fix(cron): 用中文说明替代解析器原始报错
- 后端 CronPreviewError 增加 user_message,预览与任务保存共用;解析器英文原文只写日志
- 针对「0/2」这类单数字步长给出具体改法(*/2 或 1-10/2)
- 前端预览面板用警告图标 + 中文提示展示,网络异常回退通用文案,Cron 输入同步 aria-invalid
|
2026-11-02 22:35:39 +08:00 |
|
CNWei
|
b2ff255e32
|
style(frontend): 重排任务编辑器布局
- 未来运行时间改为全宽三列面板,次数选择器移到面板头部,去掉内部滚动条
- Cron / 超时、时区 / 任务类型两两成行,消除原右列的大片空白
- 校验改为提交时触发,避免 blur 插错误行导致下方控件位移、下拉框点击丢失
|
2026-11-02 22:28:31 +08:00 |
|
CNWei
|
369fc07b62
|
style(frontend): 搜索框贴左边缘对齐
工具栏去掉左侧内边距,让搜索框与页头、指标卡的左边缘对齐;右侧保留 16px 给筛选控件,窄屏恢复左右对称留白。
|
2026-11-02 22:00:04 +08:00 |
|
CNWei
|
69d721055d
|
fix(frontend): 补齐全局按钮 reset,修复 Select 选项灰底
组件库的 Select / Segmented / Tabs / Menu 都把按钮底色交给宿主 reset;之前 index.css 只设了 cursor,Chrome 默认的 ButtonFace 灰底和按钮边框就露了出来,下拉面板看起来像一块块灰条。
|
2026-11-02 21:47:03 +08:00 |
|
CNWei
|
3c1a603b90
|
style(frontend): 接入 stash-ui 设计系统
- 依赖 @stash/ui(file:../../stash-ui),统一引入 style.css 与 Toaster
- 任务面板、表单、弹窗、日志、状态标签全部迁到组件库,App.css 只保留页面布局
- 移除自写 useFocusTrap,改用基于原生 dialog 的 Modal
- 修复 LogViewer 流式追加时误判离开底部、导致不再自动跟随的问题
- 发布脚本检查 stash-ui 产物;README 补充组件库构建与 file: 依赖刷新说明
|
2026-11-01 23:54:35 +08:00 |
|
CNWei
|
07ca14ea34
|
perf(logs): 日志事件按窗口合并推送,抽屉改为虚拟滚动
- 后端 LogSink 把逐行事件按 16 KiB / 100 ms 合并成一条 log 事件,文件写入保持即时;后台 tick 与析构 flush 保证低输出和收尾都不丢尾部
- 前端新增 LogViewer:固定行高虚拟滚动、跟随底部/回到最新,增量按 rAF 合并,长日志 DOM 节点数恒定
- 日志抽屉改为行缓冲(lib/logLines)+ 可见窗口计算(lib/logWindow)
- 详情区改 flex 布局,日志面板吃掉剩余高度,回到最新按钮不再被裁到面板外
- 测试:Rust 单元 52→57,Vitest 13→28,Playwright 4→5(1500 行虚拟滚动)
- 文档:README 补充合并推送与虚拟滚动,新增 ADR-0008
|
2026-10-27 22:38:53 +08:00 |
|
CNWei
|
14fb3563c5
|
chore(fonts): 字体二进制不入库,改用脚本生成
- 远程仓库对单次推送体积有限制,6.7 MB 字体无法一次推送,先从版本库移除
- 新增 tools/build-fonts.py:下载官方分包、合并并子集化,一条命令重建
- @font-face 保留,字体缺失时回退系统字体;离线用例改为按可用性断言
|
2026-10-26 00:46:20 +08:00 |
|
CNWei
|
942f8de3b7
|
docs: 重写 README 并加入 uv 示例与端到端自检
- README 重排为快速开始、执行语义、输入校验、API 参考与故障排查
- 新增 samples/python-task:uv 管理的演示任务
- 新增 tools/verify.py:14 项 API 全链路自检
|
2026-10-26 00:38:16 +08:00 |
|
CNWei
|
815258c19b
|
feat: 加固运行期可靠性并补齐调度与观测接口
- 运行句柄按 run_id 归属,修复取消后重跑时闸门被旧运行删除的竞态
- 调度循环改用取消令牌退出,启动时对账遗留运行,校验 rows_affected
- 三类任务统一参与调度,新增 /api/v1/stats 与 /api/v1/schedule
- SQLite 启用 WAL 与 busy_timeout,日志清理跳过活跃文件,单行上限 256 KiB
- 前端缓存管理令牌并在 403 时重试一次,仪表盘改用统计接口
|
2026-10-26 00:38:16 +08:00 |
|
CNWei
|
773196d689
|
style(frontend): 对齐 Alright 主题并接入离线字体
- 主题色板、圆角、阴影与 0.3s 缓动对齐参考站点,布局与尺寸不变
- index.html 预加载本地字体,index.css 定义 LXGW WenKai / Outfit-Medium
- 新增断网渲染端到端用例与 ADR-0006
|
2026-10-26 00:38:15 +08:00 |
|
CNWei
|
e555610037
|
feat: 工作目录支持页面内目录浏览器
|
2026-10-24 23:20:20 +08:00 |
|
CNWei
|
dd7612bc74
|
feat: 编辑器实时探测并显示已关联虚拟环境
fix: 按系统 ANSI 代码页解码子进程输出,修复中文日志乱码
|
2026-10-24 22:30:10 +08:00 |
|
CNWei
|
23565b40a4
|
feat: 解决python虚拟环境问题
|
2026-10-19 23:32:08 +08:00 |
|
CNWei
|
00a608c149
|
feat: 修改前端显示
|
2026-10-18 22:52:18 +08:00 |
|
CNWei
|
8ce02af13a
|
feat: implement full-stack TaskPilot scheduler
|
2026-10-18 22:05:45 +08:00 |
|
CNWei
|
d88c21753d
|
上传文件至 /
Rust 本地轻量化任务引擎 · Windows 原生调度中心
|
2026-10-17 16:17:59 +08:00 |
|