lanrtop
3095df3d2a
feat(mcp/envoy): 使者回传闭环——回执 + 三端回传入口
...
回传只进不出:list_envoy_returns 无处置状态、LIMIT 50 把更早的回传静默挤掉;
入口只有 Claude /envoy,08-23 后 enterprise 主力转 DSH/Codex 即零回传。
- envoy.rs 业务本体(连接注入)+ envoy_dispositions 回执表(migrate 补表)
- report_envoy_return(项目级,Claude/Codex/DSH 在项目地址均可用):字段枚举校验、
内容压单行限长、兜底拒绝明显凭据;同项目 1 天内同内容未处置幂等返回原编号
(IMMEDIATE 事务防并发重复);复用 append_project_note 的档案双写
- resolve_envoy_return(控制面):landed/carded 必填落点、reason 必填、允许更正
- list_envoy_returns 默认只列未处置(带编号),附已处置计数,超出展示上限明说;
LEFT JOIN 不再丢掉登记已删项目的回传;include_resolved 可审计回执
- lian-jing skill 新增「遇到摩擦时回传炼境」;/envoy 改为指向该入口的薄指引
(保留扫描与分类硬门槛,炼境分发物出错免门槛,身份改读 .lian-jing/context.json);
AGENTS 托管块加一行指路(1.9.0→1.10.0),能力包 base-onboarding 1.6.0→1.7.0
- 删除炼境仓库内 Codex 迁移遗留的 source-command-envoy 技能(读旧身份文件、走旧写入路径)
- 契约与架构文档同步:project-context.yaml、project-brief.md、AGENTS.md、agents-meta-rules.md
Rules-Applied: R05,R06,R12
Feature-Confirmed: true
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-03 01:15:40 +09:00
lanrtop
fe0458fe97
fix(mcp/parity): P9 审查修复——受限子代理不挂载、条目 id 带版本、插件缺失守卫、规范路径键
...
Push & PR Check / check (push) Successful in 1m6s
Push & PR Check / check (pull_request) Successful in 1m4s
对抗审查(11 个 agent,6 条成立,均 low):
- 受限子代理(toolFilter)会绕过限制:挂在子代理自己作用域的工具不受过滤。改为经 tools.view 判断,
受限或无法判断即不挂;根会话与未受限子代理照常挂载
- 版本号只编进文件名时,运行中的 DSH 不会重载新插件(同 id 只改 name 不重载):条目 id 改为
lianjing-session-mcp-v1,与文件名同一版本;新增内容哈希测试,改插件漏升版本即失败;块外手写按前缀拒绝
- 插件文件缺失时 DSH 0.1.x 启动失败:条目加 `disabled: !!js` 文件存在性守卫
- GUI 会话工作目录是 realpath:白名单同时写入登记路径的规范形态(junction、8.3 短名)
- 补测试:分层停止哨兵、取认证失败与超时(.cmd 夹具)、受限/未受限/无法判断的子代理
- 蓝图如实更正首轮端到端只有插件一行;补测完整托管块
验证:cargo test 247 passed;vitest 16 passed(插件 8 条)、typecheck 通过;完整托管块端到端在
DSH 0.2.0-rc.2 与 0.1.5-rc.2 上项目会话带认证连上项目地址、其他会话无请求;插件文件缺失时两版都正常启动。
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-02 15:04:54 +09:00
lanrtop
f21345bf1a
feat(mcp/parity): DSH 桌面 GUI 按工作区连项目地址(会话级插件,P9)
...
DSH 桌面版只有一个 Host 进程、启动目录固定,托管块的 !!js 只在启动时求值,拿不到会话信息;
web/acp 同样一个进程服务多个工作区。改由炼境分发一个会话级插件:会话创建(agent/created)时
按会话工作目录匹配炼境登记的项目白名单,命中才在该会话作用域挂连项目专用地址的 mcp-client,
同名工具覆盖全局 lian-jing,其他会话不受影响。
- 插件随二进制打包(resources/dsh/lianjing-session-mcp.v1.mjs),刷新 DSH 托管块时写到
%USERPROFILE%\.lian-jing\dsh\;文件名带版本号(Node 按 URL 缓存 ESM)
- 托管块在全局行之后追加插件条目(port、shim、roots 以 JSON 写入);插件文件写失败时只保留全局行
- 插件防御:headless 交给全局行;特性探测不符即降级为全局;取认证 ≤3 秒、整次挂载 ≤5 秒;
所有回调吞掉异常(Host 对未处理异常会崩溃,agent/created 串行失败会让会话创建失败)
- 块外手写的 lianjing-session-mcp 条目同样拒绝覆盖
验证:cargo test 246 passed;vitest 插件用例 6 条通过、typecheck 通过;端到端在 DSH 0.2.0-rc.2
与 0.1.5-rc.2 上,项目会话经真实稳定入口带认证连上项目地址,其他会话无请求。
Feature-Confirmed: true
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-02 13:33:45 +09:00
lanrtop
f4e75dc91f
feat(onboarding): lian-jing skill 双投影到 Claude,接入包升至 1.6.0
...
Push & PR Check / check (push) Successful in 1m4s
- 同一模板同时写 .agents/skills(Codex、DSH)与 .claude/skills(Claude Code)
- verify_onboarding 新增「Claude 炼境技能已分发」检查
- skill 降级步骤改为三端通用,提示无开发变量工具即连的是全局地址
- capability-packs supported_clients 增加 dsh
Feature-Confirmed: true
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-01 09:11:32 +09:00
lanrtop
663a723b3b
feat(dev-variables): 修改时显式查看原值,并提示 agent 先查炼境测试账户
...
Push & PR Check / check (push) Successful in 1m5s
Push & PR Check / check (pull_request) Successful in 1m9s
- V12:新增人用 Tauri command reveal_project_dev_variable(不进 MCP),
点「修改」预填原账号与密码,密码默认遮罩可切换显示
- V13:lian-jing skill 新增第 8 步——需要测试账号先 list/read,
没有则登记并请用户在 UI 填写;禁止对话索要明文;base-onboarding 升至 1.5.0
- 契约同步 project-context.yaml;materialize 提案顺延为 V14–V16
Feature-Confirmed: true
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-09-30 14:22:54 +09:00
lanrtop
dbc1b068ab
fix(delivery): avoid false deployed timestamp
...
Push & PR Check / check (push) Successful in 59s
Push & PR Check / check (pull_request) Successful in 1m0s
Rules-Applied: R07,R13
2026-09-23 12:09:38 +09:00
lanrtop
02b9f1ec36
feat(delivery): observe production revision with dual evidence
...
Read project-owned production profile, verify Gitea deploy context and public version probe, and surface explicit degraded states.
Feature-Confirmed: true
2026-09-23 10:37:07 +09:00
lanrtop
327f3d78ab
feat(agent/access): 强化项目级运行态接入
...
MCP 改为 loopback 并绑定项目 scope,补齐越界拒绝、风险元数据和结构化状态。
新增分层 readiness、配置迁移与设置页投影;正式安装版可选择登录自启动,debug 与非安装路径明确拒绝。
Feature-Confirmed: true
Rules-Applied: R01,R06,R07,R08,R10,R12,R13
2026-09-23 03:21:38 +09:00
lanrtop
806205b8b0
feat(cicd): add safe agent workflow projection
...
Push & PR Check / check (push) Successful in 1m0s
Push & PR Check / check (pull_request) Successful in 58s
Add preview-and-apply workflow commands with digest confirmation, project boundary checks, and MCP/Tauri projections. Sync onboarding capability packs and Codex skill guidance.
Feature-Confirmed: true
Rules-Applied: R01,R02,R06,R07,R12,R13
2026-09-22 23:27:34 +09:00
lanrtop
28e65b3d1c
feat(gitea): 增加 Agent PR 安全合并门禁
...
合并前重新校验 PR、head SHA、CI 与 review,并用 Gitea head_commit_id 在服务端绑定用户确认的提交。同步 MCP schema、接入模板与 Codex skill 契约。
Feature-Confirmed: true
Rules-Applied: R06,R07,R10,R12
2026-09-22 21:07:55 +09:00
lanrtop
ead35ad12a
feat(toolchain): 增加项目级运行时能力包
...
以 .nvmrc 与 packageManager 作为 Node/pnpm 版本事实,新增 Windows-only 的状态诊断、受控 mise 准备、MCP/Tauri/UI 双投影及 onboarding 自检。
Feature-Confirmed: true
Rules-Applied: R01,R04,R06,R07,R08,R10,R12
2026-09-22 01:08:31 +09:00
lanrtop
c9f19e2916
fix(onboarding): enforce canonical skill context
Push & PR Check / check (pull_request) Successful in 58s
2026-09-21 22:02:58 +09:00
lanrtop
f5b66aba4a
feat(onboarding): version capability packs
...
Feature-Confirmed: true
2026-09-21 19:23:54 +09:00
lanrtop
122864f340
feat(onboarding): add capability pack status
...
Feature-Confirmed: true
2026-09-21 18:33:12 +09:00
e1e7ffb3b4
Merge branch 'master' into feat/project-capability-control-plane
Push & PR Check / check (push) Successful in 1m0s
Push & PR Check / check (pull_request) Successful in 1m1s
2026-09-21 16:48:26 +08:00
lanrtop
383b5b35d7
feat(delivery): add project delivery status
...
Push & PR Check / check (push) Successful in 1m0s
Push & PR Check / check (pull_request) Successful in 58s
Feature-Confirmed: true
2026-09-21 15:16:40 +09:00
lanrtop
ed83f2874a
feat(onboarding): add Codex MCP project integration
...
Push & PR Check / check (pull_request) Successful in 57s
Push & PR Check / check (push) Successful in 1m3s
Feature-Confirmed: true
2026-09-21 12:35:10 +09:00
lanrtop
0d4c2adc54
feat(onboarding): 同源同边界补收束语与需求对称两时间尺度(v1.7.0 内补遗)
...
「人在意的点 agent 读得懂」补机制脚注使其自洽,不做空头承诺:
- 当下会话:同源路径即时对称(结构直接保证,无需额外机制)
- 跨会话:否决理由落账→复盘笔记→梦核蒸馏,反复在意的维度迁移进可断言规则
- 人裁决区是飞轮推进的前线,不是墙上的洞
- 1.7.0 尚未分发,内容补遗不再升号
Feature-Confirmed: true
2026-08-23 16:41:14 +09:00
lanrtop
9f468a13a1
feat(onboarding): AGENTS 模板注入「同源同边界 + 操作复刻」设计原则(v1.7.0)
...
多角度辩证收敛后的 v3.1 外科手术版(真实增量三个半,不重复已有六条):
- 节首总纲:任何功能 = 一个本体 + 两个投影,同源同边界;先定本体后盖投影(原型探索豁免)
- 边界单点实现追加同源推论:人的操作序列 agent 皆可复刻,人报障即复现路径(操作+状态)
- 三分定位启发式(本体→投影→环境),从"定律"降级——crypto.randomUUID 环境层实锤
- human_verify 否决理由值得记录(飞轮原料;采集机制挂 governance-feedback-loop,不空头承诺)
- 炼境自身 AGENTS.md 块内同步 + agents-meta-rules.md 设计草案同步
Feature-Confirmed: true
Rules-Applied: R13
2026-08-23 16:31:30 +09:00
lanrtop
16473e7260
fix(envoy): 补炼境定位讨论触发标准和 MCP 降级说明
...
- Step 2 加炼境定位/缺口/演进方向讨论不得漏判警示(enterprise-system 实锤)
- Step 4 加 MCP 不可用时的降级路径(整理文本输出让用户手动转发)
2026-08-23 14:34:17 +09:00
lanrtop
f0e5b70025
fix(onboarding/envoy): 使者分类加「非显而易见」前置硬门槛
...
常识性设计知识与触发条件过窄的 corner case 一律留本项目,
堵住 enterprise-system 2 例误回传的根因(07-18 使者回传 confirmed)。
顺带补 skill 描述行便于命令发现。
2026-07-18 09:43:41 +09:00
lanrtop
5b0b068148
fix(onboarding/tmpl): 托管块首加「勿在块内定制」警示——AGENTS v1.6.1 / git-workflow v1.5.1
...
Push & PR Check / check (push) Successful in 49s
使者回传兑现(confirmed·all_projects):炼境自身因块内写定制被
升级抹掉 5 段内容,模板块首此前无任何警示。警示行放块内随版本
升级触达全部存量项目。
Rules-Applied: R07
2026-07-15 23:18:16 +09:00
lanrtop
1672b071e4
feat(onboarding/upgrade-channel): 全托管文件升级通道 + 批量重分发(U1)
...
Push & PR Check / check (push) Successful in 51s
Push & PR Check / check (pull_request) Successful in 51s
三档升级语义落地:envoy.md/blueprint-gate.cjs 切全托管
(内容不一致即覆盖,CRLF 归一化防抖动),文件头加托管声明;
verify_onboarding 第 7 项「lefthook 检查段齐全」从内嵌模板自省
键集合,零硬编码;MCP apply_onboarding_pack 缺省 project_id
时批量分发全部已登记项目,替代 batch_apply.py 手摇脚本。
Rules-Applied: R06,R07
Feature-Confirmed: true
2026-07-15 14:20:22 +09:00
lanrtop
f04eb6e766
feat(onboarding): 接入包 v1.6.0——蓝图机器门控双层实现
...
A: feat: 提交须含 Feature-Confirmed: true trailer
- lefthook.yml.tmpl commit-msg 新增 feature-confirmed 命令
- AGENTS.md.tmpl 需求对齐协议补 trailer 说明
B: pre-commit 检查未关闭 🔵 任务卡(warn only)
- 新增 .claude/hooks/blueprint-gate.cjs(CommonJS,兼容 ESM 项目)
- lefthook.yml.tmpl pre-commit 新增 blueprint-gate 命令
- onboarding.rs dispatch 新增 blueprint-gate.cjs
Feature-Confirmed: true
2026-07-15 13:38:32 +09:00
lanrtop
be2f69578a
docs(conventions): v1.11.0——同步使者回传的四项治理修复
...
- Session 结束汇总加限定语,不得作为跳过确认卡的通道
- acceptance 格式补 agent_verify/human_verify 分层说明
- 阶段2末尾引用 AGENTS.md 需求对齐协议(Bug Fix/Feature 分类)
- Rust/Tauri 专属章节顶部加 scope 前置提示,避免污染 web 项目
- lefthook.yml.tmpl:API typecheck 注释由警告升级为 REQUIRED 措辞
2026-07-15 12:16:31 +09:00
lanrtop
8c746cf8d5
fix(onboarding): git-workflow v1.5.0——修正 CONVENTIONS.md 死链引用,改为通用路径表述
Push & PR Check / check (push) Successful in 1m35s
2026-07-09 16:14:55 +09:00
lanrtop
67bdacbf2e
feat(onboarding): AGENTS.md v1.5.0——新增需求对齐协议(Bug Fix/Feature 分类 + S 级轻量卡 + 汇总补录限定语)
2026-07-09 16:12:47 +09:00
lanrtop
ce3ef6e14e
feat(onboarding): 接入包模板 AGENTS.md v1.4.0——acceptance 分层/Playwright 版本锁定/API typecheck 提示/envoy 命令纳入分发
2026-07-09 16:09:55 +09:00
lanrtop
46640783f9
chore(onboarding): 模板版本升级 AGENTS 1.3.0 / git-workflow 1.4.0
...
Push & PR Check / check (push) Successful in 51s
内容已在前两次提交中更新(自验报告纪律第 6 条 / 单一 lian-jing 寻址),
但 ONBOARDING_MANAGED 块版本号未动导致批量分发全部 skipped——
版本判断是分发引擎的唯一升级信号,改模板必须同步升版本。
2026-07-06 22:58:02 +09:00
lanrtop
86995f7472
docs(conventions): 自验报告纪律三条——负面披露/改断言报备/两把尺子
...
Push & PR Check / check (push) Successful in 51s
用户确立 agent 协作协议执行版(多角度辩证后选最小成本版落地):
1. 交人终验前反馈必含「没验什么」一节(负面披露收窄已知盲区)
2. 自修中改断言/验收标准需显式声明(封 Goodhart 最短路径,diff 可审计)
3. agent 自验对 acceptance、人终验对意图(acceptance 可能继承需求
理解偏差,两把尺子不可合一)
三处同步:AGENTS.md(单一来源)+ 接入包模板(分发子项目)+
agents-meta-rules(设计草案)。完整辩证(五张力/四调节器/三缝隙)
存档于 governance-feedback-loop 模块设计档案节。
实证案例:mcp-single-server 自验全绿但 git-bash 层全挂,端到端终验抓住。
2026-07-06 22:46:04 +09:00
lanrtop
a41161f7d1
feat(mcp): 单一全局 lian-jing 服务器——组级挂载收敛(T1-T3+T5)
...
Push & PR Check / check (push) Successful in 1m4s
T1 服务器层:新增全局 /mcp + /mcp/messages 路由,process_rpc 组上下文
Option 化;旧 /mcp/group/:gid 路由保留过渡,T6 移除。驻军测试 2 条。
T2 工具层:resolve_project_root 按 project_id 直查 project_workspaces,
删除 3 处组归属校验(实测无隔离价值);list_group_projects 改显式传参。
T3 注入层:settings.json 收敛为单 "lian-jing" key(URL /mcp),注入时
清理旧 lian-jing:group-* key;liangjing.json 主动删除 group_id;
启动时一次性迁移(重注入全量 + 清理旧全局注册两种命名格式,标记位防重)。
T5 同步:git-workflow 文档/模板、retro-catchup 技能 Python 兜底、
设置页 URL 展示、mcp-config-inject 模块取代注记。
收益:MCP 客户端配置成本 O(N组)→O(1),授权一次永久生效;
group_id 缺失/过期/移组同步一整类问题从根上消失。
2026-07-06 19:30:01 +09:00
lanrtop
bce9a0a37c
fix(mcp-inject): liangjing.json 改为合并写入,重注入可回填缺失的 group_id
...
Push & PR Check / check (push) Successful in 1m18s
旧版注入的项目 liangjing.json 缺 group_id,外部 agent 每个会话都要
先调 list_all_projects 反查归属组(多一次探路调用 + 权限弹框)。
group_id 写入已在 2116e54 补上,本次将整文件覆盖改为读取-合并-写回:
只更新 project_id / group_id / mcp_port 三个字段,保留文件已有其他字段。
存量修复路径:对旧项目重新执行 inject_mcp 即可回填。
文档同步说明:移入新产品组时自动刷新;group_id 缺失/过期时重新注入。
2026-07-06 18:43:44 +09:00
lanrtop
892e5977ed
fix(onboarding): lefthook.yml.tmpl 用 COMMIT_EDITMSG 替换 {1}
...
lefthook v2 在 Windows 上解析 YAML 时会将 {1} 与模板变量混淆,
改为直接读取 .git/COMMIT_EDITMSG,与 react-phone-apps 修复保持一致。
2026-07-04 16:50:55 +09:00
lanrtop
05d7673990
feat(onboarding): T2+B3 复杂度感知分支策略 + agent 按钮载体声明体系
...
T2 git-workflow 模板升 v1.3.0:
- 分支策略从强制 dev→main 改为复杂度感知
(简单改动直推 main/master,功能性改动开 feat/<name> 分支+PR)
- PR 创建 MCP 示例 head 从 "dev" 改为 "feat/<name>"
B3 agent 按钮载体声明闭环:
- CONVENTIONS.md manifest.yaml 规范新增 agent_button_carrier 字段
(tauri/http/cli/playwright,新建蓝图时必填)
- splitter SKILL.md 三级优先载体继承:manifest字段 > architect声明 > 就近推断
- 炼境自身 manifest.yaml 补 agent_button_carrier: tauri
- AGENTS.md.tmpl 项目概况 TODO 提示新增载体字段填写指引
Rules-Applied: R04,R13
2026-07-04 13:44:02 +09:00
lanrtop
95310890a3
docs(agent-button): 删除说谎的 pnpm test 按钮,CONVENTIONS 前端测试规范加 Tauri 项目类型限定
2026-07-04 12:12:29 +09:00
lanrtop
3df7550337
fix(onboarding): lefthook commit-msg 单行避免 Windows shell {-block 解析失败
2026-07-04 12:02:49 +09:00
lanrtop
731fa11456
feat(onboarding+skill): B3 acceptance 可执行化 + template v1.2.0 + skill 升级
...
- AGENTS.md.tmpl: v1.2.0,新增 rule#5 acceptance 可执行化([载体] 调用→断言)
- 炼境 AGENTS.md: ONBOARDING_MANAGED 同步至 v1.2.0
- /architect: 新增 Step 3.5 声明验证路径载体(Tauri/HTTP/CLI/Playwright 优先级表)
- /splitter: acceptance 格式升级为可执行验证路径,含三类示例
2026-07-03 21:12:22 +09:00
lanrtop
8432aa4f45
feat(cicd+mcp): PR 事件追踪 + create_pull_request MCP 工具 + CI/AI 审查模板 + bypassPermissions 注入
...
炼境子项目工作流全链路打通:
- mcp_server: 新增 create_pull_request MCP 工具(凭证代理,子项目无需持有 token)
- mcp_server: webhook 路由拆分 push/pull_request,PR 事件写入 pr_events 表
- mcp_inject: 注入 bypassPermissions + 写入 liangjing.json(project_id + mcp_port)
- db: 新增 pr_events 表 + idx_pr_events_project 索引
- gitea.rs: gitea_api_create_pull_request() pub 函数;webhook 订阅补 pull_request 事件
- onboarding/git-workflow: v1.2.0,新增 PR 创建通过炼境 MCP 的说明与禁止条款
- cicd: 新增 pr_ci(PR 质量检查)+ deepseek_review(AI 代码审查)模板 + 4 项测试
- CicdModal: 类型选择器扩展为 4 项,deepseek_review 加 Secrets 提示面板
2026-07-03 16:57:36 +09:00
lanrtop
6efde66c42
feat(onboarding): T1 模板版本化三态分发 + B1 CONVENTIONS 1.10.0(R12/R13) + B2 agent 按钮章节
...
- dispatch_versioned:不存在写全新 / 有标记同版本跳过 / 版本不同原位升级块 / 无标记末尾追加块,块外用户内容永不触碰
- AGENTS.md.tmpl 重写为三分区:用户 TODO 区 + ONBOARDING_MANAGED v1.1.0 块(含 agent 按钮与验证路径章节)+ 四支柱防腐元规则
- git-workflow.md.tmpl 全文入管理块 v1.1.0
- CONVENTIONS 升 1.10.0:R12 边界单点实现、R13 验收路径须真实走通(含载体就近选择表)
- lefthook.yml 保持存在即跳过(用户深度定制不适用块机制)
Rules-Applied: R05-skip, R12, R13
2026-07-03 13:23:41 +09:00
lanrtop
08986130af
chore(onboarding): git-workflow 模板补 Rules-Applied trailer 约定——规则数据源扩展到全部接入项目
...
- 接入包 git-workflow.md.tmpl 新增 trailer 章节:此前只有炼境自身 commit 携带
规则命中记录,外部项目无此约定,规则有效性数据源仅覆盖 1 个项目;
随接入包分发后所有项目的 AI 会话都会回传规则命中
- cicd-workflow 模块注记刷新:Gitea Actions 改造完成(R0 实测)
Rules-Applied: R01
2026-07-02 19:06:21 +09:00
lanrtop
0552180e45
docs(blueprint): agent 友好基础设施方案 + 炼境自身接入包 + 蓝图规范 v1.8.0
...
- CONVENTIONS.md v1.8.0:蓝图定位为意图层,files 字段变可选,status/progress 从 git 推断
- 新增 agent-infrastructure 模块(concept):接入包 v2,扫描→确认→生成三件套
- AGENTS.md.tmpl 注入四支柱 + T1-T4 防腐元规则
- 炼境自身接入自己的包:AGENTS.md + docs/ai-context/ + .claude/rules/
- docs/templates/ 三件套模板:agents-meta-rules / project-brief / project-context
2026-06-29 16:38:45 +09:00
lanrtop
5f8b2e8bec
feat(onboarding): 接入包模板分发 + apply_onboarding_pack 后端
...
dispatch_templates 向项目种入 AGENTS.md/lefthook.yml/git-workflow.md 标准模板(蓝本取自 enterprise-system,已通用化),不存在才写、绝不覆盖用户已有;apply_onboarding_pack 组合模板分发 + apply_blueprint_buff 返回 OnboardingReport。含 3 内嵌模板 + 不覆盖单测 + commands.ts 封装。前端 UI 待接。
2026-06-19 13:00:22 +09:00