feat: 模块统一 ias- 前缀、独立版本与内网地址支持 (0.1.7)

- 所有 Rust crate 统一加 ias- 前缀:ai → ias-ai、common → ias-common、context → ias-context、mail → ias-mail、service → ias-service、wechat → ias-wechat
- 新增 ias-main 模块承载 CLI 入口和二进制打包
- 各模块开始独立维护版本号,ias-main 0.1.7 代表整体版本
- 新增 IA_WEB_INTERNAL_URL 环境变量,版本通知同时发送公网和内网链接
- 将已有升级日志翻译为中文
- ias_upgrade_logs 新增 modules JSONB 字段
- 新增 VERSION 文件和 CHANGELOG.md
- 新增 AGENTS.md 项目规则文件
This commit is contained in:
2026-07-06 17:57:48 +08:00
parent ed7f89d44f
commit 25dd0daa8b
91 changed files with 5546 additions and 777 deletions
@@ -0,0 +1,28 @@
CREATE TABLE ias_version_notifications (
version VARCHAR(64) PRIMARY KEY,
notified_at TIMESTAMPTZ NOT NULL DEFAULT NOW(),
recipient_count INTEGER NOT NULL DEFAULT 0
);
INSERT INTO ias_upgrade_logs (
version,
released_at,
title,
description,
changes
) VALUES (
'0.1.6',
'2026-07-06T00:00:00+08:00',
'Version update notifications and changelog pages',
'Added HTTP upgrade-log pages and one-time startup notifications that tell users which version the service updated to.',
'[
"Added HTTP-rendered upgrade log pages at /updates and /updates/{version}.",
"Added one-time startup notifications for new service versions, including the updated version number and an HTTP upgrade-log link.",
"Added persisted version notification state so users are not notified repeatedly after ordinary restarts.",
"Persisted the 0.1.6 upgrade record."
]'::jsonb
) ON CONFLICT (version) DO UPDATE SET
released_at = EXCLUDED.released_at,
title = EXCLUDED.title,
description = EXCLUDED.description,
changes = EXCLUDED.changes;