Files
AgentLab/scripts/copy-allow.json
T
ThearchyHelios 4deffd62f7 定时任务前端底座:接口约定的类型、api.schedules、页面用的纯函数和文案
types.ts 末尾一段写定时任务的接口约定(Schedule、Fire、预览、变量、立即运行、触发历史、Webhook 测试),字段名和形状照前后端共用的约定,不各自发挥;运行列表的 schedule_id 用同名接口合并补在这一段,不去改上面 Run 的定义。

api/schedules.ts 挂上全部接口:列表、详情、新建、修改(只带改了的字段和读到的版本)、删除、预览(可取消,丢掉过时的请求)、变量、立即运行、触发历史分页、发送测试消息。

pages/schedules/model.ts 是不碰 React 的纯函数:
- 频率预设和 cron 互转:每天 / 每周(连着三天以上写区间)/ 每月 / 每隔几小时(只给 24 的约数,*/5 在跨天处会断)/ 自定义;填得不完整时返回空串,不拿猜出来的频率顶上;认不出的 cron 一律算自定义、原文照放
- 按定时任务自己的时区写时间(Intl 取各段再拼中文,周几、偏移照算),本机时区另给;距下次运行先取整再判档
- 表单和请求体互转:修改时和打开时的表单比,只交改了的字段(cron 写法不同但人没动不算改);Webhook 按约定地址省略即不改、空串即删除,密钥省略即不改、空串即清除,交 Webhook 时格式和事件总是一起交
- 表单的问题按字段给出,写在对应的输入框下

terms.ts 的 SCHEDULE_TEXT 写全定时任务页的文案;占位页的两条先留着,换成真页面时删掉。「钉钉」是 Webhook 的产品名,会被「钉住」那条规则误报,在 copy-allow.json 里登记一条例外并写明理由。
2026-10-05 08:56:02 +08:00

66 lines
3.0 KiB
JSON
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
{
"说明": "scripts/check-copy.mjs 的白名单。每条:file 文件(相对仓库根)、text 命中的那段字符串里的一个片段(按包含匹配,不按行号,免得挪行就失效)、rule 规则 id(见 check-copy.mjs 的 RULES)、reason 为什么保留。对不上任何命中的条目会报失效,要删掉。",
"entries": [
{
"file": "frontend/src/canvas/nodeDefs.ts",
"text": "metrics_from(口径卡节点 ID)",
"rule": "键名",
"reason": "出具契约是 JSON 配置框,用户要照着键名手写 JSON;帮助文字在字段旁边列出可写的键,每个键后面都附了中文说明(配置界面允许附键名)"
},
{
"file": "frontend/src/canvas/nodeDefs.ts",
"text": "allow_numbers(允许无出处的数字)",
"rule": "键名",
"reason": "同上:出具契约 JSON 可写的键,附中文说明"
},
{
"file": "frontend/src/pages/ToolsPage.tsx",
"text": "mcp:服务名/工具名",
"rule": "半角标点",
"reason": "MCP 工具的引用写法(mcp:<服务名>/<工具名>),冒号是语法的一部分,用户要照原样写进节点"
},
{
"file": "frontend/src/pages/ToolsPage.tsx",
"text": "mcp:名称/工具名",
"rule": "半角标点",
"reason": "同上:MCP 工具的引用写法"
},
{
"file": "frontend/src/canvas/InspectorSheet.tsx",
"text": "aria-label^=\"移除\"",
"rule": "半角标点",
"reason": "CSS 选择器(querySelector 用),不是界面文案;引号是选择器语法,「移除」「删除」是按读屏名排除按钮"
},
{
"file": "frontend/src/canvas/LineageLayer.tsx",
"text": "content: \"引用\"",
"rule": "半角标点",
"reason": "注入的 CSS 规则,::after 的 content 必须用 CSS 引号;界面上显示的只是「引用」两个字"
},
{
"file": "frontend/src/pages/ChatPage.tsx",
"text": "5 家供应商",
"rule": "供应商",
"reason": "按用户数据源描述里的业务词(采购、供应商)造的示例问法,这里的「供应商」是采购供应商,不是模型接入"
},
{
"file": "backend/app/seed.py",
"text": "print(json.dumps(...))",
"rule": "半角标点",
"reason": "模板里「写代码」节点的系统提示(写给模型),print(json.dumps(...)) 是代码示例,半角括号和省略号是 Python 语法"
},
{
"file": "backend/app/api/copilot.py",
"text": "报告按 [[i:字段名]]",
"rule": "半角标点",
"reason": "[[i:字段名]] 是报告里引用运行输入的标记写法,冒号是语法的一部分,提示用户照原样写"
},
{
"file": "frontend/src/lib/terms.ts",
"text": "钉钉",
"rule": "钉",
"reason": "「钉钉」是 Webhook 通知的产品名(定时任务的消息格式:通用 / 飞书 / 企业微信 / 钉钉),不是「钉住」的意思"
}
]
}