记忆工作台
让每一次继续,都从清晰的上下文开始。
最近召回
任务接续
目标、进展、下一步,都留在同一条线上。
记忆来源
看清召回了什么,核对原文,随时纠正。
写入记录
从本机队列到服务端处理,每一步都有状态。
最近写入
按记录时间排列查看原始投递状态
会话设置
为当前会话选择合适的记忆方式。
记忆模式
决定当前会话是否召回历史、记录新内容。
+召回预算
按完整来源块选取证据,为当前对话留出空间。
本机服务
关闭面板入口,不会删除长期记忆。
应用会检查 Codex、安装记忆插件,再在安全窗口内完成登录。
diff --git a/03-tmcra-web-console/package-lock.json b/03-tmcra-web-console/package-lock.json index e4cecb3..4d35049 100644 --- a/03-tmcra-web-console/package-lock.json +++ b/03-tmcra-web-console/package-lock.json @@ -1,12 +1,12 @@ { "name": "@tmcra/web-console", - "version": "0.3.0-rc.2", + "version": "1.0.0-rc.1", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "@tmcra/web-console", - "version": "0.3.0-rc.2", + "version": "1.0.0-rc.1", "dependencies": { "@ai-sdk/openai-compatible": "^3.0.30", "@assistant-ui/react": "^0.15.14", @@ -50,7 +50,7 @@ }, "../06-tmcra-sdk-integrations/integrations/vercel-ai-sdk": { "name": "@tmcra/vercel-ai-sdk", - "version": "0.3.0-rc.2", + "version": "1.0.0-rc.1", "license": "MIT", "devDependencies": { "@ai-sdk/provider": "4.0.3", @@ -60,12 +60,12 @@ }, "peerDependencies": { "@ai-sdk/provider": ">=4 <5", - "@tmcra/typescript": ">=0.3.0-rc.2 <0.4.0" + "@tmcra/typescript": ">=1.0.0-rc.1 <0.4.0" } }, "../06-tmcra-sdk-integrations/sdk/typescript": { "name": "@tmcra/typescript", - "version": "0.3.0-rc.2", + "version": "1.0.0-rc.1", "license": "MIT", "devDependencies": { "typescript": "^5.7.2" @@ -76,7 +76,7 @@ }, "deploy/gpuhome/miniflare-loopback-api-plugin": { "name": "@tmcra/miniflare-loopback-api-plugin", - "version": "0.3.0-rc.2", + "version": "1.0.0-rc.1", "dev": true, "dependencies": { "zod": "4.4.3" diff --git a/03-tmcra-web-console/package.json b/03-tmcra-web-console/package.json index dbbd34c..d9dcc49 100644 --- a/03-tmcra-web-console/package.json +++ b/03-tmcra-web-console/package.json @@ -1,6 +1,6 @@ { "name": "@tmcra/web-console", - "version": "0.3.0-rc.2", + "version": "1.0.0-rc.1", "private": true, "engines": { "node": ">=22.13.0" diff --git a/03-tmcra-web-console/public/downloads/tmcra-codex-1.0.0-rc.1.zip.sha256 b/03-tmcra-web-console/public/downloads/tmcra-codex-1.0.0-rc.1.zip.sha256 new file mode 100644 index 0000000..3e0ea65 --- /dev/null +++ b/03-tmcra-web-console/public/downloads/tmcra-codex-1.0.0-rc.1.zip.sha256 @@ -0,0 +1 @@ +a329fe3063023fba0068882b60fcfd9f7c393571c1bffd9e226e05148442c148 tmcra-codex-1.0.0-rc.1.zip diff --git a/03-tmcra-web-console/public/downloads/tmcra-codex-latest.zip.sha256 b/03-tmcra-web-console/public/downloads/tmcra-codex-latest.zip.sha256 index 4ff59fa..a3135f0 100644 --- a/03-tmcra-web-console/public/downloads/tmcra-codex-latest.zip.sha256 +++ b/03-tmcra-web-console/public/downloads/tmcra-codex-latest.zip.sha256 @@ -1 +1 @@ -df576ff7be026f67628124f402d5b06ceaf3f0a94ab0c6e516d96be70cbaa20a tmcra-codex-latest.zip +a329fe3063023fba0068882b60fcfd9f7c393571c1bffd9e226e05148442c148 tmcra-codex-latest.zip diff --git a/03-tmcra-web-console/public/downloads/tmcra-codex-release.json b/03-tmcra-web-console/public/downloads/tmcra-codex-release.json index 715cf20..e79f7d4 100644 --- a/03-tmcra-web-console/public/downloads/tmcra-codex-release.json +++ b/03-tmcra-web-console/public/downloads/tmcra-codex-release.json @@ -2,16 +2,16 @@ "schemaVersion": 1, "plugin": { "name": "tmcra-memory", - "version": "0.3.0-rc.10" + "version": "1.0.0-rc.1" }, "archive": { "latest": "tmcra-codex-latest.zip", - "versioned": "tmcra-codex-0.3.0-rc.10.zip", + "versioned": "tmcra-codex-1.0.0-rc.1.zip", "latestSha256": "tmcra-codex-latest.zip.sha256", - "versionedSha256": "tmcra-codex-0.3.0-rc.10.zip.sha256", - "bytes": 608689, - "sha256": "df576ff7be026f67628124f402d5b06ceaf3f0a94ab0c6e516d96be70cbaa20a", - "entryCount": 37 + "versionedSha256": "tmcra-codex-1.0.0-rc.1.zip.sha256", + "bytes": 6709140, + "sha256": "a329fe3063023fba0068882b60fcfd9f7c393571c1bffd9e226e05148442c148", + "entryCount": 235 }, "install": { "windows": ".\\Install-TMCRA.ps1", @@ -21,5 +21,5 @@ "node": ">=18", "codexPluginCli": true }, - "generatedAtUtc": "2026-09-04T00:02:14.7544528Z" + "generatedAtUtc": "2026-09-05T19:59:30.2754219Z" } diff --git a/03-tmcra-web-console/public/openapi.json b/03-tmcra-web-console/public/openapi.json index 610b418..0b0e251 100644 --- a/03-tmcra-web-console/public/openapi.json +++ b/03-tmcra-web-console/public/openapi.json @@ -6186,7 +6186,7 @@ "info": { "description": "Tenant-isolated long-term memory ingestion and prompt-ready recall. TMCRA does not generate the final assistant answer.", "title": "TMCRA Memory API", - "version": "0.3.0-rc2" + "version": "1.0.0-rc.1" }, "openapi": "3.1.0", "paths": { diff --git a/03-tmcra-web-console/tests/api-docs-contract.test.mjs b/03-tmcra-web-console/tests/api-docs-contract.test.mjs index 023ea54..914b37a 100644 --- a/03-tmcra-web-console/tests/api-docs-contract.test.mjs +++ b/03-tmcra-web-console/tests/api-docs-contract.test.mjs @@ -21,7 +21,7 @@ test("bilingual API docs cover every published OpenAPI operation", () => { } assert.equal(spec.info.title, "TMCRA Memory API"); - assert.equal(spec.info.version, "0.3.0-rc2"); + assert.equal(spec.info.version, JSON.parse(read("package.json")).version); assert.equal(spec.servers[0].url, "https://api.tmcra.com"); assert.equal(spec.paths["/v1/session"].get.operationId, "getAuthenticatedSession"); assert.equal(operations.length, 58); diff --git a/04-tmcra-desktop/package-lock.json b/04-tmcra-desktop/package-lock.json index d86c6d9..43e298e 100644 --- a/04-tmcra-desktop/package-lock.json +++ b/04-tmcra-desktop/package-lock.json @@ -1,12 +1,12 @@ { "name": "tmcra-memory-desktop", - "version": "0.3.0-rc.2", + "version": "1.0.0-rc.1", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "tmcra-memory-desktop", - "version": "0.3.0-rc.2", + "version": "1.0.0-rc.1", "license": "UNLICENSED", "devDependencies": { "electron": "43.1.1", diff --git a/04-tmcra-desktop/package.json b/04-tmcra-desktop/package.json index a26510f..6057503 100644 --- a/04-tmcra-desktop/package.json +++ b/04-tmcra-desktop/package.json @@ -1,6 +1,6 @@ { "name": "tmcra-memory-desktop", - "version": "0.3.0-rc.2", + "version": "1.0.0-rc.1", "private": true, "description": "TMCRA Memory desktop installer and account console for Codex", "author": "TMCRA", @@ -27,7 +27,7 @@ "tmcra": { "pluginArchive": "tmcra-codex-latest.zip", "pluginReleaseManifest": "tmcra-codex-release.json", - "fallbackPluginVersion": "0.3.0-rc.10", + "fallbackPluginVersion": "1.0.0-rc.1", "authorizationBaseUrl": "https://euvbyqa1jpvdm7yq-2000.sc01-webservice.gpuhome.cc:8443", "consolePath": "/personal", "allowedAuthenticationOrigins": [ diff --git a/04-tmcra-desktop/src/renderer/index.html b/04-tmcra-desktop/src/renderer/index.html index 269b1e8..0c4104a 100644 --- a/04-tmcra-desktop/src/renderer/index.html +++ b/04-tmcra-desktop/src/renderer/index.html @@ -41,7 +41,7 @@应用会检查 Codex、安装记忆插件,再在安全窗口内完成登录。
diff --git a/05-tmcra-mobile/android/app/build.gradle b/05-tmcra-mobile/android/app/build.gradle index b3fb0be..37345a5 100644 --- a/05-tmcra-mobile/android/app/build.gradle +++ b/05-tmcra-mobile/android/app/build.gradle @@ -52,7 +52,7 @@ def fetchSherpaAar = tasks.register('fetchSherpaAar') { URLConnection connection = new URL(assetUrl).openConnection() connection.connectTimeout = 30_000 connection.readTimeout = 300_000 - connection.setRequestProperty('User-Agent', 'TMCRA-Android-Build/0.3.0-rc2') + connection.setRequestProperty('User-Agent', 'TMCRA-Android-Build/1.0.0-rc.1') connection.inputStream.withCloseable { input -> temporary.withOutputStream { output -> input.transferTo(output) } } @@ -134,7 +134,7 @@ modelSpecs.each { spec -> URLConnection connection = new URL(assetUrl).openConnection() connection.connectTimeout = 30_000 connection.readTimeout = 300_000 - connection.setRequestProperty('User-Agent', 'TMCRA-Android-Build/0.3.0-rc2') + connection.setRequestProperty('User-Agent', 'TMCRA-Android-Build/1.0.0-rc.1') connection.inputStream.withCloseable { input -> temporary.withOutputStream { output -> input.transferTo(output) } } @@ -179,8 +179,8 @@ android { applicationId "com.tmcra.memory.mobile" minSdkVersion rootProject.ext.minSdkVersion targetSdkVersion rootProject.ext.targetSdkVersion - versionCode 4 - versionName "0.3.0-rc2" + versionCode 5 + versionName "1.0.0-rc.1" // The first hardware-validation build targets modern Android phones. // x86_64 is available only through -PtmcraTestAbi=x86_64 for the server emulator gate. // Release invocations keep the default arm64-v8a ABI. diff --git a/05-tmcra-mobile/android/app/src/main/java/com/tmcra/memory/mobile/net/TmcraApiClient.java b/05-tmcra-mobile/android/app/src/main/java/com/tmcra/memory/mobile/net/TmcraApiClient.java index 58b8360..06492a0 100644 --- a/05-tmcra-mobile/android/app/src/main/java/com/tmcra/memory/mobile/net/TmcraApiClient.java +++ b/05-tmcra-mobile/android/app/src/main/java/com/tmcra/memory/mobile/net/TmcraApiClient.java @@ -28,7 +28,7 @@ public final class TmcraApiClient { public static final String BASE_URL = "https://tmcra.com"; - public static final String CLIENT_VERSION = "0.3.0-rc2"; + public static final String CLIENT_VERSION = "1.0.0-rc.1"; private static final String CLIENT_HEADER = "com.tmcra.memory.mobile/" + CLIENT_VERSION; private static final int MAX_RESPONSE_BYTES = 4 * 1024 * 1024; private static final Pattern SESSION_COOKIE = Pattern.compile( diff --git a/05-tmcra-mobile/ios/App/App.xcodeproj/project.pbxproj b/05-tmcra-mobile/ios/App/App.xcodeproj/project.pbxproj index 08137f1..639ccc9 100644 --- a/05-tmcra-mobile/ios/App/App.xcodeproj/project.pbxproj +++ b/05-tmcra-mobile/ios/App/App.xcodeproj/project.pbxproj @@ -300,14 +300,14 @@ buildSettings = { ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; CODE_SIGN_STYLE = Automatic; - CURRENT_PROJECT_VERSION = 1; + CURRENT_PROJECT_VERSION = 2; INFOPLIST_FILE = App/Info.plist; IPHONEOS_DEPLOYMENT_TARGET = 15.0; LD_RUNPATH_SEARCH_PATHS = ( "$(inherited)", "@executable_path/Frameworks", ); - MARKETING_VERSION = 0.3.0; + MARKETING_VERSION = 1.0.0; OTHER_SWIFT_FLAGS = "$(inherited) \"-D\" \"COCOAPODS\" \"-DDEBUG\""; PRODUCT_BUNDLE_IDENTIFIER = com.tmcra.memory.mobile; PRODUCT_NAME = "$(TARGET_NAME)"; @@ -322,14 +322,14 @@ buildSettings = { ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; CODE_SIGN_STYLE = Automatic; - CURRENT_PROJECT_VERSION = 1; + CURRENT_PROJECT_VERSION = 2; INFOPLIST_FILE = App/Info.plist; IPHONEOS_DEPLOYMENT_TARGET = 15.0; LD_RUNPATH_SEARCH_PATHS = ( "$(inherited)", "@executable_path/Frameworks", ); - MARKETING_VERSION = 0.3.0; + MARKETING_VERSION = 1.0.0; PRODUCT_BUNDLE_IDENTIFIER = com.tmcra.memory.mobile; PRODUCT_NAME = "$(TARGET_NAME)"; SWIFT_ACTIVE_COMPILATION_CONDITIONS = ""; diff --git a/05-tmcra-mobile/package-lock.json b/05-tmcra-mobile/package-lock.json index 1720be5..e794955 100644 --- a/05-tmcra-mobile/package-lock.json +++ b/05-tmcra-mobile/package-lock.json @@ -1,12 +1,12 @@ { "name": "tmcra-memory-mobile", - "version": "0.3.0-rc.2", + "version": "1.0.0-rc.1", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "tmcra-memory-mobile", - "version": "0.3.0-rc.2", + "version": "1.0.0-rc.1", "license": "UNLICENSED", "dependencies": { "@capacitor/android": "8.5.0", diff --git a/05-tmcra-mobile/package.json b/05-tmcra-mobile/package.json index ee6e4fb..32e66d2 100644 --- a/05-tmcra-mobile/package.json +++ b/05-tmcra-mobile/package.json @@ -1,6 +1,6 @@ { "name": "tmcra-memory-mobile", - "version": "0.3.0-rc.2", + "version": "1.0.0-rc.1", "private": true, "description": "TMCRA native Android audio-memory client with local speaker identity and text-only remote memory retrieval", "license": "UNLICENSED", diff --git a/06-tmcra-sdk-integrations/integrations/hermes/plugin.yaml b/06-tmcra-sdk-integrations/integrations/hermes/plugin.yaml index 1669c37..a19160f 100644 --- a/06-tmcra-sdk-integrations/integrations/hermes/plugin.yaml +++ b/06-tmcra-sdk-integrations/integrations/hermes/plugin.yaml @@ -1,5 +1,5 @@ name: tmcra-hermes -version: 0.3.0rc2 +version: 1.0.0rc1 description: "TMCRA recall and completed-turn ingestion for Hermes Agent" kind: exclusive requires_env: diff --git a/06-tmcra-sdk-integrations/integrations/hermes/pyproject.toml b/06-tmcra-sdk-integrations/integrations/hermes/pyproject.toml index 731d35c..c958b9a 100644 --- a/06-tmcra-sdk-integrations/integrations/hermes/pyproject.toml +++ b/06-tmcra-sdk-integrations/integrations/hermes/pyproject.toml @@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta" [project] name = "tmcra-hermes-plugin" -version = "0.3.0rc2" +version = "1.0.0rc1" description = "Native Hermes Agent MemoryProvider for TMCRA" requires-python = ">=3.10" dependencies = [] diff --git a/06-tmcra-sdk-integrations/integrations/langgraph/pyproject.toml b/06-tmcra-sdk-integrations/integrations/langgraph/pyproject.toml index f946043..f8f002d 100644 --- a/06-tmcra-sdk-integrations/integrations/langgraph/pyproject.toml +++ b/06-tmcra-sdk-integrations/integrations/langgraph/pyproject.toml @@ -4,11 +4,11 @@ build-backend = "setuptools.build_meta" [project] name = "tmcra-langgraph" -version = "0.3.0rc2" +version = "1.0.0rc1" description = "LangGraph long-term memory nodes for TMCRA" requires-python = ">=3.10" readme = "README.md" -dependencies = ["tmcra-client>=0.3.0rc2,<0.4", "langgraph>=1.2,<2"] +dependencies = ["tmcra-client>=1.0.0rc1,<2", "langgraph>=1.2,<2"] license = { text = "MIT" } [project.optional-dependencies] diff --git a/06-tmcra-sdk-integrations/integrations/microsoft-agent-framework/src/TMCRA.AgentFramework/TMCRA.AgentFramework.csproj b/06-tmcra-sdk-integrations/integrations/microsoft-agent-framework/src/TMCRA.AgentFramework/TMCRA.AgentFramework.csproj index e136bfb..63cf20b 100644 --- a/06-tmcra-sdk-integrations/integrations/microsoft-agent-framework/src/TMCRA.AgentFramework/TMCRA.AgentFramework.csproj +++ b/06-tmcra-sdk-integrations/integrations/microsoft-agent-framework/src/TMCRA.AgentFramework/TMCRA.AgentFramework.csproj @@ -5,7 +5,7 @@让每一次继续,都从清晰的上下文开始。
目标、进展、下一步,都留在同一条线上。
看清召回了什么,核对原文,随时纠正。
从本机队列到服务端处理,每一步都有状态。
为当前会话选择合适的记忆方式。
决定当前会话是否召回历史、记录新内容。
+按完整来源块选取证据,为当前对话留出空间。
关闭面板入口,不会删除长期记忆。