vole-agent 0.1.10 → 0.3.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 +35 -8
- package/README.zh-CN.md +35 -8
- package/dist/app.js +1 -1
- package/dist/chunk-OHRUXR5B.js +325 -0
- package/dist/index.js +1 -1
- package/dist/web/server.js +68 -31
- package/package.json +3 -1
- package/dist/chunk-EBLG3T72.js +0 -147
package/README.md
CHANGED
|
@@ -28,8 +28,9 @@ Sessions are stored per-project under `<git-root>/.vole/sessions/` when inside a
|
|
|
28
28
|
## Usage
|
|
29
29
|
|
|
30
30
|
```bash
|
|
31
|
-
# Interactive chat
|
|
32
|
-
vole
|
|
31
|
+
# Interactive chat (bare `vole` defaults to chat in a real terminal)
|
|
32
|
+
vole
|
|
33
|
+
vole chat # explicit form
|
|
33
34
|
|
|
34
35
|
# Resume previous session
|
|
35
36
|
vole chat --resume
|
|
@@ -48,14 +49,32 @@ vole sessions
|
|
|
48
49
|
|
|
49
50
|
| Command | Description |
|
|
50
51
|
|---|---|
|
|
52
|
+
| `vole` | Bare invocation defaults to interactive chat (when stdin is a TTY) |
|
|
51
53
|
| `vole chat` | Start an interactive chat session |
|
|
52
54
|
| `vole chat --resume` | Resume the most recent session |
|
|
53
55
|
| `vole chat --session <id>` | Resume a specific session |
|
|
54
56
|
| `vole run "<goal>"` | Run a one-shot background task |
|
|
57
|
+
| `vole run --dream` | Consolidate daily memory notes into `MEMORY.md` |
|
|
55
58
|
| `vole web` | Open the web dashboard |
|
|
56
59
|
| `vole sessions` | List stored sessions |
|
|
57
60
|
| `vole tasks` | List background task runs |
|
|
58
|
-
| `vole skills` |
|
|
61
|
+
| `vole skills` | List loaded skills (also `install`/`enable`/`disable`/`trust`/`review` subcommands) |
|
|
62
|
+
| `vole daemon` | Start the cron scheduler daemon (use `--once` for a one-shot run) |
|
|
63
|
+
| `vole taskflow list/show/cancel` | Inspect cross-session task records |
|
|
64
|
+
| `vole gateway status` | Show lane occupancy in this process and cross-process session locks |
|
|
65
|
+
| `vole subagents list` | List recent sub-agent task records (taskflow) |
|
|
66
|
+
| `vole subagents kill <id\|all>` | Mark a sub-agent task as cancelled (or all running ones with "all") |
|
|
67
|
+
| `vole doctor` | Read-only diagnostic checks for workspace, sessions, taskflow, and skills |
|
|
68
|
+
| `vole doctor --fix` | Apply idempotent remediations (delete stale .lock files, cancel stuck subagents, cancel orphan TaskFlow children) |
|
|
69
|
+
| `vole agents list` | List per-agent identity directories under `agents/` and the active default |
|
|
70
|
+
| `vole agents create <id>` | Create `agents/<id>/` with seed AGENTS.md / SOUL.md / USER.md / MEMORY.md |
|
|
71
|
+
| `vole agents switch <id>` | Set `.vole/active-agent` so subsequent runs use this agent |
|
|
72
|
+
| `vole agents remove <id> --confirm` | Archive `agents/<id>/` to `agents/.archive/` |
|
|
73
|
+
| `vole memory review` | List pending DREAMS.md candidate entries |
|
|
74
|
+
| `vole memory review approve <id\|all>` | Promote DREAMS.md entry into MEMORY.md |
|
|
75
|
+
| `vole memory review reject <id\|all>` | Archive DREAMS.md entry under DREAMS/archive/ |
|
|
76
|
+
| `vole migrate jsonl-to-sqlite` | Dry-run preview of JSONL → SQLite migration (sessions + taskflow) |
|
|
77
|
+
| `vole migrate jsonl-to-sqlite --apply` | Actually write the SQLite databases |
|
|
59
78
|
|
|
60
79
|
## Chat slash commands
|
|
61
80
|
|
|
@@ -89,11 +108,19 @@ Configuration is loaded from (in order of precedence): environment variables →
|
|
|
89
108
|
|
|
90
109
|
| Variable | Default | Description |
|
|
91
110
|
|---|---|---|
|
|
92
|
-
| `
|
|
93
|
-
| `OPENROUTER_API_KEY` | — | OpenRouter
|
|
94
|
-
| `
|
|
95
|
-
| `
|
|
96
|
-
| `
|
|
111
|
+
| `ANTHROPIC_API_KEY` | — | Use Anthropic provider (claude-haiku-4-5) |
|
|
112
|
+
| `OPENROUTER_API_KEY` | — | Use OpenRouter (needs `VOLE_MODEL`) |
|
|
113
|
+
| `VOLE_API_KEY` | — | Generic API key override |
|
|
114
|
+
| `VOLE_BASE_URL` | `https://api.openai.com/v1` | Provider base URL |
|
|
115
|
+
| `VOLE_MODEL` | `gpt-4.1-mini` | Model name |
|
|
116
|
+
| `VOLE_DEFAULT_MODE` | `confirm` | Autonomy mode: `observe` / `confirm` / `auto` |
|
|
117
|
+
| `VOLE_WORKSPACE_ROOT` | `.` | Working directory |
|
|
118
|
+
| `VOLE_LONG_TERM_MEMORY` | `disabled` | Memory policy: `disabled` / `read-only` / `write` |
|
|
119
|
+
| `VOLE_PROMPT_MODE` | `full` | Prompt rendering: `full` / `minimal` / `none` |
|
|
120
|
+
| `VOLE_EXECUTION_CONTRACT` | `default` | Execution discipline: `default` / `strict-agentic` |
|
|
121
|
+
| `VOLE_TOOL_PROFILE` | `full` | Tool capability set: `coding` / `full` / `messaging` / `background` |
|
|
122
|
+
| `VOLE_SANDBOX` | `false` | Restrict shell to workspace root: `true` / `false` |
|
|
123
|
+
| `VOLE_THINKING_BUDGET` | `adaptive` | Anthropic reasoning depth: `off` / `minimal` … `max` / `adaptive` |
|
|
97
124
|
|
|
98
125
|
## License
|
|
99
126
|
|
package/README.zh-CN.md
CHANGED
|
@@ -28,8 +28,9 @@ export OPENROUTER_API_KEY=sk-or-... # OpenRouter
|
|
|
28
28
|
## 使用
|
|
29
29
|
|
|
30
30
|
```bash
|
|
31
|
-
#
|
|
32
|
-
vole
|
|
31
|
+
# 交互式对话(在真实终端中,直接执行 vole 默认进入 chat)
|
|
32
|
+
vole
|
|
33
|
+
vole chat # 显式形式
|
|
33
34
|
|
|
34
35
|
# 恢复上次会话
|
|
35
36
|
vole chat --resume
|
|
@@ -48,14 +49,32 @@ vole sessions
|
|
|
48
49
|
|
|
49
50
|
| 命令 | 说明 |
|
|
50
51
|
|---|---|
|
|
52
|
+
| `vole` | 无参数调用默认进入交互式聊天(stdin 是真实终端时) |
|
|
51
53
|
| `vole chat` | 开始交互式对话 |
|
|
52
54
|
| `vole chat --resume` | 恢复最近的会话 |
|
|
53
55
|
| `vole chat --session <id>` | 恢复指定会话 |
|
|
54
56
|
| `vole run "<目标>"` | 运行一次性后台任务 |
|
|
57
|
+
| `vole run --dream` | 将日记合并进 `MEMORY.md` |
|
|
55
58
|
| `vole web` | 打开 Web 界面 |
|
|
56
59
|
| `vole sessions` | 列出所有会话 |
|
|
57
60
|
| `vole tasks` | 列出后台任务记录 |
|
|
58
|
-
| `vole skills` |
|
|
61
|
+
| `vole skills` | 列出已加载技能(含 `install`/`enable`/`disable`/`trust`/`review` 子命令) |
|
|
62
|
+
| `vole daemon` | 启动 Cron 调度守护进程(`--once` 仅执行一次) |
|
|
63
|
+
| `vole taskflow list/show/cancel` | 查看跨会话任务记录 |
|
|
64
|
+
| `vole gateway status` | 显示当前进程的 lane 占用与跨进程 session 锁 |
|
|
65
|
+
| `vole subagents list` | 列出近期子代理任务记录(taskflow) |
|
|
66
|
+
| `vole subagents kill <id\|all>` | 把子代理任务标记为已取消(或用 "all" 停掉所有 running) |
|
|
67
|
+
| `vole doctor` | 只读诊断:workspace、sessions、taskflow、skills 状态 |
|
|
68
|
+
| `vole doctor --fix` | 幂等修复:删除 stale `.lock`、取消僵死子代理、取消孤儿 TaskFlow 子任务 |
|
|
69
|
+
| `vole agents list` | 列出 `agents/` 下的 per-agent 身份目录以及当前默认 |
|
|
70
|
+
| `vole agents create <id>` | 创建 `agents/<id>/` 并写入种子 AGENTS.md / SOUL.md / USER.md / MEMORY.md |
|
|
71
|
+
| `vole agents switch <id>` | 写 `.vole/active-agent` 让后续运行使用该 agent |
|
|
72
|
+
| `vole agents remove <id> --confirm` | 把 `agents/<id>/` 归档到 `agents/.archive/` |
|
|
73
|
+
| `vole memory review` | 列出 DREAMS.md 中待审阅的候选条目 |
|
|
74
|
+
| `vole memory review approve <id\|all>` | 把 DREAMS.md 条目提升到 MEMORY.md |
|
|
75
|
+
| `vole memory review reject <id\|all>` | 把 DREAMS.md 条目归档到 DREAMS/archive/ |
|
|
76
|
+
| `vole migrate jsonl-to-sqlite` | 预览 JSONL → SQLite 迁移(sessions + taskflow),不实际写入 |
|
|
77
|
+
| `vole migrate jsonl-to-sqlite --apply` | 实际写入 SQLite 数据库 |
|
|
59
78
|
|
|
60
79
|
## 对话内指令
|
|
61
80
|
|
|
@@ -89,11 +108,19 @@ vole sessions
|
|
|
89
108
|
|
|
90
109
|
| 变量 | 默认值 | 说明 |
|
|
91
110
|
|---|---|---|
|
|
92
|
-
| `
|
|
93
|
-
| `OPENROUTER_API_KEY` | — | OpenRouter
|
|
94
|
-
| `
|
|
95
|
-
| `
|
|
96
|
-
| `
|
|
111
|
+
| `ANTHROPIC_API_KEY` | — | 使用 Anthropic Provider(claude-haiku-4-5) |
|
|
112
|
+
| `OPENROUTER_API_KEY` | — | 使用 OpenRouter(需配合 `VOLE_MODEL`) |
|
|
113
|
+
| `VOLE_API_KEY` | — | 通用 API Key 覆盖 |
|
|
114
|
+
| `VOLE_BASE_URL` | `https://api.openai.com/v1` | Provider Base URL |
|
|
115
|
+
| `VOLE_MODEL` | `gpt-4.1-mini` | 模型名称 |
|
|
116
|
+
| `VOLE_DEFAULT_MODE` | `confirm` | 自主模式:`observe` / `confirm` / `auto` |
|
|
117
|
+
| `VOLE_WORKSPACE_ROOT` | `.` | 工作目录 |
|
|
118
|
+
| `VOLE_LONG_TERM_MEMORY` | `disabled` | 记忆策略:`disabled` / `read-only` / `write` |
|
|
119
|
+
| `VOLE_PROMPT_MODE` | `full` | 提示词渲染:`full` / `minimal` / `none` |
|
|
120
|
+
| `VOLE_EXECUTION_CONTRACT` | `default` | 执行纪律:`default` / `strict-agentic` |
|
|
121
|
+
| `VOLE_TOOL_PROFILE` | `full` | 工具能力集:`coding` / `full` / `messaging` / `background` |
|
|
122
|
+
| `VOLE_SANDBOX` | `false` | 将 Shell 限制在工作区根目录:`true` / `false` |
|
|
123
|
+
| `VOLE_THINKING_BUDGET` | `adaptive` | Anthropic 推理深度:`off` / `minimal` … `max` / `adaptive` |
|
|
97
124
|
|
|
98
125
|
## 许可证
|
|
99
126
|
|
package/dist/app.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
|
-
import{a as le,d as W,h as ae}from"./chunk-
|
|
2
|
+
import{a as le,d as W,h as ae}from"./chunk-OHRUXR5B.js";import{useState as T,useEffect as Se,useCallback as I,useMemo as fe,useRef as Ie}from"react";import{render as Ae,Box as c,Text as o,useInput as O,useApp as ke,useAnimation as Re,useStdout as Ee,Static as Me}from"ink";import _e from"ink-text-input";import{readFile as De,stat as Pe}from"fs/promises";import{dirname as je,join as U}from"path";import{marked as ze}from"marked";import{useRef as Ze}from"react";import{Text as Be}from"ink";import p from"chalk";import{marked as de}from"marked";var ce=!1;function ue(){ce||(ce=!0,de.use({tokenizer:{del(){}}}))}function y(e,l=0,d=!1){switch(e.type){case"heading":{let s=(e.tokens??[]).map(i=>y(i)).join("");return e.depth===1?p.bold.underline(s)+`
|
|
3
3
|
|
|
4
4
|
`:e.depth===2?p.bold(s)+`
|
|
5
5
|
|