mirror of
https://github.com/ThearchyHelios/AgentLab.git
synced 2026-11-15 00:21:58 +00:00
4deffd62f7
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 里登记一条例外并写明理由。
66 lines
3.0 KiB
JSON
66 lines
3.0 KiB
JSON
{
|
||
"说明": "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 通知的产品名(定时任务的消息格式:通用 / 飞书 / 企业微信 / 钉钉),不是「钉住」的意思"
|
||
}
|
||
]
|
||
}
|