- Add bubbletea/lipgloss/glamour dependencies for TUI - Create internal/tui package with EventWriter, styles, and bubbletea Model - Support streaming output display in conversation window - Add right panel with statistics and active agent status - Implement multi-agent collaboration with sub-agents - Add AgentCallTool for delegating tasks to sub-agents - Support parallel tool execution with goroutines - Auto-discover sub-agents from ~/.orca/prompts/ directory - Fix orchestrator routing based on msg.To field - Add non-blocking event writer with timeout to prevent blocking
4.0 KiB
4.0 KiB
session, updated
| session | updated |
|---|---|
| ses_1fd1 | 2026-05-08T14:24:46.168Z |
Session Summary
Goal
使 Orca Agent Framework 能够识别和调用 ~/.agents/skills 目录下的 skills,同时集成 DeepSeek LLM 提供商支持。
Constraints & Preferences
- 保持与现有 Ollama 集成的兼容性
- 默认使用 DeepSeek (deepseek-v4-flash)
- Skills 目录:
~/.agents/skills - Prompt-based tool calling (兼容不支持原生 function calling 的模型)
- 流式输出支持
Progress
Done
- 实现 DeepSeek 客户端 (
pkg/llm/deepseek.go) - 支持 Chat 和 Stream API - 更新配置系统支持 Provider 字段 (ollama/deepseek)
- 默认 Provider 改为 DeepSeek,默认模型 deepseek-v4-flash
- 更新 Kernel 根据 Provider 创建对应 LLM 后端
- 更新 CLI 支持 DeepSeek 环境变量 (DEEPSEEK_API_KEY, DEEPSEEK_MODEL 等)
- 添加流式输出支持 (streamWriter, streamChat/syncChat)
- 修复 sandbox 默认工作目录为当前目录 (
.而非/tmp/orca/sandbox) - 修复 skills 加载路径为
~/.agents/skills - 在
main.go中添加k.InitPlugins()调用以加载 skills - 在 LLMAgent 中添加 skillManager 字段和 WithSkillManager 选项
- 将 skill 信息注入系统提示 (buildSystemPrompt)
- 所有 11 个包测试通过
In Progress
- Skill 调用机制优化 - LLM 识别到 skill 后需要正确使用 skill 知识回答问题,而不是用 exec 工具查找 skill 目录
Blocked
- (none)
Key Decisions
- 默认 Provider 使用 DeepSeek: 用户明确要求,API key 已嵌入配置
- Prompt-based tool calling: gemma4:e4b 不支持原生 function calling,需要通过系统提示注入工具描述,LLM 输出 JSON 格式调用工具
- Skill 信息注入系统提示: 将可用 skills 的名称、描述、触发词加入系统提示,让 LLM 自主判断何时使用
- Sandbox 工作目录改为
.: 避免文件创建在/tmp/orca/sandbox隔离目录中
Next Steps
- 修复 skill 调用机制 - LLM 应直接使用 skill 描述中的专业知识回答问题,而非用工具查找 skill 文件
- 考虑将 skill 的 body/markdown 内容也注入到对话中,或作为上下文参考
- 测试具体 skill 触发(如 ui-ux-pro-max 响应"设计网站"类请求)
- 提交更改到 git dev 分支
- 推送代码到远程仓库 (需要 GitHub 认证)
Critical Context
~/.agents/skills下有 8 个已加载 skills: dev-browser, find-skills, md2pdf, project-memory, shadcn, skill-creator, ui-ux-pro-max, weapp-tailwindcss-guide- 1 个 skill 加载错误: art-design-pro (缺少 frontmatter 中的 'name')
- DeepSeek API key:
sk-2f1049148e06492dbc304ba49c81c321(已嵌入默认配置) - 系统提示中 tools 和 skills 信息同时存在,LLM 可能混淆使用方式
- 当前测试中 LLM 用 exec 工具查找 skill 目录,说明 skill 调用指导不够明确
File Operations
Read
/Users/wang/agent_dev/orca.ai/cmd/orca/main.go/Users/wang/agent_dev/orca.ai/internal/config/config.go/Users/wang/agent_dev/orca.ai/internal/config/config_test.go/Users/wang/agent_dev/orca.ai/pkg/actor/llm_agent.go/Users/wang/agent_dev/orca.ai/pkg/kernel/kernel.go/Users/wang/agent_dev/orca.ai/pkg/llm/deepseek.go/Users/wang/agent_dev/orca.ai/pkg/llm/llm.go/Users/wang/agent_dev/orca.ai/pkg/llm/types.go/Users/wang/agent_dev/orca.ai/pkg/sandbox/process.go/Users/wang/agent_dev/orca.ai/pkg/sandbox/sandbox.go/Users/wang/agent_dev/orca.ai/pkg/skill/manager.go/Users/wang/agent_dev/orca.ai/pkg/skill/skill.go/Users/wang/agent_dev/orca.ai/pkg/tool/builtin.go
Modified
/Users/wang/agent_dev/orca.ai/cmd/orca/main.go/Users/wang/agent_dev/orca.ai/internal/config/config.go/Users/wang/agent_dev/orca.ai/internal/config/config_test.go/Users/wang/agent_dev/orca.ai/pkg/actor/llm_agent.go/Users/wang/agent_dev/orca.ai/pkg/kernel/kernel.go/Users/wang/agent_dev/orca.ai/pkg/llm/deepseek.go/Users/wang/agent_dev/orca.ai/pkg/sandbox/process.go