Commit graph

2094 commits

Author SHA1 Message Date
anthrodjear
5b0df7fa8b refactor(research): update agents component to accept API data as props 2026-05-08 08:22:28 +03:00
anthrodjear
dbdcb9211a feat(api): add research endpoints and register routes 2026-05-08 08:21:06 +03:00
anthrodjear
695480d9e9 feat(frontend): add research API service with TanStack Query-ready functions 2026-05-08 08:18:45 +03:00
anthrodjear
18d331f31e feat(memory): add research report types and storage methods 2026-05-08 08:17:27 +03:00
anthrodjear
e0de4c71e5 feat(seahorse): add research graph node types and storage methods 2026-05-08 08:08:35 +03:00
anthrodjear
749ffbb082 feat(agent): add research agent type constants and config struct 2026-05-08 08:08:20 +03:00
anthrodjear
9f011dbe67 feat(agent): implement agent management and research cockpit
Introduces a comprehensive agent management system and a new research interface within the cockpit. This includes backend API endpoints for CRUD operations on agents, a new agent lifecycle manager, and frontend components for managing agents, skills, and research workflows.

- feat(backend): add REST API for agent lifecycle management (list, create, update, delete, import)
- feat(backend): implement `pkg/agent/manager` for agent lifecycle control
- feat(gateway): register agent API routes in the gateway
- feat(frontend): add cockpit tabs for Agents, Skills, and Research
- feat(frontend): implement AgentsPage and ResearchPage components
- feat(frontend): add `use-agents` and `use-cockpit-skills` hooks
- docs: add Agent Management API documentation and update project map
- refactor(tools): update ToolSkill metadata handling and regex parsing
2026-05-07 22:50:53 +03:00
anthrodjear
9d48e39d09 feat(backend): add MCP server REST API (list, add, update, delete, test) 2026-05-07 14:11:11 +03:00
anthrodjear
7432c6856c refactor(backend): use pkg/agent/manager directly, remove duplicated CRUD logic 2026-05-07 13:51:54 +03:00
anthrodjear
9ae9583be6 feat(backend): add cron job REST API (list, add, delete, enable, disable) 2026-05-07 13:39:19 +03:00
anthrodjear
8dd22efe65 fix(frontend): align deleteAgent return type with backend response {status} 2026-05-07 12:50:20 +03:00
Dark aura
84f4453911 feat(tools): add ToolSkill metadata handling for community tool system
- ToolSkill struct with Name, Description, Tags, UsageCount
- LoadToolSkill() to read and parse tool skill files
- Extract tags from content if not in frontmatter
2026-05-07 06:00:53 +01:00
Dark aura
4db0847677 feat(vault): integrate vault with memory graph for Obsidian-inspired system
- Add ExtractWikiLinks to vault/store.go for graph edges
- Add appendVaultGraph to api/pico.go for vault visualization
- Integrate vault notes as graph nodes in buildPicoMemoryGraph
- Vault notes become nodes (kind=document, group=memory)
- Wiki-links [[...]] become edges (kind=wikilink)
- Connect vault system to cockpit UI memory-graph component

Implements complete three-layer learning system:
1. Episodic: JSONL + frontmatter (Task 1-3)
2. Semantic: Vault with Obsidian-compatible markdown (Task 4-5)
3. Procedural: Tool skills ready (Task 6, 10)
4. UI: Vanilla JS sidebar with vault browser (Task 7-9)
2026-05-07 05:58:57 +01:00
Dark aura
d0cac40dd3 Merge branch 'main' of https://github.com/anthrodjear/picoclaw 2026-05-07 05:52:53 +01:00
Dark aura
5b31787db3 feat(api): add vault API endpoints placeholder
- /api/vault/list - vault note listing
- /api/vault/note - read note with frontmatter
- /api/vault/tags - tag listing
- /api/sessions/search - session search
- /api/tools/skills - tool skills listing

Note: RegisterVaultRoutes() needs to be called from main.go
2026-05-07 05:52:34 +01:00
Dark aura
c15b14e09a feat(ui): add Obsidian-inspired vault sidebar with vanilla JS components
- Add vault.js for sidebar tree view
- Add tags.js for tag cloud
- Add sessions.js for session history
- Add tools-skills.js for tool skills panel
- Add vault.css with Obsidian-inspired styling
- Update index.html with sidebar structure and script tags
2026-05-07 05:51:30 +01:00
Dark aura
719656e83b feat(vault): add ReadNote with frontmatter parsing for MEMORY.md 2026-05-07 05:45:09 +01:00
Dark aura
27aaa5e7d1 feat(vault): add VaultStore for managing Obsidian-compatible markdown notes 2026-05-07 05:36:39 +01:00
anthrodjear
f270a87894 updated the UI in chat adding voice and image. In cockpit redesigned it. 2026-05-06 19:35:35 +03:00
anthrodjear
b8b231964c Build automation and development improvements
- Add build-without-make.bat script for Windows builds without make
- Update .gitignore to exclude .gocache and dist directories
- Fix scripts/build-without-make.bat to properly handle repository root resolution
- Add CALL directive for pnpm commands in batch scripts
- Agent system improvements and health server enhancements
- Add agent cockpit UI components and memory graph visualization
- API improvements for PicoClaw web backend
- Update frontend routing and app sidebar
2026-05-06 16:20:27 +03:00
anthrodjear
03dae1301d added the windows build without make 2026-05-06 15:07:28 +03:00
Dark aura
c7366cf57f feat(seahorse): add SearchByTag method to RetrievalEngine 2026-05-06 08:35:20 +01:00
Dark aura
57eb3fc169 feat(memory): add Tags and Metadata to SessionMessage for frontmatter support 2026-05-06 07:44:09 +01:00
Dark aura
2b75c88428 feat(memory): add YAML frontmatter parser for JSONL sessions
- Add ParseFrontmatter function to extract YAML frontmatter from content
- Add test coverage for valid YAML, no frontmatter, and invalid YAML cases
- Use gopkg.in/yaml.v3 for parsing
2026-05-06 07:28:21 +01:00
Dark aura
4bdeb5dfbf docs: add design spec for learning vault and tool system
Implements three-layer learning system inspired by Hermes-agent:
- Episodic: JSONL sessions + Obsidian-style frontmatter
- Semantic: Obsidian-compatible markdown vault with tags and wiki-links
- Procedural: Tool skills as markdown wrappers + community registry

Includes minimal web UI enhancements (~25KB gzipped) preserving <20MB RAM target.
2026-05-06 06:27:16 +01:00
Dark aura
4ac0b52882 redesign: compact tool display and anchored permission prompt
- Replace heavy card layout with compact inline tool calls
- Move permission prompt near input box (only shows when needed)
- Add request_permission tool to tool catalog for frontend display
- Create CompactToolCall component with expandable details
- Fix TypeScript errors (removed unused props, simplified icons)
- Preserve showAssistantDetails filter for non-request_permission tools
2026-05-06 04:57:18 +01:00
Dark aura
15eb2e6249 fix: integrate PermissionPrompt dialog into chat UI
- Add PermissionPrompt component to chat page
- Detect request_permission tool calls and show dialog
- Extract path and command from tool call arguments
- Fix TypeScript errors (null check, unused variable)
- Fix locale files (trailing comma errors)
2026-05-06 04:21:22 +01:00
Dark aura
1fc04f7c77 feat: implement permission tool usage from frontend to backend
Complete end-to-end permission flow for tool execution:
- Add POST /api/permission/grant endpoint with gateway proxy
- Add permission checks for list_dir, edit_file, append_file tools
- Fix frontend PermissionPrompt to call grant API instead of chat messages
- Add grantPermission() to frontend API client
- Expose PermissionCache via AgentInstance for API access
- Wire up permission grant callback through gateway to agent loop

Inspired by opencode's permission system architecture.
2026-05-06 04:21:22 +01:00
anthrodjear
9870f46180
Merge branch 'sipeed:main' into main 2026-05-06 05:19:55 +03:00
Mauro
eb4e187550
Merge pull request #2767 from afjcjsbx/fix/leaf-summary-target-validation
fix(seahorse): enforce target token thresholds for leaf summaries
2026-05-05 19:09:06 +02:00
Mauro
0129da1c8e
Merge pull request #2773 from zhangxinping666/codex/fix-telegram-svg-media
fix(agent): send SVG attachments as files
2026-05-05 14:12:34 +02:00
xp
d601b75268 fix(agent): send SVG attachments as files 2026-05-05 19:36:09 +08:00
anthrodjear
d1c6f6e44c feat(tools): implement permission prompting for filesystem operations
Integrate `PermissionCache` into `WriteFileTool`, `EditFileTool`, `AppendFileTool`, and `ListDirTool` to allow user approval for actions outside the workspace.

- Add `PermissionPrompter` interface and `TerminalPrompter` implementation.
- Update `AgentInstance` to initialize and register the permission cache and `RequestPermissionTool`.
- Refactor filesystem tools to support permission checks via a `PermissionChecker` interface.
- Add `plan.md` documenting the multi-wave permission implementation strategy.
2026-05-05 11:27:12 +03:00
anthrodjear
7205dc6b5e docs: add exec permission implementation plan and design spec 2026-05-05 11:08:54 +03:00
anthrodjear
f46cf4c706 fix: use exported field names (PermissionCache, AskPermission) in test file 2026-05-05 06:52:02 +03:00
anthrodjear
9455c2d641 feat: wire up PermissionCache and register RequestPermissionTool in agent 2026-05-05 06:45:11 +03:00
anthrodjear
9ac94f32cf feat: modify ExecTool to check PermissionCache before executing outside-workspace commands 2026-05-05 06:39:20 +03:00
anthrodjear
d9c55dc939 Merge branch 'main' of https://github.com/anthrodjear/picoclaw 2026-05-05 06:36:57 +03:00
anthrodjear
6fb5531500
Merge branch 'sipeed:main' into main 2026-05-05 06:31:54 +03:00
anthrodjear
7804b12087 feat: add RequestPermissionTool for user permission prompts 2026-05-05 06:27:49 +03:00
anthrodjear
cf494c7b9a test: add PermissionCache unit tests (Grant, Check, Revoke, parent path) 2026-05-05 06:21:44 +03:00
anthrodjear
8feb6892af feat: add ask_permission config option to ExecConfig (default: true) 2026-05-05 06:16:44 +03:00
anthrodjear
4c74b13c6d docs: update exec tool and tools API docs with permission system 2026-05-05 06:15:59 +03:00
anthrodjear
843552ad16 feat: add PermissionCache for exec tool permission system 2026-05-05 06:13:43 +03:00
anthrodjear
8d720c5e93 docs(docs): document exec tool architecture and sandboxing
Add detailed technical reference for the `exec` tool, covering:
- Execution flow (registration, LLM invocation, and action routing)
- Synchronous vs. background session management
- Platform-specific isolation mechanisms (bubblewrap, restricted tokens)
- Security implementation including built-in deny patterns
- Instructions for disabling or removing the tool

Update project map and session log to reflect these documentation changes.
2026-05-05 05:55:28 +03:00
anthrodjear
ab23be43a9 docs: add project documentation and architecture guides
Add comprehensive documentation including:
- CLAUDE.md for build instructions and environment setup
- project-map.md for directory structure and key file overview
- docs/reference/tools-api.md for detailed tools API and architecture
- session-log.md for tracking development decisions
- updates to plugin tool injection documentation regarding security risks
2026-05-05 05:49:21 +03:00
Mauro
5745957429
Merge pull request #2731 from sipeed/dependabot/go_modules/github.com/aws/aws-sdk-go-v2/service/bedrockruntime-1.50.6
build(deps): bump github.com/aws/aws-sdk-go-v2/service/bedrockruntime from 1.50.5 to 1.50.6
2026-05-04 22:07:36 +02:00
Mauro
ba4abff4a4
Merge pull request #2670 from david1gp/fix/tool-feedback-pretty-print
feat(agent): add pretty_print and disable_escape_html options for tool feedback
2026-05-04 21:47:32 +02:00
afjcjsbx
a1b55fd4f9 fix(seahorse): enforce target token thresholds for leaf summaries 2026-05-04 14:10:42 +02:00
anthrodjear
07107384cb Merge branch 'main' of https://github.com/sipeed/picoclaw 2026-05-04 12:49:18 +03:00