actoviq-agent-sdk 0.1.8 → 0.1.9

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.
Files changed (32) hide show
  1. package/README-zh.md +27 -527
  2. package/README.md +25 -808
  3. package/dist/src/config/resolveRuntimeConfig.d.ts.map +1 -1
  4. package/dist/src/config/resolveRuntimeConfig.js +13 -22
  5. package/dist/src/config/resolveRuntimeConfig.js.map +1 -1
  6. package/dist/src/index.d.ts +1 -0
  7. package/dist/src/index.d.ts.map +1 -1
  8. package/dist/src/index.js +1 -0
  9. package/dist/src/index.js.map +1 -1
  10. package/dist/src/parity/actoviqBridgeSdk.d.ts.map +1 -1
  11. package/dist/src/parity/actoviqBridgeSdk.js +0 -2
  12. package/dist/src/parity/actoviqBridgeSdk.js.map +1 -1
  13. package/dist/src/runtime/actoviqSkills.d.ts +48 -0
  14. package/dist/src/runtime/actoviqSkills.d.ts.map +1 -0
  15. package/dist/src/runtime/actoviqSkills.js +621 -0
  16. package/dist/src/runtime/actoviqSkills.js.map +1 -0
  17. package/dist/src/runtime/agentClient.d.ts +16 -1
  18. package/dist/src/runtime/agentClient.d.ts.map +1 -1
  19. package/dist/src/runtime/agentClient.js +266 -4
  20. package/dist/src/runtime/agentClient.js.map +1 -1
  21. package/dist/src/runtime/agentSession.d.ts +4 -0
  22. package/dist/src/runtime/agentSession.d.ts.map +1 -1
  23. package/dist/src/runtime/agentSession.js +6 -0
  24. package/dist/src/runtime/agentSession.js.map +1 -1
  25. package/dist/src/runtime/messageUtils.d.ts +2 -1
  26. package/dist/src/runtime/messageUtils.d.ts.map +1 -1
  27. package/dist/src/runtime/messageUtils.js +12 -0
  28. package/dist/src/runtime/messageUtils.js.map +1 -1
  29. package/dist/src/types.d.ts +79 -0
  30. package/dist/src/types.d.ts.map +1 -1
  31. package/dist/src/types.js.map +1 -1
  32. package/package.json +2 -1
package/README-zh.md CHANGED
@@ -1,569 +1,69 @@
1
- # Actoviq Agent SDK
1
+ # Actoviq Agent SDK
2
2
 
3
3
  [![CI](https://github.com/DeconBear/actoviq-agent-sdk/actions/workflows/ci.yml/badge.svg)](https://github.com/DeconBear/actoviq-agent-sdk/actions/workflows/ci.yml)
4
4
  [![Publish npm Package](https://github.com/DeconBear/actoviq-agent-sdk/actions/workflows/publish-npm.yml/badge.svg)](https://github.com/DeconBear/actoviq-agent-sdk/actions/workflows/publish-npm.yml)
5
5
  [![npm version](https://img.shields.io/npm/v/actoviq-agent-sdk)](https://www.npmjs.com/package/actoviq-agent-sdk)
6
6
 
7
- [English](./README.md) | [涓枃](./README-zh.md)
7
+ [English](./README.md) | [中文](./README-zh.md)
8
8
 
9
- Actoviq Agent SDK 鏄竴涓嫭绔嬬殑瀹為獙鎬?agent SDK 椤圭洰锛岃仛鐒﹀宸ュ叿銆佸浼氳瘽浠ュ強 bridge 杈呭姪鐨?agent 宸ヤ綔娴併€?
9
+ Actoviq Agent SDK 是一个实验性的 TypeScript Agent SDK,支持 clean SDK 路线、MCP 集成、memory / compact helper,以及可选的 runtime bridge 路线。
10
10
 
11
- 褰撳墠浠撳簱浠嶅浜庢祴璇曢瑙堢増闃舵锛屽苟涓旇繕鍦ㄦ寔缁紑鍙戜腑銆侫PI銆佽繍琛屾椂琛屼负銆佸懡鍚嶃€佹墦鍖呮柟寮忎互鍙?parity 瑕嗙洊鑼冨洿鍚庣画閮藉彲鑳界户缁皟鏁淬€傛杩庡ぇ瀹舵彁浜?Issue 鍜?PR銆?
11
+ 当前仓库仍在持续开发中,API 和运行时行为后续可能继续调整。欢迎提交 Issue PR
12
12
 
13
- 鏈」鐩綋鍓嶄互鍏紑棰勮褰㈠紡鎸佺画杩唬寮€鍙戯紝鎺ュ彛鍜岃繍琛屾椂鑳藉姏浠嶄細缁х画瀹屽杽銆?
14
-
15
- 鏈」鐩噰鐢?[MIT License](./LICENSE) 寮€婧愬崗璁€?
16
-
17
- ## 椤圭洰浜偣
18
-
19
- - 鎻愪緵 Node.js / TypeScript agent SDK锛屽寘鍚?`run()`銆乣stream()`銆乻ession銆乼ools 鍜?MCP 鏀寔
20
- - 鎻愪緵 Actoviq Runtime bridge锛屽彲澶嶇敤 built-in tools銆乻kills銆乻ubagents 鍜屽師鐢?session/context 琛屼负
21
- - 鎻愪緵涓庝笂娓?session-memory / compact 杈圭晫璇箟瀵归綈鐨?memory 涓?compact state helper
22
- - 鎻愪緵 buddy / companion API锛屽彲鐢ㄤ簬瀛靛寲銆侀潤闊炽€佹姎鎽革紝浠ュ強鐢熸垚 companion prompt context
23
- - 鍦?vendored 闈?TUI runtime 涔嬩笂鎻愪緵鏇村共鍑€鐨勫澶?SDK 琛ㄩ潰
24
- - 鎻愪緵浜や簰寮忔祦寮忕ず渚嬶紝渚夸簬鏈湴璋冭瘯 agent
25
- - 鎸佺画琛ラ綈 workspace 绠$悊銆佹洿娣卞眰 subagent API锛屼互鍙婄鏈変緷璧栨浛浠?
26
-
27
- ## 蹇€熷紑濮?
28
-
29
- ### 1. 瀹夎渚濊禆
13
+ ## 安装
30
14
 
31
15
  ```bash
32
- npm install
16
+ npm install actoviq-agent-sdk zod
33
17
  ```
34
18
 
35
- ### 2. 鍑嗗 `~/.actoviq/settings.json`
36
-
37
- 鏈湴绀轰緥榛樿璇诲彇杩欎釜鏂囦欢锛?
19
+ 本地示例默认读取:
38
20
 
39
21
  ```text
40
22
  ~/.actoviq/settings.json
41
23
  ```
42
24
 
43
- 濡傛灉鐩綍杩樹笉瀛樺湪锛屽彲浠ュ厛鍒涘缓锛?
44
-
45
- ```powershell
46
- New-Item -ItemType Directory -Force $HOME\.actoviq | Out-Null
47
- ```
48
-
49
- ### 3. 杩愯鍩虹绀轰緥
50
-
51
- ```bash
52
- npm run example:quickstart
53
- ```
54
-
55
- ### 4. 鍚姩浜や簰寮?agent 绀轰緥
56
-
57
- ```bash
58
- npm run example:actoviq-interactive-agent
59
- ```
60
-
61
- 瀹冧細鍚姩涓€涓甫娴佸紡杈撳嚭銆佸伐鍏疯皟鐢ㄨ兘鍔涘拰鏃犻檺寰幆浼氳瘽鐨勪氦浜掑紡 REPL锛岀洿鍒颁綘涓诲姩閫€鍑恒€?
62
-
63
- ### 5. 鏌ョ湅 memory / compact state 绀轰緥
64
-
65
- ```bash
66
- npm run example:actoviq-memory
67
- npm run example:actoviq-session-memory
68
- ```
69
-
70
- ## 涓€鐪肩湅鎳傝繖涓粨搴?
71
-
72
- 杩欎釜浠撳簱鐜板湪涓昏鎻愪緵涓ゆ潯浣跨敤璺緞锛?
73
-
74
- 1. 鐢ㄤ簬涓氬姟闆嗘垚鐨勫共鍑€ SDK 灞?
75
- 2. 鐢ㄤ簬澶嶇敤 Actoviq 鍘熺敓闈?TUI agent 琛屼负鐨?runtime bridge 灞?
76
-
77
- 褰撳墠宸茬粡鍙敤鐨勮兘鍔涘寘鎷細
78
-
79
- - 鍩轰簬 Zod 鐨勬湰鍦板伐鍏峰畾涔?
80
- - 鏈湴銆乻tdio銆乻treamable HTTP 涓夌被 MCP 鎺ュ叆
81
- - 鎸佷箙鍖?session
82
- - bridge runtime introspection
83
- - memory 璁剧疆銆乻ession-memory prompt銆乧ompact state 妫€鏌?helper
84
- - vendored runtime 鏂囦欢宸ュ叿锛歚Read`銆乣Write`銆乣Edit`銆乣Glob`銆乣Grep`
85
- - bridge runtime 鐨?built-in tools銆乻kills 鍜?subagents
86
-
87
- ## 浣滀负搴撳畨瑁?
88
-
89
- ```bash
90
- npm install actoviq-agent-sdk zod
91
- ```
25
+ 如果你想用自己的 JSON 配置文件,也可以先调用 `loadJsonConfigFile(...)`。
92
26
 
93
- ## 鍩虹 SDK 绀轰緥
94
-
95
- ```ts
96
- import { z } from 'zod';
97
- import { createAgentSdk, loadDefaultActoviqSettings, tool } from 'actoviq-agent-sdk';
98
-
99
- await loadDefaultActoviqSettings();
100
- const sdk = await createAgentSdk();
101
-
102
- const addNumbers = tool(
103
- {
104
- name: 'add_numbers',
105
- description: 'Add two numbers together.',
106
- inputSchema: z.object({
107
- a: z.number(),
108
- b: z.number(),
109
- }),
110
- },
111
- async ({ a, b }) => ({ sum: a + b }),
112
- );
113
-
114
- const result = await sdk.run('Please use the add_numbers tool to calculate 19 + 23.', {
115
- tools: [addNumbers],
116
- systemPrompt: 'Use the provided tools whenever they are relevant.',
117
- });
118
-
119
- console.log(result.text);
120
- await sdk.close();
121
- ```
122
-
123
- ## 鏍稿績绀轰緥
124
-
125
- ### 澶氳疆浼氳瘽绀轰緥
27
+ ## 快速启动
126
28
 
127
29
  ```ts
128
30
  import { createAgentSdk, loadDefaultActoviqSettings } from 'actoviq-agent-sdk';
129
31
 
130
32
  await loadDefaultActoviqSettings();
131
- const sdk = await createAgentSdk();
132
- const session = await sdk.createSession({ title: 'Demo Session' });
133
-
134
- await session.send('Remember that my project codename is Sparrow.');
135
- const reply = await session.send('What is my project codename?');
136
-
137
- console.log(reply.text);
138
- ```
139
-
140
- ### 寰幆娴佸紡绀轰緥
141
33
 
142
- ```ts
143
- import { createAgentSdk, loadDefaultActoviqSettings } from 'actoviq-agent-sdk';
144
-
145
- await loadDefaultActoviqSettings();
146
34
  const sdk = await createAgentSdk();
147
35
 
148
- const prompts = [
149
- 'Introduce yourself in one concise sentence.',
150
- 'Now summarize the key idea of your previous sentence in one sentence.',
151
- 'Finally, give two short suggestions that would help a developer call this SDK more reliably.',
152
- ];
153
-
154
- const session = await sdk.createSession({ title: 'Stream Loop Example' });
155
-
156
- for (const prompt of prompts) {
157
- const stream = session.stream(prompt);
158
-
159
- for await (const event of stream) {
160
- if (event.type === 'response.text.delta') {
161
- process.stdout.write(event.delta);
162
- }
163
- }
164
-
165
- const result = await stream.result;
166
- console.log('\nfinal:', result.text);
36
+ try {
37
+ const result = await sdk.run('请用一句话做自我介绍。');
38
+ console.log(result.text);
39
+ } finally {
40
+ await sdk.close();
167
41
  }
168
-
169
- await sdk.close();
170
42
  ```
171
43
 
172
- ### Session Memory 示例
173
-
174
- ```ts
175
- import { createAgentSdk, loadDefaultActoviqSettings } from 'actoviq-agent-sdk';
176
-
177
- await loadDefaultActoviqSettings();
178
- const sdk = await createAgentSdk();
179
-
180
- const session = await sdk.createSession({ title: 'Session Memory Demo' });
181
- await session.send('We should bump package.json before tagging the next release.');
182
- await session.send('We also want CI green and concise release notes before publish.');
183
-
184
- const extraction = await session.extractMemory();
185
- const compactState = await session.compactState({
186
- includeSessionMemory: true,
187
- includeSummaryMessage: true,
188
- });
189
-
190
- console.log(extraction);
191
- console.log(compactState.runtimeState);
192
- console.log(compactState.sessionMemory?.content);
193
- ```
194
- ### Buddy 绀轰緥
195
-
196
- ```ts
197
- import { createActoviqBuddyApi } from 'actoviq-agent-sdk';
198
-
199
- const buddy = createActoviqBuddyApi({
200
- configPath: './buddy-settings.json',
201
- userId: 'demo-user',
202
- });
203
-
204
- const companion = await buddy.hatch({
205
- name: 'Orbit',
206
- personality: 'curious, calm, and observant',
207
- });
208
-
209
- console.log(companion);
210
- console.log(await buddy.pet());
211
- console.log(await buddy.getPromptContext());
212
- ```
213
-
214
- 浠撳簱鍐呭彲鐩存帴杩愯锛?
215
-
216
- ```bash
217
- npm run example:actoviq-buddy
218
- ```
219
-
220
- ## 浜や簰寮?Agent 绀轰緥
221
-
222
- 浠撳簱涓寘鍚竴涓熀浜?bridge 鐨勪氦浜掑紡绀轰緥锛屽叿澶囷細
223
-
224
- - 娴佸紡鍥炵瓟
225
- - 鍐呯疆宸ュ叿璁块棶鑳藉姏
226
- - vendored runtime 鎻愪緵鐨?skills 鍜?subagents
227
- - 鍙湪浠g爜涓洿鎺ヨ缃伐浣滅┖闂磋矾寰?
228
- - 鍙湪浠g爜涓洿鎺ヨ缃?JSON 閰嶇疆璺緞
229
- - 鏃犻檺寰幆锛岀洿鍒扮敤鎴蜂富鍔ㄩ€€鍑?
230
-
231
- 鍚姩鍛戒护锛?
44
+ 运行仓库自带示例:
232
45
 
233
46
  ```bash
47
+ npm run example:quickstart
234
48
  npm run example:actoviq-interactive-agent
235
49
  ```
236
50
 
237
- 涓昏鍙皟椤逛綅浜庯細
238
- [`examples/actoviq-interactive-agent.ts`](./examples/actoviq-interactive-agent.ts)
239
-
240
- ```ts
241
- const WORKSPACE_PATH = process.cwd();
242
- const JSON_CONFIG_PATH = path.resolve(
243
- process.cwd(),
244
- 'examples',
245
- 'interactive-agent.settings.local.json',
246
- );
247
- ```
51
+ ## 教程入口
248
52
 
249
- 浠撳簱涓寘鍚細
53
+ - English tutorial: [docs/en/README.md](./docs/en/README.md)
54
+ - 中文教程: [docs/zh/README.md](./docs/zh/README.md)
250
55
 
251
- - [`examples/interactive-agent.settings.example.json`](./examples/interactive-agent.settings.example.json)锛氬畨鍏ㄦā鏉?
252
- - `examples/interactive-agent.settings.local.json`锛氫粎渚涙湰鏈鸿皟璇曚娇鐢ㄧ殑鏈湴閰嶇疆鏂囦欢
56
+ 如果你想直接运行一个带流式输出和工具调用的终端聊天程序,先看:
253
57
 
254
- 鍏朵腑鏈湴璋冭瘯鏂囦欢宸茶 git 蹇界暐銆?
255
-
256
- ## Runtime Bridge
257
-
258
- 浣犱篃鍙互鐩存帴閫氳繃鏈?SDK 璋冭捣 vendored 鐨勯潪 TUI Actoviq Runtime銆?
259
- 杩欏眰 bridge 澶嶇敤浜嗕笂娓?headless CLI锛屽洜姝や細甯︿笂鍐呯疆宸ュ叿姹犮€乻kills銆乻ubagents锛屼互鍙婂師鐢?session/context 琛屼负銆?
260
-
261
- ```ts
262
- import { createActoviqBridgeSdk, loadDefaultActoviqSettings } from 'actoviq-agent-sdk';
263
-
264
- await loadDefaultActoviqSettings();
265
-
266
- const sdk = await createActoviqBridgeSdk({
267
- workDir: process.cwd(),
268
- maxTurns: 4,
269
- });
270
-
271
- const result = await sdk.run(
272
- 'Use Actoviq Runtime tools to inspect the examples directory, then summarize examples/quickstart.ts.',
273
- );
274
-
275
- console.log(result.initEvent?.agents);
276
- console.log(result.initEvent?.skills);
277
- console.log(result.sessionId);
278
- console.log(result.text);
279
- console.log(result.events.length);
280
- ```
281
-
282
- Bridge 璇存槑锛?
283
-
284
- - 瀹冮€氳繃 Bun 鎵ц vendored 鐨?Actoviq Runtime CLI bundle
285
- - 浼氳嚜鍔ㄦ敞鍏ョ敱 `loadJsonConfigFile(...)` 鎴?`loadDefaultActoviqSettings()` 鍔犺浇鐨勭幆澧冨彉閲?
286
- - 濡傛灉绯荤粺閲屽彲鐢?`rg`锛宐ridge 浼氫紭鍏堜娇鐢ㄧ郴缁?`rg`锛屼繚璇?`Glob` 鍜?`Grep` 鍦ㄧ己灏?bundled ripgrep 浜岃繘鍒舵椂渚濇棫鍙伐浣?
287
-
288
- ## Agent / Skill Helper
289
-
290
- bridge SDK 鐜板湪琛ヤ笂浜嗘洿鐩存帴鐨勯珮灞?helper锛屼笉闇€瑕佷綘姣忔鎵嬪姩鎷?`agent` 鍙傛暟鎴?slash command銆?
291
-
292
- ```ts
293
- import { createActoviqBridgeSdk, loadDefaultActoviqSettings } from 'actoviq-agent-sdk';
294
-
295
- await loadDefaultActoviqSettings();
296
- const sdk = await createActoviqBridgeSdk({ workDir: process.cwd() });
297
-
298
- const reviewer = sdk.useAgent('general-purpose');
299
- const reviewResult = await reviewer.run('Explain what this repository is for.');
300
-
301
- const debugSkill = sdk.useSkill('debug');
302
- const debugResult = await debugSkill.run(
303
- 'briefly explain what kinds of debugging help this runtime can provide without printing secrets, tokens, or full config values',
304
- );
305
-
306
- const compactResult = await sdk.context.compact('summarize current progress');
307
- const runtimeCatalog = await sdk.getRuntimeCatalog();
308
- ```
309
-
310
- 褰撳墠鍙互鐩存帴浣跨敤锛?
311
-
312
- - `sdk.agents.list()`
313
- - `sdk.agents.run(...)`
314
- - `sdk.skills.list()`
315
- - `sdk.skills.listMetadata()`
316
- - `sdk.skills.run(...)`
317
- - `sdk.tools.list()`
318
- - `sdk.tools.listMetadata()`
319
- - `sdk.slashCommands.list()`
320
- - `sdk.slashCommands.listMetadata()`
321
- - `sdk.getRuntimeCatalog()`
322
- - `sdk.runWithAgent(...)`
323
- - `sdk.runSkill(...)`
324
- - `sdk.sessions.continueMostRecent(...)`
325
- - `sdk.sessions.fork(...)`
326
- - `session.runSkill(...)`
327
- - `session.compact(...)`
328
- - `session.info()`
329
- - `session.messages()`
330
- - `session.fork(...)`
331
-
332
- ## Memory / Compact Helper
333
-
334
- SDK 鐜板湪涔熸彁渚涗簡鍙鐢ㄧ殑 memory / compact state helper锛岃璁′笂瀵归綈涓婃父
335
- `claude-code` 鐨?session-memory 涓?compact boundary 璇箟銆傝繖鏍锋垜浠彲浠ョ洿鎺ユ鏌?`.actoviq` 涓嬬殑 memory 璺緞銆乻ession-memory 妯℃澘涓?prompt銆乧ompact 杈圭晫鍘嗗彶锛?浠ュ強褰撳墠鏄惁婊¤冻 session-memory 鎻愬彇鎴?compaction 鐨勯槇鍊兼潯浠讹紝鍚屾椂涔熻ˉ涓?relevant memory 鐨?scan / select / surface helper銆?
336
- 鍦ㄦ爣鍑?SDK 璺緞涓嬶紝褰?auto memory 鎵撳紑鏃讹紝SDK 鐜板湪涔熶細鍦ㄦ瘡涓敤鎴?turn 寮€濮嬫椂
337
- 鑷姩鎶?relevant memories 浣滀负 meta reminder 娉ㄥ叆锛屽苟鍦?session 鍐呭宸茬粡 surfacing
338
- 杩囩殑 memory 鍋氬幓閲嶅拰瀛楄妭棰勭畻鎺у埗銆?
339
- Session-based 标准 SDK 现在也补上了更完整的 session-memory 自动提取链路:
340
-
341
- - 对话达到阈值后会自动初始化 session memory
342
- - 提取判断会综合 token 增长、tool call 活动以及自然 turn break
343
- - 满足条件的 session turn 结束后会自动刷新 summary.md
344
- - 也可以通过 `session.extractMemory()` 手动强制刷新
345
- - `session.compactState()` 会把文件系统 compact state 和 runtime 提取状态一起返回
346
-
347
- ```ts
348
- import {
349
- createActoviqMemoryApi,
350
- loadDefaultActoviqSettings,
351
- } from 'actoviq-agent-sdk';
352
-
353
- await loadDefaultActoviqSettings();
354
-
355
- const memory = createActoviqMemoryApi({
356
- projectPath: process.cwd(),
357
- sessionId: 'your-session-id',
358
- });
359
-
360
- const state = await memory.compactState({
361
- includeSessionMemory: true,
362
- includeBoundaries: true,
363
- includeSummaryMessage: true,
364
- currentTokenCount: 18000,
365
- tokensAtLastExtraction: 11000,
366
- initialized: true,
367
- toolCallsSinceLastUpdate: 4,
368
- });
369
-
370
- console.log(state.paths);
371
- console.log(state.progress);
372
- console.log(state.latestBoundary);
373
- console.log(state.summaryMessage);
374
- console.log(await memory.findRelevantMemories('how should I release this package?'));
375
- console.log(await memory.surfaceRelevantMemories('how should I release this package?'));
376
- ```
377
-
378
- 褰撳墠鍙洿鎺ヤ娇鐢細
379
-
380
- - `createActoviqMemoryApi(...)`
381
- - `sdk.memory`
382
- - `bridgeSdk.memory`
383
- - `memory.paths()`
384
- - `memory.getSettings()`
385
- - `memory.updateSettings(...)`
386
- - `memory.loadSessionTemplate()`
387
- - `memory.loadSessionPrompt()`
388
- - `memory.buildPromptWithEntrypoints()`
389
- - `memory.buildSessionUpdatePrompt(...)`
390
- - `memory.readSessionMemory(...)`
391
- - `memory.scanMemoryFiles(...)`
392
- - `memory.formatMemoryManifest(...)`
393
- - `memory.findRelevantMemories(...)`
394
- - `memory.surfaceRelevantMemories(...)`
395
- - `memory.getSessionMemoryConfig()`
396
- - `memory.getSessionMemoryCompactConfig()`
397
- - `memory.evaluateSessionMemoryProgress(...)`
398
- - `session.extractMemory(...)`
399
- - `parseActoviqSessionMemoryRuntimeState(...)`
400
- - `filterActoviqMessagesForSessionMemory(...)`
401
- - `estimateActoviqConversationTokens(...)`
402
- - `evaluateActoviqSessionMemoryProgress(...)`
403
- - `memory.compactState(...)`
404
- - `memory.buildSessionMemoryCompactSummary(...)`
405
- - `getActoviqBridgeCompactBoundaries(...)`
406
- - `getActoviqBridgeLatestCompactBoundary(...)`
407
- - `session.compactState(...)`
408
- - `sdk.context.compactState(...)`
409
- - `sdk.sessions.getCompactState(...)`
410
-
411
- 浠撳簱鍐呯ず渚嬪懡浠わ細
412
-
413
- ```bash
414
- npm run example:actoviq-memory
415
- npm run example:actoviq-session-memory
416
- ```
417
-
418
- ## Buddy Helper
419
-
420
- SDK 鐜板湪涔熸妸闈?TUI 鐨?buddy / companion 鑳藉姏灏佽鎴愪簡鍙鐢?API銆?
421
-
422
- ```ts
423
- import { createActoviqBuddyApi } from 'actoviq-agent-sdk';
424
-
425
- const buddy = createActoviqBuddyApi({ configPath: './settings.json' });
426
- const state = await buddy.state();
427
-
428
- if (!state.buddy) {
429
- await buddy.hatch({
430
- name: 'Orbit',
431
- personality: 'curious, steady, and supportive',
432
- });
433
- }
434
-
435
- console.log(await buddy.getPromptContext());
436
- ```
437
-
438
- 褰撳墠鍙洿鎺ヤ娇鐢細
439
-
440
- - `createActoviqBuddyApi(...)`
441
- - `sdk.buddy`
442
- - `bridgeSdk.buddy`
443
- - `buddy.state()`
444
- - `buddy.get()`
445
- - `buddy.hatch(...)`
446
- - `buddy.mute()`
447
- - `buddy.unmute()`
448
- - `buddy.pet()`
449
- - `buddy.getPromptContext(...)`
450
- - `buddy.getIntroAttachment(...)`
451
- - `buddy.getIntroText(...)`
452
-
453
- 鍦ㄦ爣鍑?SDK 璺緞涓嬶紝濡傛灉 buddy 宸插鍖栦笖鏈潤闊筹紝companion intro text 涔熶細鑷姩闄勫姞鍒?system prompt 涓€?
454
-
455
- ## Event Helper
456
-
457
- bridge 鐜板湪涔熸彁渚涗簡鍙鐢ㄧ殑浜嬩欢瑙f瀽 helper锛屾柟渚跨粺涓€澶勭悊 `Task` / subagent / tool 鐩稿叧浜嬩欢銆?
458
-
459
- ```ts
460
- import {
461
- analyzeActoviqBridgeEvents,
462
- getActoviqBridgeTextDelta,
463
- } from 'actoviq-agent-sdk';
464
-
465
- const stream = sdk.stream('inspect the current repository');
466
- const bufferedEvents = [];
467
-
468
- for await (const event of stream) {
469
- bufferedEvents.push(event);
470
-
471
- const delta = getActoviqBridgeTextDelta(event);
472
- if (delta) {
473
- process.stdout.write(delta);
474
- }
475
- }
476
-
477
- const analysis = analyzeActoviqBridgeEvents(bufferedEvents);
478
- console.log(analysis.toolRequests);
479
- console.log(analysis.taskInvocations);
480
- console.log(analysis.toolResults);
481
- ```
482
-
483
- - `getActoviqBridgeTextDelta(...)`
484
- - `extractActoviqBridgeToolRequests(...)`
485
- - `extractActoviqBridgeToolResults(...)`
486
- - `extractActoviqBridgeTaskInvocations(...)`
487
- - `analyzeActoviqBridgeEvents(...)`
488
-
489
- ## Workspace Helper
490
-
491
- 鐜板湪 SDK 涔熻ˉ涓婁簡鏄惧紡鐨?workspace 鐢熷懡鍛ㄦ湡 helper锛屼究浜庡厛鍒涘缓闅旂鐩綍锛屽啀鍚姩 agent 浼氳瘽銆?
492
-
493
- ```ts
494
- import {
495
- createAgentSdk,
496
- createTempWorkspace,
497
- createActoviqFileTools,
498
- } from 'actoviq-agent-sdk';
499
-
500
- const workspace = await createTempWorkspace({
501
- prefix: 'actoviq-demo-',
502
- copyFrom: './examples',
503
- });
504
-
505
- const sdk = await createAgentSdk({
506
- workDir: workspace.path,
507
- tools: createActoviqFileTools({ cwd: workspace.path }),
508
- });
509
-
510
- await sdk.close();
511
- await workspace.dispose();
512
- ```
513
-
514
- 褰撳墠鎻愪緵锛?
515
-
516
- - `createWorkspace(...)`
517
- - `createTempWorkspace(...)`
518
- - `createGitWorktreeWorkspace(...)`
519
-
520
-
521
- ## 褰撳墠鐘舵€佷笌璺嚎鍥?
522
-
523
- 褰撳墠鐘舵€侊細
524
-
525
- - npm 鍖呭凡缁忓彂甯冿紝鍙洿鎺ュ畨瑁呬娇鐢?
526
- - 鏍稿績 SDK 涓婚摼宸插彲鐢細`run()`銆乣stream()`銆乻ession銆乼ools銆丮CP
527
- - bridge runtime 涓婚摼宸插彲鐢細鍐呯疆宸ュ叿銆乺untime introspection銆佷氦浜掑紡绀轰緥
528
- - bridge SDK 宸茶ˉ鏇撮珮灞傜殑 agent / skill / context helper
529
- - bridge SDK 宸茶ˉ缁撴瀯鍖?metadata API 鍜?event helper
530
- - buddy API 宸插湪鏍囧噯 SDK 鍜?bridge SDK 涓や晶鍙敤
531
- - 鏂囦欢宸ュ叿宸茬粡鍙敤锛歚Read`銆乣Write`銆乣Edit`銆乣Glob`銆乣Grep`
532
- - workspace 鐢熷懡鍛ㄦ湡 helper 宸插彲鐢細鐩綍銆佷复鏃跺伐浣滃尯銆乬it worktree
533
- - examples銆乼ests銆乥uild銆乻moke 鍜屾墦鍖呮牎楠岄兘宸茬粡鍏峰
534
-
535
- 璺嚎鍥撅細
536
-
537
- - 缁х画琛?context銆乵emory銆乧ompact 绛夋洿娣卞眰鎺у埗鑳藉姏
538
- - 缁х画琛ユ洿涓板瘜鐨?agent / skill / subagent metadata 缁嗚妭
539
- - 缁х画琛ユ洿瀹屾暣鐨?workspace 妯℃澘鍜?sandbox orchestration
540
- - 琛?CI銆乺elease notes锛屼互鍙婃洿瀹屾暣鐨勮础鐚枃妗?
541
-
542
- ## 鏈湴寮€鍙戝懡浠?
543
-
544
- ```bash
545
- npm run typecheck
546
- npm test
547
- npm run build
548
- npm run smoke
549
- npm run example:quickstart
550
- npm run example:session
551
- npm run example:stream-loop
552
- npm run example:actoviq-bridge-sdk
553
- npm run example:actoviq-interactive-agent
554
- npm run example:actoviq-introspection
555
- npm run example:actoviq-file-tools
556
- npm run example:actoviq-agent-helpers
557
- npm run example:actoviq-workspaces
558
- npm run example:actoviq-sessions
559
- npm run example:actoviq-session-messages
560
- npm run example:actoviq-buddy
561
- ```
58
+ - [examples/actoviq-interactive-agent.ts](./examples/actoviq-interactive-agent.ts)
562
59
 
563
- `npm run smoke` 浼氳鍙?`~/.actoviq/settings.json` 骞舵墽琛屼竴娆$湡瀹炶仈璋冮獙璇併€?
60
+ 如果你想先走 clean SDK 路线,推荐从这里开始:
564
61
 
565
- ## 鍙備笌璐$尞
62
+ - [examples/quickstart.ts](./examples/quickstart.ts)
63
+ - [examples/actoviq-skills.ts](./examples/actoviq-skills.ts)
566
64
 
567
- 褰撳墠椤圭洰浠嶅湪蹇€熻凯浠d腑銆傚鏋滀綘鍙戠幇闂銆佺湅鍒扮己澶辩殑 parity 鑳藉姏锛屾垨鑰呮兂鎻愬嚭鏇村ソ鐨?API 璁捐锛屾杩庣洿鎺ユ彁 Issue 鎴栧彂 PR銆?
65
+ ## 欢迎贡献
568
66
 
67
+ 欢迎贡献代码、文档和示例。如果你发现问题、教程缺口或能力对齐问题,都欢迎开 Issue 或直接发 PR。
569
68
 
69
+ 项目采用 [MIT License](./LICENSE)。