English | 简体中文
If you are interested in agent-core, start with QuiFox to see how the framework and its plugins come together in an interactive Agent application.
QuiFox is a Harness built on agent-core, with terminal (TUI) and desktop (GUI) interfaces. It brings model connections, conversations, tool execution, approvals, Skills, child Agents and execution traces into one interactive environment.
The workflow workbench runs reusable TypeScript multi-Agent scripts, with static call graphs and live invocation states.
agent-core is an Agent framework built around a minimal execution core and explicit plugin composition.
Core provides a default execution loop and Hooks across its lifecycle. Plugins supply model generation, sessions, prompts, Tools, interruption, recovery, compaction, events and collaboration, so developers can compose their own Agent behavior.
Agent Core is currently experimental. APIs and plugin composition contracts are evolving.
A visual tour of lifecycle Hooks, sessions, interruption and recovery, plugin composition, tracing, Code Mode, and peer-Agent collaboration, followed by application examples.
Watch the Agent Core and plugin capabilities demo.
- Keep conversation history with Chat or Responses sessions.
- Combine interruption, checkpoints, and new input during execution.
- Share a Teams plugin among ordinary peer Agents.
- Execute Host-provided code and recompose plugin sets.
With the Bun version pinned in the root manifest, install and build the workspace from the repository root:
bun install --frozen-lockfile
bun run buildA Bun Host can compose Chat history and model generation as one conversation plugin. This example uses the DeepSeek deepseek-flash model through Chat Completions (official model documentation).
This is one example of plugin composition. You can implement and combine plugins to create richer capabilities and different agent behaviors.
Run the following JavaScript from the repository root. The Host supplies DEEPSEEK_API_KEY through its environment.
import { createAgent } from '@quifox/agent-core'
import { ChatModelPlugin } from '@quifox/agent-plugin-model'
import { ChatSessionPlugin, ChatConversationPlugin } from '@quifox/agent-plugin-session'
const session = new ChatSessionPlugin({ id: 'example', ownerId: 'example' })
const generation = new ChatModelPlugin({
session,
model: 'deepseek-flash',
baseUrl: 'https://api.deepseek.com',
apiKey: process.env.DEEPSEEK_API_KEY,
assistantReasoningField: 'reasoning_content'
})
const conversation = new ChatConversationPlugin({ session, generation })
const agent = createAgent({ plugins: [conversation] })
const outcome = await agent.run({ prompt: 'Reply with exactly "Hello World".' })
if (!outcome.ok) { throw outcome.error }
console.log(conversation.readOutput())| Package | Responsibility |
|---|---|
| agent-core | Default loop, Hooks, Context, Outcome, and Tool contracts |
| agent-plugin-model | Model generation Hooks and internal protocol/transport adapters |
| agent-plugin-session | Chat history, storage, fork, and Conversation composition |
| agent-plugin-compaction | Context budgets, summaries, and checkpoints |
| agent-plugin-checkpoint | Current-turn execution records and recovery data |
| agent-plugin-interrupt | Cooperative pause and terminate policies |
| agent-plugin-steering | Input batching and run handoff |
| agent-plugin-code-mode | Host code execution and asynchronous Tool proxies |
| agent-plugin-composition | Plugin-array proposals and next-Agent reference handoff |
| agent-plugin-tools | Tool catalog, visibility, and entry routing |
| agent-plugin-system-prompt | Caller-provided trusted prompt contributions |
| agent-plugin-subagents | Child Agents, fork, messages, waiting, and stop |
| agent-plugin-tasks | Background operations and factual task receipts |
| agent-plugin-project-context | Standard Skills and scoped AGENTS.md |
| agent-plugin-request-context | Temporary model context separate from original history |
| agent-plugin-memory | Two-stage memory and source verification |
| agent-plugin-teams | Peer mailboxes and member wake-up scheduling |
| agent-plugin-events | Per-Agent execution observations |
| agent-plugin-formal-backend | Reference Responses backend composition |
- QuiFox TUI: the fox terminal Host with streaming chat, approvals and recovery.
- QuiFox Desktop: Tauri/React workspaces, child sessions and expandable execution traces.
- Shared runtime: the common Bun Host, configuration, archive and plugin assembly.
- Teams workbench: peer-Agent collaboration, independent event streams, and mailbox delivery.
- Plugin authoring guide.
- Architecture guide.
- Roadmap.
agent-core assembles capabilities through lifecycle Hooks around a minimal execution kernel. DeepSeek Harness (DSH) likewise explores composable, plugin-based agent systems, with its plugin architecture built on Cordis.