diff --git a/apps/apsal-studio/electron/main.mjs b/apps/apsal-studio/electron/main.mjs
index f4c9a9d..3f01878 100644
--- a/apps/apsal-studio/electron/main.mjs
+++ b/apps/apsal-studio/electron/main.mjs
@@ -334,7 +334,10 @@ async function callProtocol(message = {}) {
if (!RENDERER_METHODS.has(method)) throw new Error(`Studio renderer is not allowed to call APSAL method: ${method}`)
if (!currentProjectRoot && !PROJECT_OPTIONAL_METHODS.has(method)) throw new Error('请先新建或打开 APSAL 项目目录')
const params = { ...(message.params || {}), project_root: currentProjectRoot || app.getPath('userData') }
- const result = await getSidecar().call(method, params)
+ const sidecar = getSidecar()
+ const wasRunning = sidecar.status().running
+ const result = await sidecar.call(method, params)
+ if (!wasRunning) publish('apsal-protocol:status', await protocolStatus())
if (PROTOCOL_MUTATIONS.has(method) || method === 'studio.view.save') {
publish('apsal-protocol:change', { method, result })
if (result?.snapshot) publish('apsal-protocol:snapshot', result.snapshot)
diff --git a/apps/apsal-studio/index.html b/apps/apsal-studio/index.html
index b78c589..03f26e1 100644
--- a/apps/apsal-studio/index.html
+++ b/apps/apsal-studio/index.html
@@ -3,7 +3,7 @@
-
+
APSAL Studio
diff --git a/apps/apsal-studio/src/App.tsx b/apps/apsal-studio/src/App.tsx
index 0cb685a..3917234 100644
--- a/apps/apsal-studio/src/App.tsx
+++ b/apps/apsal-studio/src/App.tsx
@@ -397,15 +397,15 @@ function CodexLinkPanel() {
CODEX 联动
-
{linkStatus?.connected ? 'Codex 已连接' : '等待 Codex 启动'}
+ {linkStatus?.connected ? 'Codex 已连接' : '等待 Codex 选择项目'}
由插件启动
- {linkStatus?.connected ? '正在联动当前 APSAL 项目' : '单独打开 Studio 不会连接 Codex'}
+ {linkStatus?.connected ? '正在联动当前 APSAL 项目' : '请从 Codex 发起当前项目联动'}
- {linkStatus?.connected ? 'Codex 插件正通过本机认证桥访问当前项目。它不能代理任意路径,也不能绕过协议 revision。' : '请在 Codex 中打开 APSAL 插件并开始创作;选择“打开并联动 APSAL Studio”后,插件会自动打开并绑定此界面。'}
+ {linkStatus?.connected ? 'Codex 插件正通过本机认证桥访问当前项目。它不能代理任意路径,也不能绕过协议 revision。' : '请在 Codex 中发送“连接我刚上传的 APSAL 项目并继续分析”。插件会选择已有项目、启动本机认证桥并绑定此界面,不会额外创建主题。'}
绑定项目{snapshot?.project.project_id ?? '未选择'}
{studioUpdates.length ? `${studioUpdates.length} 条已发往 Codex` : '双方已同步'}
@@ -949,7 +949,7 @@ export function App() {
- {screen === 'library' ?
setScreen('studio')} /> : <>
+ {screen === 'library' ? setScreen('studio')} linkStatus={linkStatus} /> : <>
{snapshot?.read_only && 只读模式:{snapshot.compatibility_error || '协议版本不兼容,请预览并复制迁移到 APSAL 0.16。'}{migrationError && {migrationError}}
}