pikiclaw 0.3.20 → 0.3.22

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 CHANGED
@@ -30,6 +30,35 @@ npx pikiclaw@latest
30
30
 
31
31
  <img src="docs/promo-basic-ops.gif" alt="Basic operations" width="700">
32
32
 
33
+ > Web Dashboard: multi-panel workspace with session list, conversation view, tool-use traces, and input composer (1 / 2 / 3 / 6 pane layouts).
34
+
35
+ <img src="docs/promo-dashboard-workspace.png" alt="Workspace" width="700">
36
+
37
+ <details>
38
+ <summary>More dashboard pages</summary>
39
+
40
+ **IM Access** — Telegram, Feishu, WeChat channel status and configuration
41
+
42
+ <img src="docs/promo-dashboard-im.png" alt="IM Access" width="700">
43
+
44
+ **Agent Config** — Default agent / model / reasoning effort, available agents overview
45
+
46
+ <img src="docs/promo-dashboard-agents.png" alt="Agent Config" width="700">
47
+
48
+ **System Permissions** — macOS accessibility, screen recording, disk access
49
+
50
+ <img src="docs/promo-dashboard-permissions.png" alt="Permissions" width="700">
51
+
52
+ **Extensions** — Global MCP servers, community skills, and built-in browser & desktop automation
53
+
54
+ <img src="docs/promo-dashboard-extensions.png" alt="Extensions" width="700">
55
+
56
+ **System Info** — Working directory, CPU / memory / disk monitoring
57
+
58
+ <img src="docs/promo-dashboard-system.png" alt="System Info" width="700">
59
+
60
+ </details>
61
+
33
62
  ---
34
63
 
35
64
  ## Why pikiclaw?
@@ -47,7 +76,7 @@ pikiclaw takes a different approach:
47
76
  You (Telegram / Feishu / WeChat)
48
77
  |
49
78
  v
50
- pikiclaw ←── MCP servers & community skills
79
+ pikiclaw <-- MCP servers & community skills
51
80
  |
52
81
  v
53
82
  Claude Code / Codex / Gemini CLI
@@ -101,39 +130,6 @@ npx pikiclaw@latest --doctor # check environment only
101
130
 
102
131
  ---
103
132
 
104
- ## Dashboard
105
-
106
- <details>
107
- <summary>Expand to see all dashboard pages</summary>
108
-
109
- **Workspace** — Multi-panel agent console with session list, conversation view, tool-use traces, and input composer
110
-
111
- <img src="docs/promo-dashboard-workspace.png" alt="Workspace" width="700">
112
-
113
- **IM Access** — Telegram, Feishu, WeChat channel status and configuration
114
-
115
- <img src="docs/promo-dashboard-im.png" alt="IM Access" width="700">
116
-
117
- **Agent Config** — Default agent / model / reasoning effort, available agents overview
118
-
119
- <img src="docs/promo-dashboard-agents.png" alt="Agent Config" width="700">
120
-
121
- **System Permissions** — macOS accessibility, screen recording, disk access
122
-
123
- <img src="docs/promo-dashboard-permissions.png" alt="Permissions" width="700">
124
-
125
- **Extensions** — Community MCP servers, skill repos, and built-in browser & desktop automation
126
-
127
- <img src="docs/promo-dashboard-extensions.png" alt="Extensions" width="700">
128
-
129
- **System Info** — Working directory, CPU / memory / disk monitoring
130
-
131
- <img src="docs/promo-dashboard-system.png" alt="System Info" width="700">
132
-
133
- </details>
134
-
135
- ---
136
-
137
133
  ## Features
138
134
 
139
135
  ### Channels & Agents
@@ -142,20 +138,21 @@ npx pikiclaw@latest --doctor # check environment only
142
138
  - Claude Code, Codex CLI, and Gemini CLI via unified driver registry
143
139
  - Model listing, session management, and usage tracking through a single interface
144
140
 
145
- ### Dashboard as Agent Console
146
-
147
- The web dashboard is a full-featured agent console — not just a settings panel. It provides complete conversation history with tool-use activity, thinking traces, plan progress, streaming output, image attachments, and an input composer. You can drive any agent session directly from the browser with a multi-panel workspace layout (1 / 2 / 3 / 6 panes), no IM required.
148
-
149
141
  ### Extensions & Community Plugins
150
142
 
151
- pikiclaw has a two-layer extension system — **global** extensions apply to all projects, **workspace** extensions are project-scoped:
143
+ pikiclaw has a two-layer extension system — **global** extensions apply to all projects, **workspace** extensions are project-scoped.
144
+
145
+ **MCP Servers** — browse recommended servers, search the [MCP Registry](https://registry.modelcontextprotocol.io), or add custom servers (stdio / HTTP):
152
146
 
153
147
  <img src="docs/promo-dashboard-extensions-add.png" alt="Add MCP Server" width="700">
154
148
 
155
- **MCP Servers**
149
+ **Project Extensions** — each workspace has its own MCP servers (`.mcp.json`) and skills (`.pikiclaw/skills/`), managed from the workspace sidebar:
150
+
151
+ <img src="docs/promo-workspace-extensions.png" alt="Project Extensions" width="700">
152
+
156
153
  - Browse recommended servers (GitHub, Filesystem, PostgreSQL, Slack, Brave Search, Memory, Fetch, SQLite, Git, Sentry)
157
- - Search the [MCP Registry](https://registry.modelcontextprotocol.io) for community servers
158
- - Add custom servers (stdio or HTTP) with environment variable configuration
154
+ - Search the MCP Registry for community servers
155
+ - Add custom servers with environment variable configuration
159
156
  - Health check with MCP protocol handshake and tool discovery
160
157
  - Enable / disable individual servers per scope
161
158
 
@@ -123,10 +123,10 @@ export function extractLastSessionTurn(messages) {
123
123
  return null;
124
124
  return { userText, assistantText };
125
125
  }
126
- export async function getSessionTurnPreviewData(bot, agent, sessionId, limit = 50) {
126
+ export async function getSessionTurnPreviewData(bot, agent, sessionId, limit = 50, workdir) {
127
127
  if (!sessionId)
128
128
  return null;
129
- const tail = await bot.fetchSessionTail(agent, sessionId, limit);
129
+ const tail = await bot.fetchSessionTail(agent, sessionId, limit, workdir);
130
130
  if (!tail.ok || !tail.messages.length)
131
131
  return null;
132
132
  return extractLastSessionTurn(tail.messages);
@@ -960,7 +960,7 @@ export class FeishuBot extends Bot {
960
960
  }
961
961
  async previewCurrentSessionTurn(chatId, agent, sessionId) {
962
962
  try {
963
- const preview = await getSessionTurnPreviewData(this, agent, sessionId, 50);
963
+ const preview = await getSessionTurnPreviewData(this, agent, sessionId, 50, this.chatWorkdir(chatId));
964
964
  if (!preview)
965
965
  return;
966
966
  const previewMarkdown = renderSessionTurnMarkdown(preview.userText, preview.assistantText);
@@ -932,7 +932,7 @@ export class TelegramBot extends Bot {
932
932
  }
933
933
  async previewCurrentSessionTurn(chatId, agent, sessionId) {
934
934
  try {
935
- const preview = await getSessionTurnPreviewData(this, agent, sessionId, 50);
935
+ const preview = await getSessionTurnPreviewData(this, agent, sessionId, 50, this.chatWorkdir(chatId));
936
936
  if (!preview)
937
937
  return;
938
938
  const previewHtml = renderSessionTurnHtml(preview.userText, preview.assistantText);
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "pikiclaw",
3
- "version": "0.3.20",
3
+ "version": "0.3.22",
4
4
  "description": "Put the world's smartest AI agents in your pocket. Command local Claude & Gemini via IM. | 让最好用的 IM 变成你电脑上的顶级 Agent 控制台",
5
5
  "type": "module",
6
6
  "bin": {