Directories
ΒΆ
| Path | Synopsis |
|---|---|
|
cmd
|
|
|
factor
command
Command factor is a fast, reliable desktop AI agent and companion with smrti long-term memory.
|
Command factor is a fast, reliable desktop AI agent and companion with smrti long-term memory. |
|
internal
|
|
|
agent
Package agent implements the turn loop: one live turn per session, mid-turn steering for overflow messages, bounded worker concurrency, and a system prompt assembled from identity, workspace bootstrap files, drop-in instructions, the skills catalog, and smrti memory recall.
|
Package agent implements the turn loop: one live turn per session, mid-turn steering for overflow messages, bounded worker concurrency, and a system prompt assembled from identity, workspace bootstrap files, drop-in instructions, the skills catalog, and smrti memory recall. |
|
app
Package app is the composition root: it wires config, provider chain, smrti memory, tools, skills, sessions, and the agent loop into one unit shared by the CLI and the gateway daemon.
|
Package app is the composition root: it wires config, provider chain, smrti memory, tools, skills, sessions, and the agent loop into one unit shared by the CLI and the gateway daemon. |
|
browser
Package browser gives the agent a real browser via the Chrome DevTools Protocol (chromedp): it attaches to the user's running Chrome/Chromium/ Brave when a DevTools port is open, otherwise launches a managed instance β visible by default, so the user can watch the agent work.
|
Package browser gives the agent a real browser via the Chrome DevTools Protocol (chromedp): it attaches to the user's running Chrome/Chromium/ Brave when a DevTools port is open, otherwise launches a managed instance β visible by default, so the user can watch the agent work. |
|
bus
Package bus decouples channels from the agent loop with bounded queues.
|
Package bus decouples channels from the agent loop with bounded queues. |
|
channel
Package channel defines the connector seam.
|
Package channel defines the connector seam. |
|
channel/phone
Package phone is the voice connector: the user talks to Factor on a real phone call, and Factor can call or text back.
|
Package phone is the voice connector: the user talks to Factor on a real phone call, and Factor can call or text back. |
|
channel/telegram
Package telegram is the reference connector: raw Bot API over HTTP long-polling, no SDK.
|
Package telegram is the reference connector: raw Bot API over HTTP long-polling, no SDK. |
|
config
Package config loads, defaults, persists, and redacts Factor's configuration.
|
Package config loads, defaults, persists, and redacts Factor's configuration. |
|
cron
Package cron schedules recurring agent tasks.
|
Package cron schedules recurring agent tasks. |
|
desktop
Package desktop gives the agent hands on the graphical session: listing and controlling windows, taking screenshots, moving the mouse, typing, the clipboard, notifications, and opening files or URLs.
|
Package desktop gives the agent hands on the graphical session: listing and controlling windows, taking screenshots, moving the mouse, typing, the clipboard, notifications, and opening files or URLs. |
|
gateway
Package gateway runs Factor as a daemon: channels, cron, heartbeat, background jobs, and a local health endpoint.
|
Package gateway runs Factor as a daemon: channels, cron, heartbeat, background jobs, and a local health endpoint. |
|
heartbeat
Package heartbeat periodically checks HEARTBEAT.md for user-defined tasks.
|
Package heartbeat periodically checks HEARTBEAT.md for user-defined tasks. |
|
jobs
Package jobs runs long work in the background so the agent can reply immediately and report back when the work finishes.
|
Package jobs runs long work in the background so the agent can reply immediately and report back when the work finishes. |
|
mcp
Package mcp implements a minimal MCP client (JSON-RPC 2.0 over stdio, newline-delimited) so external MCP servers' tools mount directly into Factor's tool registry as <server>__<tool>.
|
Package mcp implements a minimal MCP client (JSON-RPC 2.0 over stdio, newline-delimited) so external MCP servers' tools mount directly into Factor's tool registry as <server>__<tool>. |
|
memory
Package memory is the soul of Factor: long-term memory backed by smrti (github.com/cyqlelabs/smrti), an AtomSpace-inspired engine with Bayesian truth values, attention economics, and emotional valence, reached over a localhost REST sidecar.
|
Package memory is the soul of Factor: long-term memory backed by smrti (github.com/cyqlelabs/smrti), an AtomSpace-inspired engine with Bayesian truth values, attention economics, and emotional valence, reached over a localhost REST sidecar. |
|
provider
Package provider defines the LLM provider seam: a minimal Chat interface, wire-format adapters (OpenAI-compatible, Anthropic), error classification, and a failover chain with per-candidate cooldowns.
|
Package provider defines the LLM provider seam: a minimal Chat interface, wire-format adapters (OpenAI-compatible, Anthropic), error classification, and a failover chain with per-candidate cooldowns. |
|
session
Package session persists conversation history as append-only JSONL files with a meta sidecar carrying the summary and logical truncation offset.
|
Package session persists conversation history as append-only JSONL files with a meta sidecar carrying the summary and logical truncation offset. |
|
skills
Package skills implements progressive-disclosure markdown skills: only name + description enter the system prompt; the model reads the full SKILL.md with read_file when it decides a skill applies.
|
Package skills implements progressive-disclosure markdown skills: only name + description enter the system prompt; the model reads the full SKILL.md with read_file when it decides a skill applies. |
|
tools
Package tools defines the tool seam and the built-in arsenal.
|
Package tools defines the tool seam and the built-in arsenal. |
|
tui
Package tui draws Factor's interactive chat.
|
Package tui draws Factor's interactive chat. |
|
version
Package version holds build metadata injected at link time.
|
Package version holds build metadata injected at link time. |
|
wizard
Package wizard is Factor's interactive setup: a terminal front-end for `factor init` that picks a provider and model (probing them live), installs the smrti memory engine, wires up channels, and checks the desktop tools.
|
Package wizard is Factor's interactive setup: a terminal front-end for `factor init` that picks a provider and model (probing them live), installs the smrti memory engine, wires up channels, and checks the desktop tools. |
Click to show internal directories.
Click to hide internal directories.