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. |
|
autostart
Package autostart puts Factor into the user's login sequence: a systemd user service where a user manager is running, an XDG autostart entry on other Linux desktops, a launchd agent on macOS, and a Run registry value on Windows.
|
Package autostart puts Factor into the user's login sequence: a systemd user service where a user manager is running, an XDG autostart entry on other Linux desktops, a launchd agent on macOS, and a Run registry value on Windows. |
|
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
files.go moves files across the chat, both ways: attachments the user sends are downloaded into the workspace and handed to the model as a local path, and the telegram_send_file tool lets the agent hand the user an actual file β a report it wrote, a screenshot, a download β instead of describing one.
|
files.go moves files across the chat, both ways: attachments the user sends are downloaded into the workspace and handed to the model as a local path, and the telegram_send_file tool lets the agent hand the user an actual file β a report it wrote, a screenshot, a download β instead of describing one. |
|
channel/voice
Package voice is the PC voice connector: the user talks to Factor through the machine's own microphone and hears it through the speakers.
|
Package voice is the PC voice connector: the user talks to Factor through the machine's own microphone and hears it through the speakers. |
|
config
Package config loads, defaults, persists, and redacts Factor's configuration.
|
Package config loads, defaults, persists, and redacts Factor's configuration. |
|
cost
Package cost prices what the agent spends.
|
Package cost prices what the agent spends. |
|
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. |
|
proxy
Package proxy routes Factor's own HTTP through a proxy, so a debugging or auditing session can watch every provider call go past β prompts, tool definitions, replies and token counts, as they cross the wire.
|
Package proxy routes Factor's own HTTP through a proxy, so a debugging or auditing session can watch every provider call go past β prompts, tool definitions, replies and token counts, as they cross the wire. |
|
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. |
|
tray
Package tray shows a system-tray icon while the gateway runs: its presence is the status light, and its menu carries the one action a tray owes its user β quitting the daemon.
|
Package tray shows a system-tray icon while the gateway runs: its presence is the status light, and its menu carries the one action a tray owes its user β quitting the daemon. |
|
tui
Package tui draws Factor's interactive chat.
|
Package tui draws Factor's interactive chat. |
|
upgrade
Package upgrade keeps Factor current: it finds the newest published release for this machine and replaces the running binary with it.
|
Package upgrade keeps Factor current: it finds the newest published release for this machine and replaces the running binary with it. |
|
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.