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,62 @@
CREATE TABLE ias_upgrade_logs (
id BIGSERIAL PRIMARY KEY,
version VARCHAR(64) NOT NULL UNIQUE,
released_at TIMESTAMPTZ NOT NULL,
title VARCHAR(255) NOT NULL,
description TEXT NOT NULL,
changes JSONB NOT NULL DEFAULT '[]'::jsonb,
created_at TIMESTAMPTZ NOT NULL DEFAULT NOW()
);
CREATE INDEX idx_ias_upgrade_logs_released
ON ias_upgrade_logs(released_at DESC);
INSERT INTO ias_upgrade_logs (
version,
released_at,
title,
description,
changes
) VALUES (
'0.1.1',
'2026-07-06T00:00:00+08:00',
'Context management and startup notices',
'Added standalone context management, memory tooling, session summaries, LLM response compatibility, startup online notices, and initial version/changelog files.',
'[
"Added the standalone Rust context module for long-term memories, session context, session summaries, and recent-week summaries.",
"Added timestamped memory records and context APIs for querying, creating, updating, and deleting memories.",
"Added context-window rollover rules for /new, two-hour inactivity, and token-limit thresholds.",
"Added automatic session summary generation when a new context is opened.",
"Added memory tools so the assistant can query and update user memories during conversation.",
"Fixed LLM response parsing so router responses without service_tier are accepted.",
"Added startup online notices so users receive a friendly message after the service comes back online.",
"Added the project version file and changelog, and documented the version/changelog rule."
]'::jsonb
) ON CONFLICT (version) DO UPDATE SET
released_at = EXCLUDED.released_at,
title = EXCLUDED.title,
description = EXCLUDED.description,
changes = EXCLUDED.changes;
INSERT INTO ias_upgrade_logs (
version,
released_at,
title,
description,
changes
) VALUES (
'0.1.2',
'2026-07-06T00:00:00+08:00',
'Persisted upgrade logs and Codex rules',
'Added persisted upgrade records and clarified that version/changelog rules must live in the AGENTS.md file Codex reads for the current context.',
'[
"Added the ias_upgrade_logs database table for persisted upgrade records.",
"Added migration-seeded upgrade records for versions 0.1.1 and 0.1.2.",
"Updated Codex project rules in AGENTS.md so version bumps update VERSION, crate versions, CHANGELOG.md, and database upgrade records together.",
"Clarified that project rules should live in the AGENTS.md file Codex actually reads for the current context."
]'::jsonb
) ON CONFLICT (version) DO UPDATE SET
released_at = EXCLUDED.released_at,
title = EXCLUDED.title,
description = EXCLUDED.description,
changes = EXCLUDED.changes;