chivgent 0.9.0 → 0.11.0
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/README.md +144 -10
- package/README.zh-CN.md +123 -8
- package/dist/agent.d.ts.map +1 -1
- package/dist/agent.js +9 -0
- package/dist/agent.js.map +1 -1
- package/dist/cli-options.d.ts +13 -2
- package/dist/cli-options.d.ts.map +1 -1
- package/dist/cli-options.js +39 -5
- package/dist/cli-options.js.map +1 -1
- package/dist/cli.js +166 -6
- package/dist/cli.js.map +1 -1
- package/dist/events.d.ts +17 -1
- package/dist/events.d.ts.map +1 -1
- package/dist/events.js.map +1 -1
- package/dist/extensions/api.d.ts +38 -0
- package/dist/extensions/api.d.ts.map +1 -0
- package/dist/extensions/api.js +2 -0
- package/dist/extensions/api.js.map +1 -0
- package/dist/extensions/decide-trust.d.ts +28 -0
- package/dist/extensions/decide-trust.d.ts.map +1 -0
- package/dist/extensions/decide-trust.js +96 -0
- package/dist/extensions/decide-trust.js.map +1 -0
- package/dist/extensions/discover.d.ts +19 -0
- package/dist/extensions/discover.d.ts.map +1 -0
- package/dist/extensions/discover.js +61 -0
- package/dist/extensions/discover.js.map +1 -0
- package/dist/extensions/loader.d.ts +28 -0
- package/dist/extensions/loader.d.ts.map +1 -0
- package/dist/extensions/loader.js +60 -0
- package/dist/extensions/loader.js.map +1 -0
- package/dist/extensions/registry.d.ts +36 -0
- package/dist/extensions/registry.d.ts.map +1 -0
- package/dist/extensions/registry.js +115 -0
- package/dist/extensions/registry.js.map +1 -0
- package/dist/extensions/trust.d.ts +44 -0
- package/dist/extensions/trust.d.ts.map +1 -0
- package/dist/extensions/trust.js +129 -0
- package/dist/extensions/trust.js.map +1 -0
- package/dist/render.d.ts +5 -0
- package/dist/render.d.ts.map +1 -1
- package/dist/render.js +36 -0
- package/dist/render.js.map +1 -1
- package/dist/repl.d.ts +12 -1
- package/dist/repl.d.ts.map +1 -1
- package/dist/repl.js +47 -2
- package/dist/repl.js.map +1 -1
- package/dist/session.d.ts.map +1 -1
- package/dist/session.js +2 -1
- package/dist/session.js.map +1 -1
- package/dist/shell/config.d.ts +14 -0
- package/dist/shell/config.d.ts.map +1 -0
- package/dist/shell/config.js +43 -0
- package/dist/shell/config.js.map +1 -0
- package/dist/shell/local.d.ts +10 -0
- package/dist/shell/local.d.ts.map +1 -0
- package/dist/shell/local.js +90 -0
- package/dist/shell/local.js.map +1 -0
- package/dist/shell/output.d.ts +54 -0
- package/dist/shell/output.d.ts.map +1 -0
- package/dist/shell/output.js +168 -0
- package/dist/shell/output.js.map +1 -0
- package/dist/shell/process.d.ts +21 -0
- package/dist/shell/process.d.ts.map +1 -0
- package/dist/shell/process.js +134 -0
- package/dist/shell/process.js.map +1 -0
- package/dist/shell/sanitize.d.ts +10 -0
- package/dist/shell/sanitize.d.ts.map +1 -0
- package/dist/shell/sanitize.js +34 -0
- package/dist/shell/sanitize.js.map +1 -0
- package/dist/shell/truncate.d.ts +31 -0
- package/dist/shell/truncate.d.ts.map +1 -0
- package/dist/shell/truncate.js +121 -0
- package/dist/shell/truncate.js.map +1 -0
- package/dist/shell/types.d.ts +33 -0
- package/dist/shell/types.d.ts.map +1 -0
- package/dist/shell/types.js +26 -0
- package/dist/shell/types.js.map +1 -0
- package/dist/tools/bash.d.ts +42 -0
- package/dist/tools/bash.d.ts.map +1 -0
- package/dist/tools/bash.js +225 -0
- package/dist/tools/bash.js.map +1 -0
- package/dist/tools/tool.d.ts +5 -0
- package/dist/tools/tool.d.ts.map +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -39,6 +39,12 @@ to study before adding production-harness complexity.
|
|
|
39
39
|
- Deterministic project discovery through `list_files` and literal `search_text`.
|
|
40
40
|
- Ranged `read_file` output with continuation hints and bounded tool results.
|
|
41
41
|
- Read-only by default; `--allow-writes` adds `write_file` and `edit_file`.
|
|
42
|
+
- An opt-in `bash` tool behind `--allow-shell`, with streamed output.
|
|
43
|
+
- Extensions that add tools, slash commands, event handlers and prompt text.
|
|
44
|
+
- Project extensions gated by a per-directory trust decision, taken before any
|
|
45
|
+
module is imported and refused outright when there is no terminal to ask.
|
|
46
|
+
- Commands run in their own process group, so cancelling kills the whole tree.
|
|
47
|
+
- Command output is truncated from the tail; the full text goes to a temp file.
|
|
42
48
|
- Exact-match `edit_file` that refuses missing or ambiguous edits.
|
|
43
49
|
- Edits preserve the file's own byte order mark and CRLF line endings.
|
|
44
50
|
- Atomic writes: a crash mid-write leaves the original file intact.
|
|
@@ -126,9 +132,11 @@ chivgent [options] "question" Answer one question and exit
|
|
|
126
132
|
chivgent [options] Start an interactive session
|
|
127
133
|
|
|
128
134
|
Options:
|
|
129
|
-
--provider NAME openai, deepseek,
|
|
135
|
+
--provider NAME openai, deepseek, openai-compatible, openrouter, groq, xai,
|
|
136
|
+
moonshot (default: openai)
|
|
130
137
|
--model MODEL Provider model override
|
|
131
|
-
--max-turns N Tool-calling turn limit (default: 8, 16 with --allow-writes
|
|
138
|
+
--max-turns N Tool-calling turn limit (default: 8, 16 with --allow-writes
|
|
139
|
+
or --allow-shell)
|
|
132
140
|
--no-stream Wait for the full answer instead of streaming tokens
|
|
133
141
|
-q, --quiet Hide tool activity on stderr
|
|
134
142
|
--json Write the run as JSON lines instead of rendered text
|
|
@@ -137,6 +145,11 @@ Options:
|
|
|
137
145
|
--api-key KEY API key for this run; prefer an environment variable
|
|
138
146
|
--sessions List recorded sessions and exit
|
|
139
147
|
--allow-writes Let the agent create and change files (default: read-only)
|
|
148
|
+
--allow-shell Let the agent run shell commands. This implies write access:
|
|
149
|
+
a shell is not bound by the workspace. Unix only.
|
|
150
|
+
--no-extensions Do not load any extension, and do not ask about trust
|
|
151
|
+
--extensions List loaded extensions and what they register, then exit
|
|
152
|
+
--forget-trust Forget the trust decision covering this workspace, then exit
|
|
140
153
|
--context-window N Token budget for the context (default: 128000)
|
|
141
154
|
--no-compaction Send the whole transcript instead of summarising old turns
|
|
142
155
|
--no-session Do not record this run
|
|
@@ -211,7 +224,8 @@ User -> CLI -> Agent -> LLMClient |
|
|
|
211
224
|
| +-> OpenAI-compatible Chat -> DeepSeek / custom
|
|
212
225
|
|
|
|
213
226
|
+-> Tool Registry -> list_files / search_text / read_file -> Workspace
|
|
214
|
-
|
|
227
|
+
| write_file / edit_file (--allow-writes)
|
|
228
|
+
| bash (--allow-shell) -> ShellOperations
|
|
215
229
|
```
|
|
216
230
|
|
|
217
231
|
The Agent runtime owns its own messages. Provider-specific schemas are converted
|
|
@@ -370,6 +384,22 @@ src/
|
|
|
370
384
|
read-file.ts Ranged text-file reader
|
|
371
385
|
write-file.ts Whole-file create and replace
|
|
372
386
|
edit-file.ts Exact unique-match edit
|
|
387
|
+
bash.ts Shell command execution
|
|
388
|
+
extensions/
|
|
389
|
+
trust.ts Per-directory trust store
|
|
390
|
+
decide-trust.ts The prompt, and the refusal when nobody can answer
|
|
391
|
+
discover.ts Where extensions live and which files count
|
|
392
|
+
api.ts What an extension may register
|
|
393
|
+
registry.ts Collects registrations, rejects conflicts
|
|
394
|
+
loader.ts Imports modules and contains their failures
|
|
395
|
+
shell/
|
|
396
|
+
types.ts Execution contract and shell error types
|
|
397
|
+
config.ts Shell resolution and the Windows guard
|
|
398
|
+
local.ts Local spawn backend
|
|
399
|
+
process.ts Process-group kill and exit handling
|
|
400
|
+
output.ts Bounded streaming output accumulator
|
|
401
|
+
truncate.ts Tail truncation for command output
|
|
402
|
+
sanitize.ts Control-character filtering
|
|
373
403
|
tests/ Provider, loop, and workspace tests
|
|
374
404
|
docs/ Architecture and learning notes
|
|
375
405
|
```
|
|
@@ -399,6 +429,67 @@ npm install -g ./chivgent-0.6.0.tgz
|
|
|
399
429
|
Tests use scripted or mocked LLM clients. A real API smoke test is deliberately
|
|
400
430
|
manual so the default test suite never consumes credits.
|
|
401
431
|
|
|
432
|
+
## Extensions
|
|
433
|
+
|
|
434
|
+
An extension is an ES module that default-exports a function. It is called once
|
|
435
|
+
at startup with an API that can add a tool, add a slash command, subscribe to
|
|
436
|
+
runtime events, and append to the system prompt.
|
|
437
|
+
|
|
438
|
+
```js
|
|
439
|
+
// .chivgent/extensions/word-count.js
|
|
440
|
+
export default function (api) {
|
|
441
|
+
api.registerTool({
|
|
442
|
+
name: "word_count",
|
|
443
|
+
description: "Count the words in a workspace file.",
|
|
444
|
+
inputSchema: {
|
|
445
|
+
type: "object",
|
|
446
|
+
properties: { path: { type: "string" } },
|
|
447
|
+
required: ["path"],
|
|
448
|
+
additionalProperties: false,
|
|
449
|
+
},
|
|
450
|
+
async execute(args, context) {
|
|
451
|
+
const file = await context.workspace.readTextFile(args.path);
|
|
452
|
+
return {
|
|
453
|
+
content: `${file.content.split(/\s+/).filter(Boolean).length} words`,
|
|
454
|
+
isError: false,
|
|
455
|
+
};
|
|
456
|
+
},
|
|
457
|
+
});
|
|
458
|
+
|
|
459
|
+
api.contributeSystemPrompt("Use word_count instead of reading a file to count words.");
|
|
460
|
+
}
|
|
461
|
+
```
|
|
462
|
+
|
|
463
|
+
Extensions are loaded from two places:
|
|
464
|
+
|
|
465
|
+
| Location | Loaded |
|
|
466
|
+
| --- | --- |
|
|
467
|
+
| `<CHIVGENT_HOME>/extensions/` | Always: it is your own machine's configuration |
|
|
468
|
+
| `<workspace>/.chivgent/extensions/` | Only after you trust the project |
|
|
469
|
+
|
|
470
|
+
Both accept `name.js` and `name/index.js`; nesting stops there. Plain JavaScript
|
|
471
|
+
only — compiling TypeScript yourself is cheaper than making chivgent carry a
|
|
472
|
+
TypeScript loader. A name already taken by a built-in tool or command is refused,
|
|
473
|
+
so an extension cannot shadow `read_file` or `/clear`, and a broken extension is
|
|
474
|
+
reported and skipped rather than taking chivgent down with it.
|
|
475
|
+
|
|
476
|
+
`chivgent --extensions` lists what loaded and what each one registered.
|
|
477
|
+
|
|
478
|
+
### Project trust
|
|
479
|
+
|
|
480
|
+
The first time you run chivgent in a project that ships extensions, it describes
|
|
481
|
+
what they are and asks once. The answer is stored in `<CHIVGENT_HOME>/trust.json`
|
|
482
|
+
against the resolved directory path, and matched by nearest ancestor, so trusting
|
|
483
|
+
`~/work` covers every repository under it. `--forget-trust` removes the decision
|
|
484
|
+
covering the current workspace.
|
|
485
|
+
|
|
486
|
+
**Trusting a project means letting its authors run code as you.** An extension
|
|
487
|
+
executes inside the chivgent process: it is not bound by the workspace, it does
|
|
488
|
+
not need `--allow-shell` to run a command, and it can read your environment
|
|
489
|
+
including the API key. That is why the question is asked before anything is
|
|
490
|
+
imported, and why the answer is no whenever there is nobody to ask — a CI job or
|
|
491
|
+
a piped run never loads a checkout's extensions on its own.
|
|
492
|
+
|
|
402
493
|
## Security model
|
|
403
494
|
|
|
404
495
|
- API keys come from `--api-key`, an environment variable, or an optional
|
|
@@ -411,6 +502,31 @@ manual so the default test suite never consumes credits.
|
|
|
411
502
|
only endpoints you trust.
|
|
412
503
|
- Workspace tools are read-only unless `--allow-writes` is passed; `write_file`
|
|
413
504
|
and `edit_file` are not registered at all without it.
|
|
505
|
+
- The `bash` tool needs `--allow-shell`, which is separate from `--allow-writes`
|
|
506
|
+
and never implied by it. Granting it grants far more: a shell can change or
|
|
507
|
+
delete anything the user running chivgent can, inside the workspace or not,
|
|
508
|
+
and none of the workspace limits below apply to it.
|
|
509
|
+
- Commands are spawned in their own process group and killed as a group, so
|
|
510
|
+
cancelling a run does not leave descendants behind.
|
|
511
|
+
- Commands inherit chivgent's environment, which includes the API key it is
|
|
512
|
+
using. A model with `--allow-shell` can read that key and anything else the
|
|
513
|
+
environment holds. Run it with an environment that carries only what the task
|
|
514
|
+
needs.
|
|
515
|
+
- Truncated command output is written to a temp file so the model can read the
|
|
516
|
+
rest. The file is owner-only, but it is not deleted when the run ends: it can
|
|
517
|
+
hold anything the command printed. Clear the temp directory after sensitive
|
|
518
|
+
work.
|
|
519
|
+
- Session logs record command output as well as file excerpts once
|
|
520
|
+
`--allow-shell` is on.
|
|
521
|
+
- Project extensions are loaded only after an explicit, recorded trust decision,
|
|
522
|
+
and never without a terminal to ask at. An extension runs in-process with your
|
|
523
|
+
permissions and is bound by none of the workspace limits above, so trusting a
|
|
524
|
+
project is the same order of authority as `--allow-shell`, reached by cloning
|
|
525
|
+
a repository rather than by typing a flag.
|
|
526
|
+
- User extensions under `<CHIVGENT_HOME>/extensions/` are always loaded; that
|
|
527
|
+
directory is your own configuration.
|
|
528
|
+
- Extensions cannot take the name of a built-in tool or command.
|
|
529
|
+
- `trust.json`, like the session log and the auth file, is written owner-only.
|
|
414
530
|
- Writes resolve the deepest existing ancestor and reject a symlink at any
|
|
415
531
|
segment, so a planted link cannot redirect a write out of the workspace.
|
|
416
532
|
- Writes are staged in a sibling temp file and renamed into place, so an
|
|
@@ -430,10 +546,17 @@ manual so the default test suite never consumes credits.
|
|
|
430
546
|
and treat the log directory like the project it describes.
|
|
431
547
|
- Session ids are validated before they become file paths.
|
|
432
548
|
|
|
433
|
-
This is an educational MVP, not a hardened sandbox.
|
|
434
|
-
|
|
435
|
-
|
|
436
|
-
a
|
|
549
|
+
This is an educational MVP, not a hardened sandbox. There is no permission
|
|
550
|
+
system: capabilities are coarse, session-level switches, and neither
|
|
551
|
+
`--allow-writes` nor `--allow-shell` asks for per-action confirmation. That is
|
|
552
|
+
deliberate. Once a shell exists, a command allowlist is bypassed by a single
|
|
553
|
+
`sh -c`, and a prompt on every action only trains people to approve without
|
|
554
|
+
reading, so chivgent states the boundary instead of pretending to enforce one.
|
|
555
|
+
|
|
556
|
+
Use these switches on work you have committed. If you need a real boundary,
|
|
557
|
+
put the whole process in a container and give that container only what the task
|
|
558
|
+
needs. Review the code and threat model before pointing chivgent at a sensitive
|
|
559
|
+
project.
|
|
437
560
|
|
|
438
561
|
## Roadmap
|
|
439
562
|
|
|
@@ -447,10 +570,16 @@ a sensitive project.
|
|
|
447
570
|
- [x] Persistent multi-turn sessions
|
|
448
571
|
- [x] Context-window management and compaction
|
|
449
572
|
- [x] Opt-in `write_file` and `edit_file` behind `--allow-writes`
|
|
450
|
-
- [ ] Per-edit confirmation prompts and an undo log
|
|
451
|
-
- [ ] Permission-gated shell tools
|
|
452
573
|
- [x] Provider registry and credential resolution chain
|
|
453
|
-
- [
|
|
574
|
+
- [x] `bash` tool with streaming output, behind `--allow-shell`
|
|
575
|
+
- [x] Extensions and project trust
|
|
576
|
+
- [ ] TUI, remote sessions, telemetry, and evals
|
|
577
|
+
|
|
578
|
+
Per-command confirmation prompts and command allowlists are deliberately not
|
|
579
|
+
planned. Once a shell tool exists, `bash` can do anything `write_file` can and
|
|
580
|
+
more, so an allowlist is bypassed by a single `sh -c` and a per-command prompt
|
|
581
|
+
only trains people to approve without reading. Capabilities are coarse,
|
|
582
|
+
session-level switches; the real boundary is a container.
|
|
454
583
|
|
|
455
584
|
## Documentation
|
|
456
585
|
|
|
@@ -459,6 +588,11 @@ a sensitive project.
|
|
|
459
588
|
- [Stage 2: Project Discovery implementation design](docs/stage-2-project-discovery.md)
|
|
460
589
|
- [Stage 3: Runtime Events and Streaming design](docs/stage-3-runtime-events.md)
|
|
461
590
|
- [Stage 4: Sessions and interactive mode design](docs/stage-4-sessions.md)
|
|
591
|
+
- [Stage 5: Write tools and the workspace split](docs/stage-5-write-tools.md)
|
|
592
|
+
- [Stage 6: Provider registry and credential chain](docs/stage-6-provider-registry.md)
|
|
593
|
+
- [Stage 7: Context budget and compaction](docs/stage-7-context-management.md)
|
|
594
|
+
- [Stage 8: Shell tool and streaming subprocesses](docs/stage-8-shell-tool.md)
|
|
595
|
+
- [Stage 9: Extensions and project trust](docs/stage-9-extensions.md)
|
|
462
596
|
- [Release process](docs/releasing.md)
|
|
463
597
|
|
|
464
598
|
## Contributing
|
package/README.zh-CN.md
CHANGED
|
@@ -36,6 +36,12 @@
|
|
|
36
36
|
- 通过 `list_files` 和字面量 `search_text` 确定性地发现项目内容。
|
|
37
37
|
- 支持带续读提示的分段 `read_file`,所有工具结果都有容量上限。
|
|
38
38
|
- 默认只读;`--allow-writes` 才会启用 `write_file` 和 `edit_file`。
|
|
39
|
+
- 通过 `--allow-shell` 选择性开启的 `bash` 工具,输出边跑边显示。
|
|
40
|
+
- 扩展系统:可以添加工具、斜杠命令、事件订阅和 system prompt 片段。
|
|
41
|
+
- 项目扩展受按目录记录的信任决定门控;判定发生在任何模块被 import 之前,
|
|
42
|
+
没有终端可问时一律拒绝。
|
|
43
|
+
- 命令运行在独立进程组中,取消一次运行会杀掉整棵进程树。
|
|
44
|
+
- 命令输出从尾部截断,完整内容写入临时文件供按需读取。
|
|
39
45
|
- 精确匹配的 `edit_file`,命中缺失或不唯一时拒绝执行。
|
|
40
46
|
- 编辑会保留文件原有的 BOM 和 CRLF 换行符。
|
|
41
47
|
- 原子写入:写入中途崩溃不会损坏原文件。
|
|
@@ -122,9 +128,11 @@ chivgent [选项] "问题" 回答一次后退出
|
|
|
122
128
|
chivgent [选项] 进入交互式会话
|
|
123
129
|
|
|
124
130
|
选项:
|
|
125
|
-
--provider NAME openai、deepseek
|
|
131
|
+
--provider NAME openai、deepseek、openai-compatible、openrouter、groq、xai、
|
|
132
|
+
moonshot(默认:openai)
|
|
126
133
|
--model MODEL 覆盖 Provider 模型
|
|
127
|
-
--max-turns N 工具调用轮次上限(默认:8,加 --allow-writes
|
|
134
|
+
--max-turns N 工具调用轮次上限(默认:8,加 --allow-writes 或 --allow-shell
|
|
135
|
+
时为 16)
|
|
128
136
|
--no-stream 关闭流式输出,等待完整答案
|
|
129
137
|
-q, --quiet 不在 stderr 打印工具活动
|
|
130
138
|
--json 以 JSON Lines 输出整次运行,而不是渲染文本
|
|
@@ -133,6 +141,11 @@ chivgent [选项] 进入交互式会话
|
|
|
133
141
|
--api-key KEY 本次运行使用的 API Key;更推荐用环境变量
|
|
134
142
|
--sessions 列出已记录的 Session 并退出
|
|
135
143
|
--allow-writes 允许 Agent 创建和修改文件(默认只读)
|
|
144
|
+
--allow-shell 允许 Agent 执行 Shell 命令。它蕴含写权限:Shell 不受工作区
|
|
145
|
+
边界约束。仅支持 Unix。
|
|
146
|
+
--no-extensions 不加载任何扩展,也不询问信任
|
|
147
|
+
--extensions 列出已加载的扩展及其注册内容后退出
|
|
148
|
+
--forget-trust 忘记覆盖当前工作区的信任决定后退出
|
|
136
149
|
--context-window N 上下文的 Token 预算(默认:128000)
|
|
137
150
|
--no-compaction 发送完整 transcript,不压缩较早的轮次
|
|
138
151
|
--no-session 不记录本次运行
|
|
@@ -203,6 +216,7 @@ chivgent --provider openai-compatible --model vendor-model "解释 package.json"
|
|
|
203
216
|
|
|
|
204
217
|
+-> Tool Registry -> list_files / search_text / read_file -> Workspace
|
|
205
218
|
write_file / edit_file(--allow-writes)
|
|
219
|
+
| bash(--allow-shell)-> ShellOperations
|
|
206
220
|
```
|
|
207
221
|
|
|
208
222
|
Agent Runtime 拥有自己的消息模型。Provider 特有的数据结构只在 `LLMClient` 边界
|
|
@@ -353,6 +367,22 @@ src/
|
|
|
353
367
|
read-file.ts 分段文本读取工具
|
|
354
368
|
write-file.ts 整文件创建与替换
|
|
355
369
|
edit-file.ts 精确唯一匹配编辑
|
|
370
|
+
bash.ts Shell 命令执行
|
|
371
|
+
extensions/
|
|
372
|
+
trust.ts 按目录记录的信任存储
|
|
373
|
+
decide-trust.ts 询问流程,以及无人可问时的拒绝
|
|
374
|
+
discover.ts 扩展的位置与文件识别规则
|
|
375
|
+
api.ts 扩展可以注册什么
|
|
376
|
+
registry.ts 收集注册项并拒绝冲突
|
|
377
|
+
loader.ts import 模块并隔离其失败
|
|
378
|
+
shell/
|
|
379
|
+
types.ts 执行契约与 Shell 错误类型
|
|
380
|
+
config.ts Shell 解析与 Windows 拦截
|
|
381
|
+
local.ts 本地 spawn 后端
|
|
382
|
+
process.ts 进程组终止与退出处理
|
|
383
|
+
output.ts 有界的流式输出累积器
|
|
384
|
+
truncate.ts 命令输出的尾部截断
|
|
385
|
+
sanitize.ts 控制字符过滤
|
|
356
386
|
tests/ Provider、Agent Loop 和 Workspace 测试
|
|
357
387
|
docs/ 架构与学习文档
|
|
358
388
|
```
|
|
@@ -382,6 +412,61 @@ npm install -g ./chivgent-0.6.0.tgz
|
|
|
382
412
|
测试使用脚本化或 Mock LLM Client。真实 API Smoke Test 需要手工执行,因此默认
|
|
383
413
|
测试不会消耗 API 额度。
|
|
384
414
|
|
|
415
|
+
## 扩展系统
|
|
416
|
+
|
|
417
|
+
一个扩展就是默认导出一个函数的 ES 模块。启动时它会被调用一次,拿到的 API 可以注册
|
|
418
|
+
工具、注册斜杠命令、订阅运行时事件、追加 system prompt。
|
|
419
|
+
|
|
420
|
+
```js
|
|
421
|
+
// .chivgent/extensions/word-count.js
|
|
422
|
+
export default function (api) {
|
|
423
|
+
api.registerTool({
|
|
424
|
+
name: "word_count",
|
|
425
|
+
description: "统计工作区某个文件的词数。",
|
|
426
|
+
inputSchema: {
|
|
427
|
+
type: "object",
|
|
428
|
+
properties: { path: { type: "string" } },
|
|
429
|
+
required: ["path"],
|
|
430
|
+
additionalProperties: false,
|
|
431
|
+
},
|
|
432
|
+
async execute(args, context) {
|
|
433
|
+
const file = await context.workspace.readTextFile(args.path);
|
|
434
|
+
return {
|
|
435
|
+
content: `${file.content.split(/\s+/).filter(Boolean).length} words`,
|
|
436
|
+
isError: false,
|
|
437
|
+
};
|
|
438
|
+
},
|
|
439
|
+
});
|
|
440
|
+
|
|
441
|
+
api.contributeSystemPrompt("需要数词数时用 word_count,不要整篇读文件。");
|
|
442
|
+
}
|
|
443
|
+
```
|
|
444
|
+
|
|
445
|
+
扩展从两个位置加载:
|
|
446
|
+
|
|
447
|
+
| 位置 | 何时加载 |
|
|
448
|
+
| --- | --- |
|
|
449
|
+
| `<CHIVGENT_HOME>/extensions/` | 始终加载——那是你自己机器上的配置 |
|
|
450
|
+
| `<工作区>/.chivgent/extensions/` | 只有在你信任该项目之后 |
|
|
451
|
+
|
|
452
|
+
两处都接受 `name.js` 和 `name/index.js`,不再往下递归。**只支持纯 JavaScript**:
|
|
453
|
+
用 TypeScript 写的话自己编译成 `.js` 即可,为此让 chivgent 背上一个 TS 运行时加载器
|
|
454
|
+
不划算。与内置工具或命令重名的注册会被拒绝,所以扩展无法顶替 `read_file` 或
|
|
455
|
+
`/clear`;某个扩展坏掉只会被报告并跳过,不会把 chivgent 一起带走。
|
|
456
|
+
|
|
457
|
+
`chivgent --extensions` 可以列出加载了哪些扩展、各自注册了什么。
|
|
458
|
+
|
|
459
|
+
### Project Trust
|
|
460
|
+
|
|
461
|
+
第一次在带扩展的项目里运行 chivgent 时,它会说明这些扩展是什么并询问一次。答案记在
|
|
462
|
+
`<CHIVGENT_HOME>/trust.json` 里,键是解析后的目录路径,**按最近祖先匹配**——信任
|
|
463
|
+
`~/work` 就覆盖它下面所有仓库。`--forget-trust` 可以删掉覆盖当前工作区的那条决定。
|
|
464
|
+
|
|
465
|
+
**信任一个项目,等于允许这个仓库的作者以你的身份执行代码。** 扩展在 chivgent 进程内
|
|
466
|
+
运行:不受工作区边界约束,不需要 `--allow-shell` 就能执行命令,也能读到你环境变量里的
|
|
467
|
+
API Key。这正是询问必须发生在 import 之前的原因,也是"没人可问时一律拒绝"的原因——
|
|
468
|
+
CI 任务或管道运行永远不会自作主张去执行一个 clone 里的代码。
|
|
469
|
+
|
|
385
470
|
## 安全模型
|
|
386
471
|
|
|
387
472
|
- API Key 依次从 `--api-key`、环境变量、可选的 `auth.json` 解析,绝不能提交到仓库。
|
|
@@ -390,6 +475,23 @@ npm install -g ./chivgent-0.6.0.tgz
|
|
|
390
475
|
- 自定义 `OPENAI_BASE_URL` 会收到配置的 API Key 和提示词,只能使用可信端点。
|
|
391
476
|
- 不传 `--allow-writes` 时工作区工具全部只读,`write_file` 和 `edit_file` 根本
|
|
392
477
|
不会被注册。
|
|
478
|
+
- `bash` 工具需要 `--allow-shell`,它与 `--allow-writes` 相互独立,永远不会被后者
|
|
479
|
+
顺带打开。授予它意味着授予大得多的权限:Shell 能改动或删除运行 chivgent 的用户
|
|
480
|
+
能碰的任何东西,无论是否在工作区内,下面这些工作区限制对它一律不适用。
|
|
481
|
+
- 命令运行在独立进程组中并按组杀死,取消一次运行不会留下孤儿后代进程。
|
|
482
|
+
- 命令会继承 chivgent 的环境变量,其中包含它正在使用的 API Key。开了
|
|
483
|
+
`--allow-shell` 的模型可以读到这个 Key 以及环境里的其他内容。请只带上这次任务
|
|
484
|
+
真正需要的环境变量。
|
|
485
|
+
- 被截断的命令输出会写入临时文件供模型按需读取。该文件仅所有者可读,但运行结束后
|
|
486
|
+
**不会自动删除**,其中可能包含命令打印的任何内容。处理敏感数据后请清理临时目录。
|
|
487
|
+
- 开启 `--allow-shell` 后,会话日志除文件片段外还会记录命令输出。
|
|
488
|
+
- 项目扩展只有在存在明确的、已记录的信任决定之后才会加载,且没有终端可问时绝不加载。
|
|
489
|
+
扩展以你的权限在进程内运行,上面那些工作区限制对它一概不适用——因此"信任一个项目"
|
|
490
|
+
与 `--allow-shell` 是同一量级的授权,区别只在于前者由 clone 一个仓库触发,
|
|
491
|
+
后者要你亲手敲一个参数。
|
|
492
|
+
- `<CHIVGENT_HOME>/extensions/` 下的用户级扩展始终加载,那是你自己的配置。
|
|
493
|
+
- 扩展无法占用内置工具或内置命令的名字。
|
|
494
|
+
- `trust.json` 与会话日志、认证文件一样,以仅所有者可读的权限写入。
|
|
393
495
|
- 写入会解析到最深层已存在的祖先目录,路径上任何一段是符号链接都会被拒绝,
|
|
394
496
|
因此预先植入的链接无法把写入重定向到工作区之外。
|
|
395
497
|
- 写入先落到同目录的临时文件再 rename 就位,中断的写入不会截断已有文件。
|
|
@@ -406,9 +508,13 @@ npm install -g ./chivgent-0.6.0.tgz
|
|
|
406
508
|
在敏感项目中请使用 `--no-session`,并像对待项目本身一样对待该目录。
|
|
407
509
|
- Session id 在拼接成文件路径前会先做校验。
|
|
408
510
|
|
|
409
|
-
这是一个用于学习的 MVP,并不是经过加固的 Sandbox
|
|
410
|
-
|
|
411
|
-
|
|
511
|
+
这是一个用于学习的 MVP,并不是经过加固的 Sandbox。它**没有权限系统**:能力开关
|
|
512
|
+
都是会话级的粗粒度开关,`--allow-writes` 和 `--allow-shell` 都不会对每次操作逐一
|
|
513
|
+
确认。这是有意为之:有了 Shell 之后,命令白名单能被一行 `sh -c` 绕开,而逐次弹确认
|
|
514
|
+
只会训练用户无脑确认,所以 chivgent 选择把边界说清楚,而不是假装能拦住什么。
|
|
515
|
+
|
|
516
|
+
请在已提交的代码上使用这些开关。如果需要真正的边界,请把整个进程放进容器,并只给
|
|
517
|
+
容器这次任务真正需要的东西。在允许它访问敏感项目之前,请先审查代码和威胁模型。
|
|
412
518
|
|
|
413
519
|
## 路线图
|
|
414
520
|
|
|
@@ -422,10 +528,14 @@ npm install -g ./chivgent-0.6.0.tgz
|
|
|
422
528
|
- [x] 持久化多轮 Session
|
|
423
529
|
- [x] Context Window 管理和压缩
|
|
424
530
|
- [x] 通过 `--allow-writes` 选择性开启的 `write_file` 和 `edit_file`
|
|
425
|
-
- [ ] 逐次修改确认与撤销日志
|
|
426
|
-
- [ ] 需要权限确认的 Shell 工具
|
|
427
531
|
- [x] Provider Registry 与凭据解析链
|
|
428
|
-
- [
|
|
532
|
+
- [x] 通过 `--allow-shell` 开启的 `bash` 工具,带流式输出
|
|
533
|
+
- [x] 扩展系统与 Project Trust
|
|
534
|
+
- [ ] TUI、远程会话、Telemetry 和 Evals
|
|
535
|
+
|
|
536
|
+
逐条命令确认和命令白名单是**主动放弃**的方向。有了 Shell 工具之后,`bash` 能做的
|
|
537
|
+
事是 `write_file` 的超集,任何白名单都能被一行 `sh -c` 绕开,而逐条弹确认只会训练
|
|
538
|
+
用户无脑确认。能力开关一律是会话级的粗粒度开关,真正的边界是容器。
|
|
429
539
|
|
|
430
540
|
## 文档
|
|
431
541
|
|
|
@@ -434,6 +544,11 @@ npm install -g ./chivgent-0.6.0.tgz
|
|
|
434
544
|
- [Stage 2:Project Discovery 实现设计](docs/stage-2-project-discovery.md)
|
|
435
545
|
- [Stage 3:Runtime Events 与流式输出设计](docs/stage-3-runtime-events.md)
|
|
436
546
|
- [Stage 4:Session 与交互模式设计](docs/stage-4-sessions.md)
|
|
547
|
+
- [Stage 5:写入工具与 Workspace 拆分](docs/stage-5-write-tools.md)
|
|
548
|
+
- [Stage 6:Provider Registry 与凭证解析链](docs/stage-6-provider-registry.md)
|
|
549
|
+
- [Stage 7:上下文预算与压缩](docs/stage-7-context-management.md)
|
|
550
|
+
- [Stage 8:Shell 工具与流式子进程](docs/stage-8-shell-tool.md)
|
|
551
|
+
- [Stage 9:扩展系统与 Project Trust](docs/stage-9-extensions.md)
|
|
437
552
|
- [发布流程](docs/releasing.md)
|
|
438
553
|
|
|
439
554
|
## 参与贡献
|
package/dist/agent.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"agent.d.ts","sourceRoot":"","sources":["../src/agent.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,KAAK,kBAAkB,EAExB,MAAM,aAAa,CAAC;AACrB,OAAO,EAAgB,KAAK,SAAS,EAAwB,MAAM,UAAU,CAAC;AAC9E,OAAO,KAAK,EACV,gBAAgB,EAChB,OAAO,EAGR,MAAM,eAAe,CAAC;AACvB,OAAO,KAAK,EAAE,IAAI,EAA8B,MAAM,iBAAiB,CAAC;AACxE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAChD,OAAO,KAAK,EAEV,cAAc,EACf,MAAM,8BAA8B,CAAC;AAEtC,MAAM,WAAW,YAAY;IAC3B,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,GAAG,EAAE,SAAS,CAAC;IACxB,QAAQ,CAAC,KAAK,EAAE,SAAS,IAAI,EAAE,CAAC;IAChC,QAAQ,CAAC,SAAS,EAAE,SAAS,CAAC;IAC9B,gEAAgE;IAChE,QAAQ,CAAC,OAAO,CAAC,EAAE,kBAAkB,CAAC;IACtC,6EAA6E;IAC7E,QAAQ,CAAC,SAAS,CAAC,EAAE,OAAO,CAAC;IAC7B;;OAEG;IACH,QAAQ,CAAC,cAAc,CAAC,EAAE,cAAc,CAAC;CAC1C;AAED,MAAM,WAAW,eAAe;IAC9B,gFAAgF;IAChF,QAAQ,CAAC,MAAM,CAAC,EAAE,WAAW,CAAC;IAC9B;;;OAGG;IACH,QAAQ,CAAC,OAAO,CAAC,EAAE,SAAS,OAAO,EAAE,CAAC;CACvC;AAED,MAAM,MAAM,cAAc,GACtB;IACE,QAAQ,CAAC,MAAM,EAAE,WAAW,CAAC;IAC7B,QAAQ,CAAC,YAAY,EAAE,gBAAgB,CAAC;IACxC,QAAQ,CAAC,QAAQ,EAAE,SAAS,OAAO,EAAE,CAAC;IACtC,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;CAC5B,GACD;IACE,QAAQ,CAAC,MAAM,EAAE,WAAW,GAAG,SAAS,CAAC;IACzC,QAAQ,CAAC,QAAQ,EAAE,SAAS,OAAO,EAAE,CAAC;IACtC,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;CAC5B,CAAC;AAUN,qBAAa,kBAAmB,SAAQ,KAAK;IAC3C,YAAY,OAAO,EAAE,MAAM,EAG1B;CACF;AAED,qBAAa,KAAK;IAChB,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAS;IACtC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAS;IAClC,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAY;IAChC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAA4B;IACrD,OAAO,CAAC,QAAQ,CAAC,eAAe,CAA4B;IAC5D,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAY;IACtC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAqB;IAC9C,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAU;IACpC,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAiB;IAEjD,YAAY,OAAO,EAAE,YAAY,EAsBhC;IAED,IAAI,SAAS,IAAI,SAAS,MAAM,EAAE,CAEjC;IAEK,GAAG,CACP,SAAS,EAAE,MAAM,EACjB,OAAO,GAAE,eAAoB,GAC5B,OAAO,CAAC,cAAc,CAAC,CAqCzB;YAEa,IAAI;IAuDlB;;;;;;OAMG;YACW,YAAY;YAwBZ,uBAAuB;IA4BrC,OAAO,CAAC,uBAAuB;YAcjB,eAAe;
|
|
1
|
+
{"version":3,"file":"agent.d.ts","sourceRoot":"","sources":["../src/agent.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,KAAK,kBAAkB,EAExB,MAAM,aAAa,CAAC;AACrB,OAAO,EAAgB,KAAK,SAAS,EAAwB,MAAM,UAAU,CAAC;AAC9E,OAAO,KAAK,EACV,gBAAgB,EAChB,OAAO,EAGR,MAAM,eAAe,CAAC;AACvB,OAAO,KAAK,EAAE,IAAI,EAA8B,MAAM,iBAAiB,CAAC;AACxE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAChD,OAAO,KAAK,EAEV,cAAc,EACf,MAAM,8BAA8B,CAAC;AAEtC,MAAM,WAAW,YAAY;IAC3B,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,GAAG,EAAE,SAAS,CAAC;IACxB,QAAQ,CAAC,KAAK,EAAE,SAAS,IAAI,EAAE,CAAC;IAChC,QAAQ,CAAC,SAAS,EAAE,SAAS,CAAC;IAC9B,gEAAgE;IAChE,QAAQ,CAAC,OAAO,CAAC,EAAE,kBAAkB,CAAC;IACtC,6EAA6E;IAC7E,QAAQ,CAAC,SAAS,CAAC,EAAE,OAAO,CAAC;IAC7B;;OAEG;IACH,QAAQ,CAAC,cAAc,CAAC,EAAE,cAAc,CAAC;CAC1C;AAED,MAAM,WAAW,eAAe;IAC9B,gFAAgF;IAChF,QAAQ,CAAC,MAAM,CAAC,EAAE,WAAW,CAAC;IAC9B;;;OAGG;IACH,QAAQ,CAAC,OAAO,CAAC,EAAE,SAAS,OAAO,EAAE,CAAC;CACvC;AAED,MAAM,MAAM,cAAc,GACtB;IACE,QAAQ,CAAC,MAAM,EAAE,WAAW,CAAC;IAC7B,QAAQ,CAAC,YAAY,EAAE,gBAAgB,CAAC;IACxC,QAAQ,CAAC,QAAQ,EAAE,SAAS,OAAO,EAAE,CAAC;IACtC,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;CAC5B,GACD;IACE,QAAQ,CAAC,MAAM,EAAE,WAAW,GAAG,SAAS,CAAC;IACzC,QAAQ,CAAC,QAAQ,EAAE,SAAS,OAAO,EAAE,CAAC;IACtC,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;CAC5B,CAAC;AAUN,qBAAa,kBAAmB,SAAQ,KAAK;IAC3C,YAAY,OAAO,EAAE,MAAM,EAG1B;CACF;AAED,qBAAa,KAAK;IAChB,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAS;IACtC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAS;IAClC,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAY;IAChC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAA4B;IACrD,OAAO,CAAC,QAAQ,CAAC,eAAe,CAA4B;IAC5D,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAY;IACtC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAqB;IAC9C,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAU;IACpC,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAiB;IAEjD,YAAY,OAAO,EAAE,YAAY,EAsBhC;IAED,IAAI,SAAS,IAAI,SAAS,MAAM,EAAE,CAEjC;IAEK,GAAG,CACP,SAAS,EAAE,MAAM,EACjB,OAAO,GAAE,eAAoB,GAC5B,OAAO,CAAC,cAAc,CAAC,CAqCzB;YAEa,IAAI;IAuDlB;;;;;;OAMG;YACW,YAAY;YAwBZ,uBAAuB;IA4BrC,OAAO,CAAC,uBAAuB;YAcjB,eAAe;IAmE7B,OAAO,CAAC,IAAI;IAIZ,OAAO,CAAC,OAAO;CAahB"}
|
package/dist/agent.js
CHANGED
|
@@ -197,6 +197,15 @@ export class Agent {
|
|
|
197
197
|
output = validateToolOutput(await tool.execute(toolCall.arguments, {
|
|
198
198
|
workspace: this.workspace,
|
|
199
199
|
...(signal === undefined ? {} : { signal }),
|
|
200
|
+
onUpdate: (content) => {
|
|
201
|
+
this.emit({
|
|
202
|
+
type: "tool_execution_update",
|
|
203
|
+
turn,
|
|
204
|
+
toolCallId: toolCall.id,
|
|
205
|
+
toolName: toolCall.name,
|
|
206
|
+
content,
|
|
207
|
+
});
|
|
208
|
+
},
|
|
200
209
|
}));
|
|
201
210
|
}
|
|
202
211
|
catch (error) {
|
package/dist/agent.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"agent.js","sourceRoot":"","sources":["../src/agent.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"agent.js","sourceRoot":"","sources":["../src/agent.ts"],"names":[],"mappings":"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"}
|
package/dist/cli-options.d.ts
CHANGED
|
@@ -5,8 +5,8 @@ export type Provider = string;
|
|
|
5
5
|
export declare const DEFAULT_MAX_TURNS = 8;
|
|
6
6
|
/**
|
|
7
7
|
* Editing costs turns that reading does not: the model reads, edits, then
|
|
8
|
-
* re-reads to confirm. Eight turns runs out mid-change, so enabling writes
|
|
9
|
-
* raises the default unless --max-turns says otherwise.
|
|
8
|
+
* re-reads to confirm. Eight turns runs out mid-change, so enabling writes or
|
|
9
|
+
* a shell raises the default unless --max-turns says otherwise.
|
|
10
10
|
*/
|
|
11
11
|
export declare const DEFAULT_WRITE_MAX_TURNS = 16;
|
|
12
12
|
/**
|
|
@@ -34,6 +34,17 @@ export interface CliOptions {
|
|
|
34
34
|
readonly listSessions: boolean;
|
|
35
35
|
/** Allow the agent to create and modify files in the workspace. */
|
|
36
36
|
readonly allowWrites: boolean;
|
|
37
|
+
/**
|
|
38
|
+
* Allow the agent to run shell commands. This implies write access: a shell
|
|
39
|
+
* can do everything the write tools can and is not bound by the workspace.
|
|
40
|
+
*/
|
|
41
|
+
readonly allowShell: boolean;
|
|
42
|
+
/** Load extensions from the user and (once trusted) the project directory. */
|
|
43
|
+
readonly extensions: boolean;
|
|
44
|
+
/** List loaded extensions and what they registered, then exit. */
|
|
45
|
+
readonly listExtensions: boolean;
|
|
46
|
+
/** Forget the trust decision covering this workspace and exit. */
|
|
47
|
+
readonly forgetTrust: boolean;
|
|
37
48
|
/** API key supplied for this run only, overriding every other source. */
|
|
38
49
|
readonly apiKey?: string;
|
|
39
50
|
/** Token budget the context is kept inside. */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cli-options.d.ts","sourceRoot":"","sources":["../src/cli-options.ts"],"names":[],"mappings":"AAKA,eAAO,MAAM,OAAO,QAC6D,CAAC;AAElF,OAAO,EAEL,gBAAgB,EACjB,MAAM,yBAAyB,CAAC;AAGjC,2CAA2C;AAC3C,MAAM,MAAM,QAAQ,GAAG,MAAM,CAAC;AAE9B,eAAO,MAAM,iBAAiB,IAAI,CAAC;AACnC;;;;GAIG;AACH,eAAO,MAAM,uBAAuB,KAAK,CAAC;AAI1C;;;GAGG;AACH,MAAM,MAAM,cAAc,GAAG,MAAM,CAAC,UAAU,CAAC;AAE/C,MAAM,WAAW,UAAU;IACzB,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAC;IAC5B,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC;IACzB,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAC;IACxB,0EAA0E;IAC1E,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC;IACvB,4DAA4D;IAC5D,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;IAC1B,8BAA8B;IAC9B,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IACzB,kEAAkE;IAClE,QAAQ,CAAC,eAAe,EAAE,OAAO,CAAC;IAClC,uCAAuC;IACvC,QAAQ,CAAC,YAAY,EAAE,OAAO,CAAC;IAC/B,mEAAmE;IACnE,QAAQ,CAAC,WAAW,EAAE,OAAO,CAAC;IAC9B,yEAAyE;IACzE,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IACzB,+CAA+C;IAC/C,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;IAC/B,oEAAoE;IACpE,QAAQ,CAAC,UAAU,EAAE,OAAO,CAAC;IAC7B,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC;IACvB,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;CAC3B;AAED,wBAAgB,YAAY,CAC1B,IAAI,EAAE,SAAS,MAAM,EAAE,EACvB,WAAW,EAAE,cAAc,EAC3B,QAAQ,GAAE,gBAA0C,GACnD,UAAU,
|
|
1
|
+
{"version":3,"file":"cli-options.d.ts","sourceRoot":"","sources":["../src/cli-options.ts"],"names":[],"mappings":"AAKA,eAAO,MAAM,OAAO,QAC6D,CAAC;AAElF,OAAO,EAEL,gBAAgB,EACjB,MAAM,yBAAyB,CAAC;AAGjC,2CAA2C;AAC3C,MAAM,MAAM,QAAQ,GAAG,MAAM,CAAC;AAE9B,eAAO,MAAM,iBAAiB,IAAI,CAAC;AACnC;;;;GAIG;AACH,eAAO,MAAM,uBAAuB,KAAK,CAAC;AAI1C;;;GAGG;AACH,MAAM,MAAM,cAAc,GAAG,MAAM,CAAC,UAAU,CAAC;AAE/C,MAAM,WAAW,UAAU;IACzB,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAC;IAC5B,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC;IACzB,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAC;IACxB,0EAA0E;IAC1E,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC;IACvB,4DAA4D;IAC5D,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;IAC1B,8BAA8B;IAC9B,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IACzB,kEAAkE;IAClE,QAAQ,CAAC,eAAe,EAAE,OAAO,CAAC;IAClC,uCAAuC;IACvC,QAAQ,CAAC,YAAY,EAAE,OAAO,CAAC;IAC/B,mEAAmE;IACnE,QAAQ,CAAC,WAAW,EAAE,OAAO,CAAC;IAC9B;;;OAGG;IACH,QAAQ,CAAC,UAAU,EAAE,OAAO,CAAC;IAC7B,8EAA8E;IAC9E,QAAQ,CAAC,UAAU,EAAE,OAAO,CAAC;IAC7B,kEAAkE;IAClE,QAAQ,CAAC,cAAc,EAAE,OAAO,CAAC;IACjC,kEAAkE;IAClE,QAAQ,CAAC,WAAW,EAAE,OAAO,CAAC;IAC9B,yEAAyE;IACzE,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IACzB,+CAA+C;IAC/C,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;IAC/B,oEAAoE;IACpE,QAAQ,CAAC,UAAU,EAAE,OAAO,CAAC;IAC7B,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC;IACvB,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;CAC3B;AAED,wBAAgB,YAAY,CAC1B,IAAI,EAAE,SAAS,MAAM,EAAE,EACvB,WAAW,EAAE,cAAc,EAC3B,QAAQ,GAAE,gBAA0C,GACnD,UAAU,CAuHZ;AAED,wBAAgB,QAAQ,CACtB,QAAQ,GAAE,gBAA0C,GACnD,MAAM,CA8CR"}
|
package/dist/cli-options.js
CHANGED
|
@@ -7,8 +7,8 @@ import { DEFAULT_CONTEXT_WINDOW } from "./context/context-manager.js";
|
|
|
7
7
|
export const DEFAULT_MAX_TURNS = 8;
|
|
8
8
|
/**
|
|
9
9
|
* Editing costs turns that reading does not: the model reads, edits, then
|
|
10
|
-
* re-reads to confirm. Eight turns runs out mid-change, so enabling writes
|
|
11
|
-
* raises the default unless --max-turns says otherwise.
|
|
10
|
+
* re-reads to confirm. Eight turns runs out mid-change, so enabling writes or
|
|
11
|
+
* a shell raises the default unless --max-turns says otherwise.
|
|
12
12
|
*/
|
|
13
13
|
export const DEFAULT_WRITE_MAX_TURNS = 16;
|
|
14
14
|
const MIN_CONTEXT_WINDOW = 1_000;
|
|
@@ -28,6 +28,10 @@ export function parseCliArgs(argv, environment, registry = defaultProviderRegist
|
|
|
28
28
|
let continueSession = false;
|
|
29
29
|
let listSessions = false;
|
|
30
30
|
let allowWrites = false;
|
|
31
|
+
let allowShell = false;
|
|
32
|
+
let extensions = true;
|
|
33
|
+
let listExtensions = false;
|
|
34
|
+
let forgetTrust = false;
|
|
31
35
|
let maxTurnsExplicit = false;
|
|
32
36
|
let help = false;
|
|
33
37
|
let version = false;
|
|
@@ -83,6 +87,18 @@ export function parseCliArgs(argv, environment, registry = defaultProviderRegist
|
|
|
83
87
|
else if (argument === "--allow-writes") {
|
|
84
88
|
allowWrites = true;
|
|
85
89
|
}
|
|
90
|
+
else if (argument === "--allow-shell") {
|
|
91
|
+
allowShell = true;
|
|
92
|
+
}
|
|
93
|
+
else if (argument === "--no-extensions") {
|
|
94
|
+
extensions = false;
|
|
95
|
+
}
|
|
96
|
+
else if (argument === "--extensions") {
|
|
97
|
+
listExtensions = true;
|
|
98
|
+
}
|
|
99
|
+
else if (argument === "--forget-trust") {
|
|
100
|
+
forgetTrust = true;
|
|
101
|
+
}
|
|
86
102
|
else if (argument === "--context-window") {
|
|
87
103
|
contextWindow = parseContextWindow(readOptionValue(argv, index, "--context-window"));
|
|
88
104
|
index += 1;
|
|
@@ -108,7 +124,9 @@ export function parseCliArgs(argv, environment, registry = defaultProviderRegist
|
|
|
108
124
|
provider,
|
|
109
125
|
...(model === undefined ? {} : { model }),
|
|
110
126
|
...(baseURL === undefined ? {} : { baseURL }),
|
|
111
|
-
maxTurns: allowWrites && !maxTurnsExplicit
|
|
127
|
+
maxTurns: (allowWrites || allowShell) && !maxTurnsExplicit
|
|
128
|
+
? DEFAULT_WRITE_MAX_TURNS
|
|
129
|
+
: maxTurns,
|
|
112
130
|
stream,
|
|
113
131
|
quiet,
|
|
114
132
|
json,
|
|
@@ -117,6 +135,10 @@ export function parseCliArgs(argv, environment, registry = defaultProviderRegist
|
|
|
117
135
|
continueSession,
|
|
118
136
|
listSessions,
|
|
119
137
|
allowWrites,
|
|
138
|
+
allowShell,
|
|
139
|
+
extensions,
|
|
140
|
+
listExtensions,
|
|
141
|
+
forgetTrust,
|
|
120
142
|
...(apiKey === undefined ? {} : { apiKey }),
|
|
121
143
|
contextWindow,
|
|
122
144
|
compaction,
|
|
@@ -135,7 +157,7 @@ Options:
|
|
|
135
157
|
--provider NAME ${registry.ids().join(", ")} (default: openai)
|
|
136
158
|
--model MODEL Provider model override
|
|
137
159
|
--api-key KEY API key for this run; prefer an environment variable
|
|
138
|
-
--max-turns N Tool-calling turn limit (default: ${DEFAULT_MAX_TURNS}, ${DEFAULT_WRITE_MAX_TURNS} with --allow-writes)
|
|
160
|
+
--max-turns N Tool-calling turn limit (default: ${DEFAULT_MAX_TURNS}, ${DEFAULT_WRITE_MAX_TURNS} with --allow-writes or --allow-shell)
|
|
139
161
|
--no-stream Wait for the full answer instead of streaming tokens
|
|
140
162
|
-q, --quiet Hide tool activity on stderr
|
|
141
163
|
--json Write the run as JSON lines instead of rendered text
|
|
@@ -143,6 +165,11 @@ Options:
|
|
|
143
165
|
--resume ID Resume a specific session
|
|
144
166
|
--sessions List recorded sessions and exit
|
|
145
167
|
--allow-writes Let the agent create and change files (default: read-only)
|
|
168
|
+
--allow-shell Let the agent run shell commands. This implies write access:
|
|
169
|
+
a shell is not bound by the workspace. Unix only.
|
|
170
|
+
--no-extensions Do not load any extension, and do not ask about trust
|
|
171
|
+
--extensions List loaded extensions and what they register, then exit
|
|
172
|
+
--forget-trust Forget the trust decision covering this workspace, then exit
|
|
146
173
|
--context-window N Token budget for the context (default: ${DEFAULT_CONTEXT_WINDOW})
|
|
147
174
|
--no-compaction Send the whole transcript instead of summarising old turns
|
|
148
175
|
--no-session Do not record this run
|
|
@@ -154,9 +181,16 @@ API keys are resolved in this order, first match wins:
|
|
|
154
181
|
|
|
155
182
|
Providers:
|
|
156
183
|
${describeProviders(registry)}
|
|
184
|
+
Extensions:
|
|
185
|
+
<CHIVGENT_HOME>/extensions/*.js Always loaded
|
|
186
|
+
<workspace>/.chivgent/extensions/*.js
|
|
187
|
+
Loaded only after you trust the project. An extension runs
|
|
188
|
+
as code inside chivgent, with your permissions, and is not
|
|
189
|
+
limited by the workspace.
|
|
190
|
+
|
|
157
191
|
Environment:
|
|
158
192
|
OPENAI_BASE_URL Required when --provider openai-compatible
|
|
159
|
-
CHIVGENT_HOME Session and
|
|
193
|
+
CHIVGENT_HOME Session, auth, trust and extension directory (default: ~/.chivgent)
|
|
160
194
|
`;
|
|
161
195
|
}
|
|
162
196
|
function describeProviders(registry) {
|