common-memory-core 0.2.0 → 0.2.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +23 -0
- package/README.md +15 -11
- package/dist/cli/tui-integrations.d.ts.map +1 -1
- package/dist/cli/tui-integrations.js +69 -60
- package/dist/cli/tui-integrations.js.map +1 -1
- package/dist/cli/tui-prompts.d.ts +3 -1
- package/dist/cli/tui-prompts.d.ts.map +1 -1
- package/dist/cli/tui-prompts.js +21 -11
- package/dist/cli/tui-prompts.js.map +1 -1
- package/dist/cli/tui-settings.d.ts +2 -1
- package/dist/cli/tui-settings.d.ts.map +1 -1
- package/dist/cli/tui-settings.js +185 -77
- package/dist/cli/tui-settings.js.map +1 -1
- package/dist/cli/tui.d.ts.map +1 -1
- package/dist/cli/tui.js +171 -120
- package/dist/cli/tui.js.map +1 -1
- package/docs/releasing.md +5 -5
- package/docs/tui-workbench.md +99 -167
- package/docs/usage.md +15 -8
- package/package.json +2 -2
package/dist/cli/tui.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import * as clack from '@clack/prompts';
|
|
2
|
-
import { join } from 'node:path';
|
|
2
|
+
import { basename, join } from 'node:path';
|
|
3
3
|
import { fileURLToPath } from 'node:url';
|
|
4
|
-
import { configDirectory,
|
|
4
|
+
import { configDirectory, loadConfig } from '../config/config.js';
|
|
5
5
|
import { DOCUMENT_AUTHORS } from '../v2/document-import.js';
|
|
6
6
|
import { listProjects, memoryView, registerProject, removeProject, retryJob, runtimeStatus } from './operations.js';
|
|
7
7
|
import { runFlush } from './flush-command.js';
|
|
@@ -9,49 +9,53 @@ import { runImport } from './import-command.js';
|
|
|
9
9
|
import { runNetworkTest } from './network-test.js';
|
|
10
10
|
import { runInteractiveProcess } from './interactive-process.js';
|
|
11
11
|
import { integrationsScreen } from './tui-integrations.js';
|
|
12
|
-
import { checkConfigUnchanged, runAdvancedWizard, runNetworkWizard, runPermissionsWizard, runSetupWizard, statusLines } from './tui-settings.js';
|
|
13
|
-
import { attempt, confirm, expandPath, log, menu, note, requireInteractive, text,
|
|
14
|
-
// Keep the original module's configuration entry points available to local callers.
|
|
12
|
+
import { checkConfigUnchanged, hasApiKey, runAdvancedWizard, runCredentialsWizard, runNetworkWizard, runPermissionsWizard, runSetupWizard, statusLines } from './tui-settings.js';
|
|
13
|
+
import { attempt, confirm, expandPath, log, menu, note, requireInteractive, text, UserCancelled, viewText } from './tui-prompts.js';
|
|
15
14
|
export { printStatus, showStatus, runNetworkWizard, runSetupWizard } from './tui-settings.js';
|
|
16
15
|
export { UserCancelled } from './tui-prompts.js';
|
|
17
16
|
function configured() {
|
|
18
17
|
const config = loadConfig();
|
|
19
18
|
if (!config)
|
|
20
|
-
throw new Error('
|
|
19
|
+
throw new Error('请先从首页完成初次设置。');
|
|
21
20
|
return config;
|
|
22
21
|
}
|
|
22
|
+
const stateLabels = { pending: '待处理', claimed: '处理中', running: '处理中', processed: '已处理', done: '已完成', retry: '等待重试', dead: '需要处理', quarantined: '已隔离' };
|
|
23
|
+
const stateLabel = (state) => stateLabels[state] ?? state;
|
|
23
24
|
function queueSummary(status) {
|
|
24
25
|
if (!status)
|
|
25
|
-
return '
|
|
26
|
-
const states = status.observations.map(row => `${row.state}
|
|
26
|
+
return '还没有处理记录。连接助手或导入文件后,可以在这里查看进度。';
|
|
27
|
+
const states = status.observations.map(row => `${stateLabel(String(row.state))} ${row.count}`).join(' · ') || '暂无材料';
|
|
27
28
|
const dead = status.jobs.filter(j => j.state === 'dead').length;
|
|
28
29
|
const retry = status.jobs.filter(j => j.state === 'retry').length;
|
|
29
|
-
return [
|
|
30
|
-
|
|
31
|
-
|
|
30
|
+
return [states, `任务:${dead} 个需要处理 · ${retry} 个等待重试`,
|
|
31
|
+
`会话:${status.sessions.length} 个 · ${status.sessions.filter(s => s.closing && !s.complete).length} 个已退出、尚未处理完`,
|
|
32
|
+
...(status.unbound || status.quarantinedDeliveries ? [`交付异常:${status.unbound} 个未关联 · ${status.quarantinedDeliveries} 个已隔离`] : []),
|
|
33
|
+
dead ? '下一步:打开「查看失败任务 / 重试」,先看原因再重试。' : '会话每完成 10 次交互或实际退出时交接;正在进行的尾批不会被强行提交。'].join('\n');
|
|
32
34
|
}
|
|
33
35
|
async function overview() {
|
|
34
36
|
for (;;) {
|
|
35
37
|
const config = configured();
|
|
36
|
-
note(
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
{ value: '
|
|
40
|
-
{ value: 'maintenance', label: '
|
|
41
|
-
{ value: 'back', label: '
|
|
38
|
+
note(queueSummary(runtimeStatus(config)), '运行状态 · 仅检查本机');
|
|
39
|
+
const action = await menu('想检查哪一项?', [
|
|
40
|
+
{ value: 'refresh', label: '刷新状态' },
|
|
41
|
+
{ value: 'details', label: '查看配置与存储路径', hint: '技术详情' },
|
|
42
|
+
{ value: 'maintenance', label: '处理未完成的任务' },
|
|
43
|
+
{ value: 'back', label: '返回首页' },
|
|
42
44
|
]);
|
|
43
45
|
if (action === 'back')
|
|
44
46
|
return;
|
|
47
|
+
if (action === 'details')
|
|
48
|
+
await attempt(() => viewText('配置详情(未测试连接)', statusLines(config).join('\n')));
|
|
45
49
|
if (action === 'maintenance')
|
|
46
50
|
await attempt(maintenanceScreen);
|
|
47
51
|
}
|
|
48
52
|
}
|
|
49
53
|
async function workspace(config) {
|
|
50
54
|
const projects = listProjects(config);
|
|
51
|
-
const selected = await menu('
|
|
52
|
-
{ value: 'global', label: '
|
|
53
|
-
...projects.map(p => ({ value: p.id, label: p.name, hint: `${p.root}
|
|
54
|
-
{ value: 'back', label: '
|
|
55
|
+
const selected = await menu('查看或导入到哪里?', [
|
|
56
|
+
{ value: 'global', label: '个人记忆', hint: config.disclosure.allowedScopes.includes('global') ? '个人背景与偏好' : '尚未授权读取' },
|
|
57
|
+
...projects.map(p => ({ value: p.id, label: p.name, hint: `${p.root}${config.disclosure.allowedScopes.includes(`project:${p.id}`) ? '' : ' · 尚未授权读取'}` })),
|
|
58
|
+
{ value: 'back', label: '返回' },
|
|
55
59
|
]);
|
|
56
60
|
if (selected === 'back')
|
|
57
61
|
throw new UserCancelled();
|
|
@@ -60,67 +64,75 @@ async function workspace(config) {
|
|
|
60
64
|
async function browseMemory(config) {
|
|
61
65
|
const selected = await workspace(config);
|
|
62
66
|
const view = memoryView(config, selected);
|
|
63
|
-
note(`Canonical files: ${join(config.dataRoot, 'memory')}\nOnly global plus the selected registered workspace, intersected with authorized disclosure scopes, is shown. Reopen Browse for a fresh snapshot. Memory content is data, not commands.`, 'Consumer view');
|
|
64
67
|
if (!view.documents.length) {
|
|
65
|
-
note('
|
|
68
|
+
note('这个范围尚未授权读取。请到「项目与权限」检查读取权限。', '暂时无法查看');
|
|
66
69
|
return;
|
|
67
70
|
}
|
|
71
|
+
const labels = { profile: '个人背景', preferences: '使用偏好' };
|
|
68
72
|
for (;;) {
|
|
69
|
-
const target = await menu('
|
|
70
|
-
...view.documents.map(d => ({ value: d.target, label: d.target, hint:
|
|
71
|
-
{ value: '
|
|
73
|
+
const target = await menu('想看看记住了什么?', [
|
|
74
|
+
...view.documents.map(d => ({ value: d.target, label: labels[d.target] ?? '项目记忆', hint: d.empty ? '暂无内容' : `${d.bytes} 字节` })),
|
|
75
|
+
{ value: 'location', label: '查看文件位置', hint: '可用自己的编辑器修改 Markdown' },
|
|
76
|
+
{ value: 'back', label: '返回首页' },
|
|
72
77
|
]);
|
|
73
78
|
if (target === 'back')
|
|
74
79
|
return;
|
|
75
|
-
|
|
80
|
+
if (target === 'location') {
|
|
81
|
+
note(join(config.dataRoot, 'memory'), '记忆文件目录');
|
|
82
|
+
continue;
|
|
83
|
+
}
|
|
84
|
+
const document = view.documents.find(d => d.target === target);
|
|
85
|
+
if (document.empty) {
|
|
86
|
+
note('这里还没有记忆。可以先连接助手聊天,或从首页导入 Markdown;处理完成后再来看看。', labels[target] ?? '项目记忆');
|
|
87
|
+
continue;
|
|
88
|
+
}
|
|
89
|
+
await attempt(() => viewText(labels[target] ?? '项目记忆', document.content));
|
|
76
90
|
}
|
|
77
91
|
}
|
|
78
92
|
async function importMarkdown(config) {
|
|
79
|
-
if (!config.disclosure.allowedProvenance.includes('document_import'))
|
|
80
|
-
|
|
81
|
-
|
|
93
|
+
if (!config.disclosure.allowedProvenance.includes('document_import')) {
|
|
94
|
+
note('导入前,需要允许模型处理你选择的 Markdown。文件会保留来源,不会被当成你逐句说过的话。', '先确认导入权限');
|
|
95
|
+
if (!await confirm('现在打开权限设置?'))
|
|
96
|
+
return;
|
|
97
|
+
await runPermissionsWizard(config);
|
|
98
|
+
config = configured();
|
|
99
|
+
if (!config.disclosure.allowedProvenance.includes('document_import')) {
|
|
100
|
+
log('未开启 Markdown 导入,没有添加文件。');
|
|
101
|
+
return;
|
|
102
|
+
}
|
|
103
|
+
}
|
|
104
|
+
const file = expandPath(await text('要导入哪个 Markdown 文件?(.md / .markdown,不支持符号链接)'));
|
|
82
105
|
const selected = await workspace(config);
|
|
83
|
-
const
|
|
84
|
-
const
|
|
85
|
-
const
|
|
86
|
-
|
|
87
|
-
{ value: '
|
|
106
|
+
const authorLabels = { user: '我写的', agent: 'AI 整理的', third_party: '其他人写的', mixed: '多个来源混合', unknown: '不确定' };
|
|
107
|
+
const author = await menu('这份材料是谁写的?', DOCUMENT_AUTHORS.map(value => ({ value, label: authorLabels[value] })), 'unknown');
|
|
108
|
+
const label = await text('给来源起个名字(留空使用文件名)', '', true);
|
|
109
|
+
const mode = await menu('什么时候整理?', [
|
|
110
|
+
{ value: 'wait', label: '现在整理', hint: '会调用模型,也可能处理其他已排队材料' },
|
|
111
|
+
{ value: 'queue', label: '先排队,稍后整理', hint: '后台处理器运行时仍可能自动处理' },
|
|
88
112
|
]);
|
|
89
|
-
note(
|
|
90
|
-
if (!await confirm('
|
|
113
|
+
note(`文件:${file}\n范围:${selected ?? '个人记忆'}\n来源:${label || basename(file)} · ${authorLabels[author]}\n处理:${mode === 'wait' ? '现在调用模型' : '先加入队列'}\n\n导入不保证保留全部内容,也不能仅凭它删除你表达过的记忆。\n入队后再取消,不会撤回已添加的材料。`, '确认导入');
|
|
114
|
+
if (!await confirm('按以上方式导入?'))
|
|
91
115
|
return;
|
|
92
116
|
checkConfigUnchanged(config);
|
|
93
117
|
const args = [file, '--author', author, ...(selected ? ['--workspace', selected] : []), ...(label ? ['--label', label] : []), ...(mode === 'queue' ? ['--no-wait'] : [])];
|
|
94
|
-
log('
|
|
118
|
+
log('正在导入… Ctrl+C 可停止等待,已入队的材料会保留。');
|
|
95
119
|
const { exitCode, outcome } = await runImport(config, args, log);
|
|
96
120
|
if (exitCode)
|
|
97
|
-
clack.log.warn('
|
|
121
|
+
clack.log.warn('还未处理完成。可到「处理未完成任务」查看原因。');
|
|
98
122
|
else if (outcome?.complete)
|
|
99
|
-
clack.log.success('
|
|
123
|
+
clack.log.success('整理完成。到「查看记忆」检查实际保留的内容;也可能没有新增记忆。');
|
|
100
124
|
else
|
|
101
|
-
clack.log.info('
|
|
102
|
-
}
|
|
103
|
-
async function memoryScreen() {
|
|
104
|
-
for (;;) {
|
|
105
|
-
const action = await menu('Common Memory / Memory', [
|
|
106
|
-
{ value: 'browse', label: 'Browse what consumers can read' },
|
|
107
|
-
{ value: 'import', label: 'Import a local Markdown document' },
|
|
108
|
-
{ value: 'back', label: 'Back' },
|
|
109
|
-
]);
|
|
110
|
-
if (action === 'back')
|
|
111
|
-
return;
|
|
112
|
-
await attempt(() => action === 'browse' ? browseMemory(configured()) : importMarkdown(configured()));
|
|
113
|
-
}
|
|
125
|
+
clack.log.info('已排队,尚未整理。之后可在「查看记忆」确认结果。');
|
|
114
126
|
}
|
|
115
127
|
async function projectsScreen() {
|
|
116
128
|
for (;;) {
|
|
117
129
|
const config = configured();
|
|
118
130
|
const projects = listProjects(config);
|
|
119
|
-
const action = await menu('
|
|
120
|
-
{ value: 'register', label: '
|
|
121
|
-
{ value: 'permissions', label: '
|
|
122
|
-
...projects.map(p => ({ value: p.id, label: p.name, hint: `${config.disclosure.allowedScopes.includes(`project:${p.id}`) ? '
|
|
123
|
-
{ value: 'back', label: '
|
|
131
|
+
const action = await menu('项目与权限', [
|
|
132
|
+
{ value: 'register', label: '添加项目', hint: '先登记目录,再单独授权' },
|
|
133
|
+
{ value: 'permissions', label: '设置读取、写入和材料权限' },
|
|
134
|
+
...projects.map(p => ({ value: p.id, label: p.name, hint: `${config.disclosure.allowedScopes.includes(`project:${p.id}`) ? '可读' : '不可读'} · ${config.writableScopes.includes(`project:${p.id}`) ? '可写' : '不可写'}` })),
|
|
135
|
+
{ value: 'back', label: '返回首页' },
|
|
124
136
|
]);
|
|
125
137
|
if (action === 'back')
|
|
126
138
|
return;
|
|
@@ -130,24 +142,25 @@ async function projectsScreen() {
|
|
|
130
142
|
return;
|
|
131
143
|
}
|
|
132
144
|
if (action === 'register') {
|
|
133
|
-
const root = expandPath(await text('
|
|
134
|
-
const name = await text('
|
|
135
|
-
if (await confirm(
|
|
145
|
+
const root = expandPath(await text('项目目录', process.cwd()));
|
|
146
|
+
const name = await text('项目名称', basename(root));
|
|
147
|
+
if (await confirm(`添加「${name}」?这一步只登记目录,不自动授权。`)) {
|
|
136
148
|
checkConfigUnchanged(config);
|
|
137
149
|
const project = registerProject(config, root, name);
|
|
138
|
-
|
|
150
|
+
clack.log.success(`已添加项目。下一步:在「设置读取、写入和材料权限」中授权。`);
|
|
151
|
+
note(project.root, project.name);
|
|
139
152
|
}
|
|
140
153
|
return;
|
|
141
154
|
}
|
|
142
155
|
const project = projects.find(p => p.id === action);
|
|
143
|
-
note(
|
|
144
|
-
const operation = await menu('
|
|
156
|
+
note(`目录:${project.root}\n记忆:${join(config.dataRoot, 'memory/projects', `${project.id}.md`)}`, project.name);
|
|
157
|
+
const operation = await menu('要对这个项目做什么?', [{ value: 'permissions', label: '设置权限' }, { value: 'remove', label: '移除项目登记', hint: '保留记忆文件' }, { value: 'back', label: '返回' }]);
|
|
145
158
|
if (operation === 'permissions')
|
|
146
159
|
await runPermissionsWizard(config);
|
|
147
|
-
else if (operation === 'remove' && await confirm(
|
|
160
|
+
else if (operation === 'remove' && await confirm(`移除「${project.name}」的登记?记忆文件和权限项会保留,正在运行的客户端需要重启。`)) {
|
|
148
161
|
checkConfigUnchanged(config);
|
|
149
162
|
const removed = removeProject(config, project.id);
|
|
150
|
-
note(removed ? '
|
|
163
|
+
note(removed ? '已移除登记,记忆文件仍在。请另外检查权限设置。' : '这个项目已经不在登记列表中。', '处理结果');
|
|
151
164
|
}
|
|
152
165
|
});
|
|
153
166
|
}
|
|
@@ -156,69 +169,86 @@ async function maintenanceScreen() {
|
|
|
156
169
|
for (;;) {
|
|
157
170
|
const config = configured();
|
|
158
171
|
const status = runtimeStatus(config);
|
|
159
|
-
note(queueSummary(status), '
|
|
160
|
-
const action = await menu('
|
|
161
|
-
{ value: '
|
|
162
|
-
{ value: 'jobs', label: '
|
|
163
|
-
{ value: '
|
|
164
|
-
{ value: '
|
|
165
|
-
{ value: '
|
|
166
|
-
{ value: 'back', label: '
|
|
172
|
+
note(queueSummary(status), '处理进度');
|
|
173
|
+
const action = await menu('要怎么继续?', [
|
|
174
|
+
{ value: 'flush', label: '整理已排队材料', hint: '调用模型;不提交进行中的会话尾批' },
|
|
175
|
+
{ value: 'jobs', label: '查看失败任务 / 重试' },
|
|
176
|
+
{ value: 'drain', label: '恢复退出后未完成的会话', hint: '调用模型,可能需要等待' },
|
|
177
|
+
{ value: 'sessions', label: '查看会话摘要', hint: '不显示聊天正文' },
|
|
178
|
+
{ value: 'refresh', label: '刷新进度' },
|
|
179
|
+
{ value: 'back', label: '返回' },
|
|
167
180
|
]);
|
|
168
181
|
if (action === 'back')
|
|
169
182
|
return;
|
|
170
183
|
await attempt(async () => {
|
|
171
184
|
if (action === 'sessions') {
|
|
172
|
-
|
|
185
|
+
const sessions = status?.sessions ?? [];
|
|
186
|
+
if (!sessions.length) {
|
|
187
|
+
log('还没有会话记录。连接助手并开始新会话后再来看看。');
|
|
188
|
+
return;
|
|
189
|
+
}
|
|
190
|
+
await viewText('会话摘要', sessions.map(s => `${s.id}\n${s.complete ? '交接已完成' : s.closing ? '已退出,等待处理' : '尚未收到退出交接'} · ${s.batches} 批 · 待处理 ${s.pending} · 失败 ${s.failed}`).join('\n\n'));
|
|
173
191
|
return;
|
|
174
192
|
}
|
|
175
193
|
if (action === 'jobs') {
|
|
176
194
|
const jobs = [...(status?.jobs ?? [])].reverse();
|
|
177
195
|
if (!jobs.length) {
|
|
178
|
-
|
|
196
|
+
log('还没有任务记录。');
|
|
179
197
|
return;
|
|
180
198
|
}
|
|
181
|
-
const id = await menu('
|
|
199
|
+
const id = await menu('任务记录(最新在前)', [...jobs.map(j => ({ value: j.id, label: `${stateLabel(j.state)} · ${j.id}`, hint: `已尝试 ${j.attempts} 次${j.issue ? ` · ${j.issue}` : ''}` })), { value: 'back', label: '返回' }]);
|
|
182
200
|
if (id === 'back')
|
|
183
201
|
return;
|
|
184
202
|
const job = jobs.find(j => j.id === id);
|
|
185
|
-
|
|
186
|
-
if (job.state === 'dead' && await confirm(
|
|
203
|
+
await viewText('任务诊断(不含模型响应正文)', JSON.stringify(job, null, 2));
|
|
204
|
+
if (job.state === 'dead' && await confirm('将这个任务重新加入队列?之后选择「整理已排队材料」继续。')) {
|
|
187
205
|
checkConfigUnchanged(config);
|
|
188
206
|
retryJob(config, id);
|
|
189
|
-
clack.log.success('
|
|
207
|
+
clack.log.success('已重新排队,尚未写入记忆。');
|
|
190
208
|
}
|
|
191
209
|
}
|
|
192
|
-
else if (action === 'flush' && await confirm('
|
|
210
|
+
else if (action === 'flush' && await confirm('现在调用模型整理队列?获授权的材料会发给配置的模型。')) {
|
|
193
211
|
checkConfigUnchanged(config);
|
|
194
|
-
log('
|
|
212
|
+
log('正在整理… Ctrl+C 可停止等待,未完成的任务会保留。');
|
|
195
213
|
const code = await runFlush(config, log);
|
|
196
214
|
if (code)
|
|
197
|
-
clack.log.warn('
|
|
215
|
+
clack.log.warn('还未完成或已取消。请查看任务诊断,等待重试不代表已完成。');
|
|
198
216
|
else
|
|
199
|
-
clack.log.success('
|
|
217
|
+
clack.log.success('已排队的整理任务已完成。进行中的会话尾批不受影响。');
|
|
200
218
|
}
|
|
201
|
-
else if (action === 'drain' && await confirm('
|
|
219
|
+
else if (action === 'drain' && await confirm('恢复会话交接并调用模型?获授权的材料会发送,可能需要等待其他处理器或重试间隔。')) {
|
|
202
220
|
checkConfigUnchanged(config);
|
|
203
|
-
log('
|
|
221
|
+
log('正在恢复… Ctrl+C 可停止本次等待,未完成的任务仍可恢复。');
|
|
204
222
|
const code = await runInteractiveProcess(process.execPath, [fileURLToPath(new URL('./main.js', import.meta.url)), 'session-drain', '--home', configDirectory()]);
|
|
205
223
|
if (code)
|
|
206
|
-
clack.log.warn(
|
|
224
|
+
clack.log.warn(`恢复未完成或已取消(退出码 ${code})。请先检查进度。`);
|
|
207
225
|
else
|
|
208
|
-
clack.log.success('
|
|
226
|
+
clack.log.success('已交接的会话材料处理完成;仍在运行的会话不会被关闭。');
|
|
209
227
|
}
|
|
210
228
|
});
|
|
211
229
|
}
|
|
212
230
|
}
|
|
231
|
+
async function testConnection(config) {
|
|
232
|
+
if (!await confirm('发送一条简短测试请求?会调用模型,但不发送记忆内容。'))
|
|
233
|
+
return;
|
|
234
|
+
checkConfigUnchanged(config);
|
|
235
|
+
log('正在测试连接… 最多 60 秒,Ctrl+C 可取消。');
|
|
236
|
+
const code = await runNetworkTest(config, log);
|
|
237
|
+
if (code)
|
|
238
|
+
clack.log.warn('连接未通过。请检查模型、API Key 或网络设置,再试一次。');
|
|
239
|
+
else
|
|
240
|
+
clack.log.success('模型连接正常。此测试不代表助手已接入,也未测试记忆写入。');
|
|
241
|
+
}
|
|
213
242
|
async function settingsScreen() {
|
|
214
243
|
for (;;) {
|
|
215
|
-
const action = await menu('
|
|
216
|
-
{ value: 'model', label: '
|
|
217
|
-
{ value: '
|
|
218
|
-
{ value: '
|
|
219
|
-
{ value: '
|
|
220
|
-
{ value: '
|
|
221
|
-
{ value: '
|
|
244
|
+
const action = await menu('设置', [
|
|
245
|
+
{ value: 'model', label: '更换模型 / API 地址' },
|
|
246
|
+
{ value: 'credentials', label: '设置 / 更换 API Key', hint: '不用重填模型' },
|
|
247
|
+
{ value: 'network', label: '设置代理 / 网络' },
|
|
248
|
+
{ value: 'probe', label: '测试模型连接', hint: '不发送记忆' },
|
|
249
|
+
{ value: 'permissions', label: '设置权限' },
|
|
250
|
+
{ value: 'advanced', label: '高级设置', hint: '输出长度、思考、运行限制、存储目录' },
|
|
251
|
+
{ value: 'back', label: '返回首页' },
|
|
222
252
|
]);
|
|
223
253
|
if (action === 'back')
|
|
224
254
|
return;
|
|
@@ -226,42 +256,60 @@ async function settingsScreen() {
|
|
|
226
256
|
const config = configured();
|
|
227
257
|
if (action === 'model')
|
|
228
258
|
await runSetupWizard(config);
|
|
259
|
+
else if (action === 'credentials')
|
|
260
|
+
await runCredentialsWizard(config);
|
|
229
261
|
else if (action === 'network')
|
|
230
262
|
await runNetworkWizard(config);
|
|
231
263
|
else if (action === 'permissions')
|
|
232
264
|
await runPermissionsWizard(config);
|
|
233
265
|
else if (action === 'advanced')
|
|
234
266
|
await runAdvancedWizard(config);
|
|
235
|
-
else
|
|
236
|
-
|
|
237
|
-
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
|
|
267
|
+
else
|
|
268
|
+
await testConnection(config);
|
|
269
|
+
});
|
|
270
|
+
}
|
|
271
|
+
}
|
|
272
|
+
/** Each completed step persists explicitly; skipping or cancelling later steps does not undo it. */
|
|
273
|
+
async function setup() {
|
|
274
|
+
await runSetupWizard(loadConfig());
|
|
275
|
+
for (;;) {
|
|
276
|
+
const action = await menu('模型配置已保存,下一步想做什么?', [
|
|
277
|
+
{ value: 'connect', label: '连接我的 AI 助手', hint: 'Pi / Codex / ChatGPT Work / MCP' },
|
|
278
|
+
{ value: 'probe', label: '先测试模型连接', hint: '只发测试请求,不发记忆' },
|
|
279
|
+
{ value: 'permissions', label: '调整记忆权限', hint: '默认只允许个人记忆和你表达的内容' },
|
|
280
|
+
{ value: 'back', label: '先到这里,返回首页', hint: '已保存的配置会保留' },
|
|
281
|
+
]);
|
|
282
|
+
if (action === 'back')
|
|
283
|
+
return;
|
|
284
|
+
await attempt(async () => {
|
|
285
|
+
if (action === 'connect')
|
|
286
|
+
await integrationsScreen();
|
|
287
|
+
else if (action === 'permissions')
|
|
288
|
+
await runPermissionsWizard(configured());
|
|
289
|
+
else
|
|
290
|
+
await testConnection(configured());
|
|
244
291
|
});
|
|
245
292
|
}
|
|
246
293
|
}
|
|
247
294
|
export async function runTui() {
|
|
248
295
|
requireInteractive();
|
|
249
|
-
clack.intro('Common Memory');
|
|
250
|
-
|
|
296
|
+
clack.intro('Common Memory · 让助手记住重要的事');
|
|
297
|
+
log('↑↓ 选择 · Enter 确认 · 多选用空格 · Esc 返回,首页退出\n打开菜单不会调用模型。');
|
|
298
|
+
let lastAction;
|
|
251
299
|
for (;;) {
|
|
252
300
|
const config = loadConfig();
|
|
253
|
-
note(config ? `Model: ${config.remote.model} · ${config.remote.api ?? 'responses'}\nStore: ${config.dataRoot}\nOverview shows queue health; Integrations distinguishes local readiness from host activation.` : `Not configured: ${configFilePath()}\nStart with configuration. Default authorization is global + delivered user expressions; imports/context require separate opt-in.`, 'Common Memory / Home');
|
|
254
301
|
let action;
|
|
255
302
|
try {
|
|
256
|
-
action = await menu('
|
|
257
|
-
{ value: '
|
|
258
|
-
{ value: '
|
|
259
|
-
{ value: '
|
|
260
|
-
{ value: '
|
|
261
|
-
{ value: '
|
|
262
|
-
{ value: '
|
|
263
|
-
{ value: '
|
|
264
|
-
|
|
303
|
+
action = await menu(config ? `想做什么? · ${config.remote.model}${hasApiKey(config) ? '' : ' · 未设置密钥,可只读'}` : '欢迎!先配好模型,再连接你的助手。', config ? [
|
|
304
|
+
{ value: 'browse', label: '查看记忆', hint: '看看助手能读到什么' },
|
|
305
|
+
{ value: 'import', label: '导入 Markdown', hint: '把已有笔记交给模型整理' },
|
|
306
|
+
{ value: 'integrations', label: '连接 / 管理 AI 助手', hint: 'Pi、Codex、Work、MCP' },
|
|
307
|
+
{ value: 'projects', label: '项目与权限', hint: '添加项目,决定可读可写范围' },
|
|
308
|
+
{ value: 'settings', label: '模型与设置', hint: 'API Key、代理、连接测试' },
|
|
309
|
+
{ value: 'maintenance', label: '处理未完成任务', hint: '整理、重试、恢复' },
|
|
310
|
+
{ value: 'overview', label: '查看运行状态', hint: '进度和存储位置' },
|
|
311
|
+
{ value: 'exit', label: '退出' },
|
|
312
|
+
] : [{ value: 'setup', label: '开始设置', hint: '模型 → 连接助手,可随时跳过后续步骤' }, { value: 'exit', label: '暂时退出' }], config && lastAction !== 'setup' ? lastAction : undefined);
|
|
265
313
|
}
|
|
266
314
|
catch (error) {
|
|
267
315
|
if (error instanceof UserCancelled)
|
|
@@ -270,13 +318,16 @@ export async function runTui() {
|
|
|
270
318
|
}
|
|
271
319
|
if (action === 'exit')
|
|
272
320
|
break;
|
|
321
|
+
lastAction = action;
|
|
273
322
|
await attempt(async () => {
|
|
274
323
|
if (action === 'setup')
|
|
275
|
-
await
|
|
324
|
+
await setup();
|
|
276
325
|
else if (action === 'overview')
|
|
277
326
|
await overview();
|
|
278
|
-
else if (action === '
|
|
279
|
-
await
|
|
327
|
+
else if (action === 'browse')
|
|
328
|
+
await browseMemory(configured());
|
|
329
|
+
else if (action === 'import')
|
|
330
|
+
await importMarkdown(configured());
|
|
280
331
|
else if (action === 'projects')
|
|
281
332
|
await projectsScreen();
|
|
282
333
|
else if (action === 'integrations')
|
|
@@ -287,6 +338,6 @@ export async function runTui() {
|
|
|
287
338
|
await settingsScreen();
|
|
288
339
|
});
|
|
289
340
|
}
|
|
290
|
-
clack.outro('
|
|
341
|
+
clack.outro('已退出。记忆和未完成的任务都还在。');
|
|
291
342
|
}
|
|
292
343
|
//# sourceMappingURL=tui.js.map
|
package/dist/cli/tui.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tui.js","sourceRoot":"","sources":["../../src/cli/tui.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"tui.js","sourceRoot":"","sources":["../../src/cli/tui.ts"],"names":[],"mappings":"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"}
|
package/docs/releasing.md
CHANGED
|
@@ -2,14 +2,14 @@
|
|
|
2
2
|
|
|
3
3
|
## 当前状态
|
|
4
4
|
|
|
5
|
-
v0.2 使用所有者确认的 MIT 许可证。npm 版本是 **0.2.
|
|
5
|
+
v0.2 使用所有者确认的 MIT 许可证。npm 版本是 **0.2.1**,GitHub tag 是 **v0.2.1**,
|
|
6
6
|
包名 `common-memory-core`,可执行命令 `common-memory`,默认发布标签 `latest`。
|
|
7
7
|
这是面向早期使用者的版本,不声称已经完成全部真实客户端验收。
|
|
8
8
|
|
|
9
9
|
Linux、macOS 和 WSL 在 Node 24 环境使用同一行安装命令:
|
|
10
10
|
|
|
11
11
|
```sh
|
|
12
|
-
npm install -g common-memory-core@0.2.
|
|
12
|
+
npm install -g common-memory-core@0.2.1
|
|
13
13
|
```
|
|
14
14
|
|
|
15
15
|
安装 Node / WSL 是前置要求,不包含在这个 npm 命令中。详细说明见 [README](../README.md)。
|
|
@@ -83,14 +83,14 @@ Release/tag 都要由维护者在对应服务上完成。本文和本地验证
|
|
|
83
83
|
发布后从一个新目录安装并核对 registry 中的版本:
|
|
84
84
|
|
|
85
85
|
```sh
|
|
86
|
-
npm view common-memory-core@0.2.
|
|
87
|
-
npm install -g common-memory-core@0.2.
|
|
86
|
+
npm view common-memory-core@0.2.1 version dist.integrity
|
|
87
|
+
npm install -g common-memory-core@0.2.1
|
|
88
88
|
common-memory --version
|
|
89
89
|
common-memory --help
|
|
90
90
|
npm run test:published
|
|
91
91
|
```
|
|
92
92
|
|
|
93
|
-
npm 发布成功并完成本地 registry 检查后,创建 GitHub Release `v0.2.
|
|
93
|
+
npm 发布成功并完成本地 registry 检查后,创建 GitHub Release `v0.2.1`。它会触发
|
|
94
94
|
`published-package` 工作流:Ubuntu / macOS 实际执行上述一行全局安装,核对 CLI 版本,
|
|
95
95
|
然后从 npm 下载 tarball 验证类型导出、Writer 提交/重启、Pi 模块和无 Key 的只读 MCP。
|
|
96
96
|
也可通过 Actions 的 Run workflow 输入精确版本手动重跑。这个工作流**不发布包**,只有
|