mirror of
https://github.com/sipeed/picoclaw.git
synced 2026-06-12 18:08:54 +00:00
feat(skills): add channel commands to list and force installed skills
This commit is contained in:
@@ -33,3 +33,23 @@ The Telegram channel uses long polling via the Telegram Bot API for bot-based co
|
||||
3. Obtain the HTTP API Token
|
||||
4. Fill in the Token in the configuration file
|
||||
5. (Optional) Configure `allow_from` to restrict which user IDs can interact (you can get IDs via `@userinfobot`)
|
||||
|
||||
## Built-in Commands
|
||||
|
||||
Telegram auto-registers PicoClaw's top-level bot commands at startup, including `/start`, `/help`, `/show`, `/list`, and `/use`.
|
||||
|
||||
Skill-related commands:
|
||||
|
||||
- `/list skills` lists the installed skills visible to the current agent.
|
||||
- `/use <skill> <message>` forces a skill for a single request.
|
||||
- `/use <skill>` arms the skill for your next message in the same chat.
|
||||
- `/use clear` clears a pending skill override.
|
||||
|
||||
Examples:
|
||||
|
||||
```text
|
||||
/list skills
|
||||
/use git explain how to squash the last 3 commits
|
||||
/use git
|
||||
explain how to squash the last 3 commits
|
||||
```
|
||||
|
||||
@@ -33,3 +33,23 @@ Telegram Channel 通过 Telegram 机器人 API 使用长轮询实现基于机器
|
||||
3. 获取 HTTP API Token
|
||||
4. 将 Token 填入配置文件中
|
||||
5. (可选) 配置 `allow_from` 以限制允许互动的用户 ID (可通过 `@userinfobot` 获取 ID)
|
||||
|
||||
## 内置命令
|
||||
|
||||
Telegram 会在启动时自动注册 PicoClaw 的顶级 Bot 命令,包括 `/start`、`/help`、`/show`、`/list` 和 `/use`。
|
||||
|
||||
与技能相关的命令:
|
||||
|
||||
- `/list skills`:列出当前 Agent 可见的已安装技能。
|
||||
- `/use <skill> <message>`:只在本次请求中强制使用指定技能。
|
||||
- `/use <skill>`:为同一聊天中的下一条消息预先启用该技能。
|
||||
- `/use clear`:清除待应用的技能覆盖。
|
||||
|
||||
示例:
|
||||
|
||||
```text
|
||||
/list skills
|
||||
/use git explain how to squash the last 3 commits
|
||||
/use italiapersonalfinance
|
||||
dammi le ultime news
|
||||
```
|
||||
|
||||
+8
-1
@@ -60,11 +60,18 @@ picoclaw gateway
|
||||
|
||||
**4. Telegram command menu (auto-registered at startup)**
|
||||
|
||||
PicoClaw now keeps command definitions in one shared registry. On startup, Telegram will automatically register supported bot commands (for example `/start`, `/help`, `/show`, `/list`) so command menu and runtime behavior stay in sync.
|
||||
PicoClaw now keeps command definitions in one shared registry. On startup, Telegram will automatically register supported bot commands (for example `/start`, `/help`, `/show`, `/list`, `/use`) so command menu and runtime behavior stay in sync.
|
||||
Telegram command menu registration remains channel-local discovery UX; generic command execution is handled centrally in the agent loop via the commands executor.
|
||||
|
||||
If command registration fails (network/API transient errors), the channel still starts and PicoClaw retries registration in the background.
|
||||
|
||||
You can also manage installed skills directly from Telegram:
|
||||
|
||||
- `/list skills`
|
||||
- `/use <skill> <message>`
|
||||
- `/use <skill>` and then send the actual request in the next message
|
||||
- `/use clear`
|
||||
|
||||
**4. Advanced Formatting**
|
||||
You can set use_markdown_v2: true to enable enhanced formatting options. This allows the bot to utilize the full range of Telegram MarkdownV2 features, including nested styles, spoilers, and custom fixed-width blocks.
|
||||
|
||||
|
||||
@@ -65,6 +65,24 @@ For advanced/test setups, you can override the builtin skills root with:
|
||||
export PICOCLAW_BUILTIN_SKILLS=/path/to/skills
|
||||
```
|
||||
|
||||
### Using Skills From Chat Channels
|
||||
|
||||
Once skills are installed, you can inspect and force them directly from a chat channel:
|
||||
|
||||
- `/list skills` shows the installed skill names available to the current agent.
|
||||
- `/use <skill> <message>` forces a specific skill for a single request.
|
||||
- `/use <skill>` arms that skill for your next message in the same chat session.
|
||||
- `/use clear` cancels a pending skill override created by `/use <skill>`.
|
||||
|
||||
Examples:
|
||||
|
||||
```text
|
||||
/list skills
|
||||
/use git explain how to squash the last 3 commits
|
||||
/use italiapersonalfinance
|
||||
dammi le ultime news
|
||||
```
|
||||
|
||||
### Unified Command Execution Policy
|
||||
|
||||
- Generic slash commands are executed through a single path in `pkg/agent/loop.go` via `commands.Executor`.
|
||||
|
||||
@@ -63,11 +63,18 @@ picoclaw gateway
|
||||
|
||||
**4. Telegram 命令菜单(启动时自动注册)**
|
||||
|
||||
PicoClaw 使用统一的命令定义来源。启动时会自动将 Telegram 支持的命令(例如 `/start`、`/help`、`/show`、`/list`)注册到 Bot 命令菜单,确保菜单展示与实际行为一致。
|
||||
PicoClaw 使用统一的命令定义来源。启动时会自动将 Telegram 支持的命令(例如 `/start`、`/help`、`/show`、`/list`、`/use`)注册到 Bot 命令菜单,确保菜单展示与实际行为一致。
|
||||
Telegram 侧保留的是命令菜单注册能力;通用命令的实际执行统一走 Agent Loop 中的 commands executor。
|
||||
|
||||
如果注册因网络或 API 短暂异常失败,不会阻塞 channel 启动;系统会在后台自动重试。
|
||||
|
||||
你也可以直接在 Telegram 中管理已安装技能:
|
||||
|
||||
- `/list skills`
|
||||
- `/use <skill> <message>`
|
||||
- `/use <skill>`,然后在下一条消息里发送真正的请求
|
||||
- `/use clear`
|
||||
|
||||
</details>
|
||||
|
||||
<details>
|
||||
|
||||
@@ -65,6 +65,24 @@ PicoClaw 将数据存储在您配置的工作区中(默认:`~/.picoclaw/work
|
||||
export PICOCLAW_BUILTIN_SKILLS=/path/to/skills
|
||||
```
|
||||
|
||||
### 在聊天频道中使用技能
|
||||
|
||||
技能安装完成后,可以直接在聊天频道里查看并显式启用它们:
|
||||
|
||||
- `/list skills`:显示当前 Agent 可用的已安装技能名称。
|
||||
- `/use <skill> <message>`:只对当前这一条请求强制使用指定技能。
|
||||
- `/use <skill>`:为同一会话中的下一条消息预先启用该技能。
|
||||
- `/use clear`:取消通过 `/use <skill>` 设置的待应用技能。
|
||||
|
||||
示例:
|
||||
|
||||
```text
|
||||
/list skills
|
||||
/use git explain how to squash the last 3 commits
|
||||
/use italiapersonalfinance
|
||||
dammi le ultime news
|
||||
```
|
||||
|
||||
### 统一命令执行策略
|
||||
|
||||
- 通用斜杠命令通过 `pkg/agent/loop.go` 中的 `commands.Executor` 统一执行。
|
||||
|
||||
Reference in New Issue
Block a user