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,66 @@
CREATE TABLE ias_long_term_memories (
id BIGSERIAL PRIMARY KEY,
scope_key VARCHAR(768) NOT NULL,
channel VARCHAR(64) NOT NULL,
account_id VARCHAR(255) NOT NULL,
from_user_id VARCHAR(255) NOT NULL,
context_label TEXT,
content TEXT NOT NULL,
metadata TEXT NOT NULL DEFAULT '{}',
created_at TIMESTAMP NOT NULL DEFAULT NOW(),
updated_at TIMESTAMP NOT NULL DEFAULT NOW(),
deleted_at TIMESTAMP
);
CREATE INDEX idx_ias_long_term_memories_scope_updated
ON ias_long_term_memories(scope_key, updated_at DESC)
WHERE deleted_at IS NULL;
CREATE TABLE ias_context_sessions (
id BIGSERIAL PRIMARY KEY,
scope_key VARCHAR(768) NOT NULL,
channel VARCHAR(64) NOT NULL,
account_id VARCHAR(255) NOT NULL,
from_user_id VARCHAR(255) NOT NULL,
context_label TEXT,
started_at TIMESTAMP NOT NULL DEFAULT NOW(),
last_message_at TIMESTAMP NOT NULL DEFAULT NOW(),
ended_at TIMESTAMP,
end_reason VARCHAR(64),
summary TEXT
);
CREATE INDEX idx_ias_context_sessions_active
ON ias_context_sessions(scope_key, started_at DESC)
WHERE ended_at IS NULL;
CREATE INDEX idx_ias_context_sessions_ended
ON ias_context_sessions(scope_key, ended_at DESC)
WHERE ended_at IS NOT NULL;
CREATE TABLE ias_context_messages (
id BIGSERIAL PRIMARY KEY,
session_id BIGINT NOT NULL REFERENCES ias_context_sessions(id) ON DELETE CASCADE,
role VARCHAR(32) NOT NULL,
content TEXT NOT NULL,
tool_call_id VARCHAR(255),
tool_calls TEXT,
created_at TIMESTAMP NOT NULL DEFAULT NOW()
);
CREATE INDEX idx_ias_context_messages_session
ON ias_context_messages(session_id, id);
CREATE TABLE ias_context_summaries (
id BIGSERIAL PRIMARY KEY,
scope_key VARCHAR(768) NOT NULL,
summary_type VARCHAR(32) NOT NULL,
source_session_id BIGINT REFERENCES ias_context_sessions(id) ON DELETE SET NULL,
content TEXT NOT NULL,
started_at TIMESTAMP,
ended_at TIMESTAMP,
created_at TIMESTAMP NOT NULL DEFAULT NOW()
);
CREATE INDEX idx_ias_context_summaries_latest
ON ias_context_summaries(scope_key, summary_type, created_at DESC);