@zhin.js/agent 0.0.18 → 0.0.20
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 +18 -0
- package/README.md +14 -8
- package/lib/builtin-tools.d.ts +4 -0
- package/lib/builtin-tools.d.ts.map +1 -1
- package/lib/builtin-tools.js +436 -29
- package/lib/builtin-tools.js.map +1 -1
- package/lib/file-policy.d.ts +41 -4
- package/lib/file-policy.d.ts.map +1 -1
- package/lib/file-policy.js +126 -4
- package/lib/file-policy.js.map +1 -1
- package/lib/index.d.ts +1 -1
- package/lib/index.d.ts.map +1 -1
- package/lib/index.js +1 -1
- package/lib/index.js.map +1 -1
- package/lib/init/create-zhin-agent.d.ts.map +1 -1
- package/lib/init/create-zhin-agent.js +1 -0
- package/lib/init/create-zhin-agent.js.map +1 -1
- package/lib/init/register-ai-trigger.d.ts.map +1 -1
- package/lib/init/register-ai-trigger.js +10 -3
- package/lib/init/register-ai-trigger.js.map +1 -1
- package/lib/init/register-builtin-tools.d.ts.map +1 -1
- package/lib/init/register-builtin-tools.js +1 -0
- package/lib/init/register-builtin-tools.js.map +1 -1
- package/lib/zhin-agent/config.js +1 -1
- package/lib/zhin-agent/config.js.map +1 -1
- package/lib/zhin-agent/exec-policy.d.ts +48 -2
- package/lib/zhin-agent/exec-policy.d.ts.map +1 -1
- package/lib/zhin-agent/exec-policy.js +184 -23
- package/lib/zhin-agent/exec-policy.js.map +1 -1
- package/lib/zhin-agent/prompt.d.ts +14 -0
- package/lib/zhin-agent/prompt.d.ts.map +1 -1
- package/lib/zhin-agent/prompt.js +192 -45
- package/lib/zhin-agent/prompt.js.map +1 -1
- package/package.json +3 -3
- package/src/builtin-tools.ts +457 -30
- package/src/file-policy.ts +152 -4
- package/src/index.ts +5 -1
- package/src/init/create-zhin-agent.ts +1 -0
- package/src/init/register-ai-trigger.ts +15 -3
- package/src/init/register-builtin-tools.ts +1 -0
- package/src/zhin-agent/config.ts +1 -1
- package/src/zhin-agent/exec-policy.ts +229 -24
- package/src/zhin-agent/prompt.ts +209 -47
- package/tests/exec-policy.test.ts +355 -0
- package/tests/file-policy.test.ts +189 -1
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,23 @@
|
|
|
1
1
|
# @zhin.js/agent
|
|
2
2
|
|
|
3
|
+
## 0.0.20
|
|
4
|
+
|
|
5
|
+
### Patch Changes
|
|
6
|
+
|
|
7
|
+
- c606a57: fix: ask_user 优化
|
|
8
|
+
- Updated dependencies [c606a57]
|
|
9
|
+
- @zhin.js/core@1.0.57
|
|
10
|
+
- @zhin.js/ai@1.0.18
|
|
11
|
+
|
|
12
|
+
## 0.0.19
|
|
13
|
+
|
|
14
|
+
### Patch Changes
|
|
15
|
+
|
|
16
|
+
- 20ab379: fix: ai 优化
|
|
17
|
+
- Updated dependencies [20ab379]
|
|
18
|
+
- @zhin.js/ai@1.0.17
|
|
19
|
+
- @zhin.js/core@1.0.56
|
|
20
|
+
|
|
3
21
|
## 0.0.18
|
|
4
22
|
|
|
5
23
|
### Patch Changes
|
package/README.md
CHANGED
|
@@ -7,10 +7,13 @@ Zhin AI Agent 组合层:在 `@zhin.js/core` 的类型与 Provider 之上,提
|
|
|
7
7
|
- 🤖 **Agent 循环**:`Agent` / `createAgent`,支持工具调用、迭代与事件
|
|
8
8
|
- 📝 **会话管理**:`SessionManager`、内存/数据库会话、`SessionManager.generateId`
|
|
9
9
|
- 🧠 **ZhinAgent**:与 Zhin 消息流集成的智能体(SOUL/TOOLS/AGENTS、工具收集、执行策略)
|
|
10
|
+
- �️ **6 层 Bash 安全**:`ExecPolicy` 纵深防御(危险黑名单、环境变量剥离、wrapper 剥离、复合命令拆分、只读放行、交互式审批)
|
|
11
|
+
- 📂 **文件访问安全**:`FilePolicy` 路径检查、设备路径拦截、命令读写分类
|
|
12
|
+
- 📋 **10 段系统提示词**:`PromptBuilder` 结构化 prompt(Identity、System、Tasks、Actions、Tools、Communication、Skills、Active Skills、Memory、Bootstrap)
|
|
10
13
|
- 🔌 **框架挂载**:`initAgentModule()` 注册 `ctx.ai`、定时任务、DB 模型等
|
|
11
14
|
- 📦 **上下文与记忆**:`ContextManager`、`ConversationMemory`、`UserProfileStore`
|
|
12
15
|
- ⏰ **跟进与定时**:`FollowUpManager`、`PersistentCronEngine`、cron 工具
|
|
13
|
-
- 🔧 **内置工具**:
|
|
16
|
+
- 🔧 **内置工具**:bash、read_file、write_file、ask_user、web_search、chat_history 等
|
|
14
17
|
- 📐 **会话压缩**:`compactSession`、token 估算、总结与裁剪
|
|
15
18
|
- 🪝 **Hook 系统**:`registerAIHook`、`triggerAIHook` 等
|
|
16
19
|
|
|
@@ -76,7 +79,9 @@ const result = await agent.run('你好')
|
|
|
76
79
|
| 初始化 | `initAgentModule` |
|
|
77
80
|
| Agent | `Agent`, `createAgent`, `formatToolTitle` |
|
|
78
81
|
| 服务与会话 | `AIService`, `SessionManager`, `MemorySessionManager`, `DatabaseSessionManager`, `createMemorySessionManager`, `createDatabaseSessionManager` |
|
|
79
|
-
| ZhinAgent | `ZhinAgent`,以及 config / exec-policy / tool-collector / prompt / builtin-tools 等子模块 |
|
|
82
|
+
| ZhinAgent | `ZhinAgent`,以及 config / exec-policy / file-policy / tool-collector / prompt / builtin-tools 等子模块 |
|
|
83
|
+
| 安全策略 | `checkExecPolicy`, `applyExecPolicyToTools`, `isDangerousCommand`, `stripEnvVarPrefix`, `stripSafeWrappers`, `splitCompoundCommand`, `extractCommandName`, `ExecPolicyResult`, `checkFileAccess`, `classifyBashCommand`, `isBlockedDevicePath` |
|
|
84
|
+
| 提示词构建 | `buildRichSystemPrompt`, `buildEnhancedPersona`, `buildUserMessageWithHistory`, `buildContextHint` |
|
|
80
85
|
| 上下文与记忆 | `ContextManager`, `createContextManager`, `ConversationMemory`, `UserProfileStore` |
|
|
81
86
|
| 跟进与定时 | `FollowUpManager`, `PersistentCronEngine`, `createCronTools`, `setCronManager`, `getCronManager` |
|
|
82
87
|
| 压缩与 Bootstrap | `compactSession`, `estimateTokens`, `loadBootstrapFiles`, `loadSoulPersona`, `loadToolsGuide`, `loadAgentsMemory` |
|
|
@@ -190,8 +195,9 @@ src/
|
|
|
190
195
|
├── hooks.ts
|
|
191
196
|
├── output.ts
|
|
192
197
|
├── tools.ts
|
|
193
|
-
├── builtin-tools.ts
|
|
198
|
+
├── builtin-tools.ts # 内置工具(bash、read_file、ask_user 等)
|
|
194
199
|
├── tone-detector.ts
|
|
200
|
+
├── file-policy.ts # 文件访问安全(路径检查、设备拦截、命令分类)
|
|
195
201
|
├── init.ts # initAgentModule 精简入口(委托子模块)
|
|
196
202
|
├── init/ # init 子模块(从 init.ts 拆分)
|
|
197
203
|
│ ├── shared-refs.ts
|
|
@@ -207,11 +213,11 @@ src/
|
|
|
207
213
|
│ └── register-builtin-tools.ts
|
|
208
214
|
└── zhin-agent/ # ZhinAgent 及子模块
|
|
209
215
|
├── index.ts # ZhinAgent 主类
|
|
210
|
-
├── config.ts
|
|
211
|
-
├── exec-policy.ts
|
|
212
|
-
├── tool-collector.ts
|
|
213
|
-
├── prompt.ts
|
|
214
|
-
└── builtin-tools.ts
|
|
216
|
+
├── config.ts # 配置与常量(ModelSizeHint、KEYWORD_TRIGGERS 等)
|
|
217
|
+
├── exec-policy.ts # Bash 执行安全(6 层纵深防御)
|
|
218
|
+
├── tool-collector.ts # 工具收集与过滤
|
|
219
|
+
├── prompt.ts # 系统提示词构建器(10 段结构化架构)
|
|
220
|
+
└── builtin-tools.ts # ZhinAgent 专用内置工具
|
|
215
221
|
```
|
|
216
222
|
|
|
217
223
|
### 构建
|
package/lib/builtin-tools.d.ts
CHANGED
|
@@ -7,11 +7,15 @@
|
|
|
7
7
|
* 计划: todo_read, todo_write
|
|
8
8
|
* 记忆: read_memory, write_memory (AGENTS.md)
|
|
9
9
|
* 技能: activate_skill, install_skill
|
|
10
|
+
* 交互: ask_user(基于 Prompt 类的用户确认/提问工具)
|
|
10
11
|
*
|
|
11
12
|
* 发现逻辑已拆分到 discover-skills.ts / discover-agents.ts / discover-tools.ts
|
|
12
13
|
*/
|
|
14
|
+
import { type Plugin } from '@zhin.js/core';
|
|
13
15
|
import { ZhinTool } from '@zhin.js/core';
|
|
14
16
|
export interface BuiltinToolsOptions {
|
|
17
|
+
/** 插件实例,用于 ask_user 工具创建 Prompt 交互 */
|
|
18
|
+
plugin?: Plugin;
|
|
15
19
|
/** Max chars for skill instruction extraction (model-size-aware) */
|
|
16
20
|
skillInstructionMaxChars?: number;
|
|
17
21
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"builtin-tools.d.ts","sourceRoot":"","sources":["../src/builtin-tools.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"builtin-tools.d.ts","sourceRoot":"","sources":["../src/builtin-tools.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAMH,OAAO,EAA2B,KAAK,MAAM,EAAiE,MAAM,eAAe,CAAC;AACpI,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAkMzC,MAAM,WAAW,mBAAmB;IAClC,sCAAsC;IACtC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,oEAAoE;IACpE,wBAAwB,CAAC,EAAE,MAAM,CAAC;IAClC;;OAEG;IACH,wBAAwB,CAAC,EAAE,MAAM,MAAM,EAAE,CAAC;IAC1C;;;OAGG;IACH,eAAe,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,MAAM,GAAG,SAAS,CAAC;CACxD;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,OAAO,CAAC,EAAE,mBAAmB,GAAG,QAAQ,EAAE,CAqtB5E"}
|