@archymedes/friday

中文文档
3.13.0发布于 2026/11/07Apache-2.0ES Module零依赖近 30 天下载 1983

Friday — a coding agent for your terminal that shows its work, asks before it changes anything, and proves a change works. Any model: ten providers, free models, your Claude subscription or your ChatGPT plan.

原始使用文档
文档目录13 节
  1. Why Friday
  2. Start in three steps
  3. Choose your model
  4. How a request runs
  5. Modes: how much it may do alone
  6. Helpers: several agents at once
  7. The interface
  8. Commands
  9. What keeps your code safe
  10. Make it yours
  11. Scripts and editors
  12. Questions
  13. Requirements

Friday

A coding agent for your terminal. It shows its work, asks before it changes anything, and proves a change works before it calls it done. Bring any model: your own key for one of ten providers, free models, your Claude subscription, or your ChatGPT plan.

npm install -g @archymedes/friday
cd your-project
friday

That is all. The first run walks you through choosing a model; then you type what you want done.


Contents

Why Friday

What you get
🔌 Any modelTen providers with your own key, free models through OpenRouter, Ollama on your machine, your Claude subscription through your own Claude Code, or your ChatGPT plan through Codex. Switch mid-conversation with /model; the conversation carries on.
🛡️ Asks before it actsFour modes, from "read and propose only" to "run on its own, but stop for anything risky". Every edit and command can be approved once, always, or by pattern.
✅ Proof before "done"A change is not finished until something shows it works. By default Friday writes the tests first, sees them fail, then writes the code.
🤝 Helpers in parallelFriday hands parts of a task to helpers: explorers searching several places at once, a planner, a reviewer, a verifier. Helpers that edit in the background work on their own git branch.
💬 Talk to it while it worksType while it runs: "use tabs, not spaces" reaches it before its next edit, not after the turn.
💾 Nothing lostEvery step is saved. Close the terminal, or let it crash, and friday --resume latest carries on, helpers included.
🖥️ A desktop in your terminalWindows for chat, files, changes, sessions and models, driven by arrow keys and the mouse.
🔒 Defender modeA security engineer that follows playbooks, scans for leaked secrets, and reports each finding with its file, line and impact.
🧩 Works where you workIn Zed and other editors over the Agent Client Protocol, or in scripts with --json.

Start in three steps

  1. Install it. npm install -g @archymedes/friday puts a single friday command on your machine.
  2. Run it in a project. cd into a folder with code and type friday. A short walkthrough asks for your name, a theme and a mode, then which model to use. Pick a provider, paste its key, and choose a model from the list it sends back. Choosing Claude or Codex signs in through those tools instead.
  3. Ask for something. Type a request and press enter:
friday                                          # open a session in this folder
friday "fix the failing test in src/parser.ts"  # open it with a request already sent
friday --resume latest                          # carry on where you left off
friday --free                                   # free models only, never a paid one

friday --help lists every option, and / inside a session lists every command.

Choose your model

ProviderWhat you need
AnthropicANTHROPIC_API_KEY
OpenAIOPENAI_API_KEY
OpenRouterOPENROUTER_API_KEY
Google GeminiGOOGLE_API_KEY
xAIXAI_API_KEY
DeepSeekDEEPSEEK_API_KEY
MistralMISTRAL_API_KEY
GroqGROQ_API_KEY
Ollama (local)nothing: Ollama running on this computer
Any OpenAI-compatible endpointOPENAI_COMPATIBLE_API_KEY and OPENAI_COMPATIBLE_BASE_URL
Free models (--free)OPENROUTER_API_KEY; only free models are ever used
Claude (your subscription)your own Claude Code, signed in (claude auth login)
Codex (your ChatGPT plan)your own Codex CLI, signed in (codex login)

Where keys go. Paste them into Providers (alt+p) or friday settings, or set them in your environment. <PROVIDER>_MODEL picks a provider's model, and <PROVIDER>_SMALL_MODEL a cheaper one for searching, checking and summaries.

Your Claude plan. With Claude chosen, your own Claude Code does the work, billed to your plan. Friday streams its replies, puts its permission questions in Friday's approval dialog, and keeps the conversation if you switch models. Friday never sees your Claude or ChatGPT account.

How a request runs

  1. It looks first. Friday reads and searches the project, often with helpers exploring several places at once.
  2. It plans the work as a checklist you can see (/todos).
  3. It writes the tests first, runs them, and sees them fail for the right reason.
  4. It changes the code, asking before each edit or command your mode does not allow on its own. Every tool call shows in the chat as it happens, with its result.
  5. It proves the change works by running the tests, then the project's own checks. A build alone is not enough.
  6. It suggests what is next: up to three next steps, each with why. alt+1, alt+2 or alt+3 puts one in the input.

You can type at any point: what you send reaches Friday at its next step. esc stops the turn.

Modes: how much it may do alone

ModeWhat it may doSwitch with
Planread and propose; it has no tool that can change anything/plan
Build (default)every edit and every command that is not read-only asks you first/build
Autoedits and commands run on their own; anything risky still asks/auto
Defendersecurity work: finds and fixes vulnerabilities, every change asks/defender

shift+tab cycles through them, and --plan, --auto or --defender starts in one. Read-only commands such as git status, ls or rg never ask, in any mode.

Helpers: several agents at once

Friday splits work between helpers (sub-agents) and uses them on its own when a task calls for it:

  • explore searches several parts of the project at the same time;
  • plan designs an approach before anything changes;
  • review reads a change with fresh eyes;
  • verify runs the checks and reports what passed;
  • general does a whole piece of work.

A helper can run in the background while Friday carries on. One that edits in the background works on its own git branch, so it never edits a file under Friday, and its report says how to take its work. /subagents shows what each is doing. Write your own in .archymedes/agents/<name>.md (see writing a role).

The interface

friday opens a small desktop in the terminal. Everything works with the keyboard and the mouse.

KeyOpensKeyOpens
F1Chat: the conversation and every tool callF7Keys: every shortcut
F2Files: browse and previewF8Help
F3Search across the projectF9Stats: tokens, time and tools per turn
F4Sessions: earlier conversationsF10Changes: each changed file and its diff
F5Models: every model, live, with pricesF12Gallery: the pictures behind the screen
F6Themesalt+p / alt+sProviders / Settings
  • One way to move. A click selects and a second click opens. The arrows move, enter opens, and esc steps back out to the bars. The wheel scrolls whatever is under the pointer.
  • Finder. alt+g shows everything Friday can open as icons: apps, commands, sessions, files, themes. Type to search all of them.
  • Start menu. ctrl+space finds any app, action, session or file by name.
  • Comment on a diff. In Changes, [ and ] pick a line and c writes a note on it. Your notes go with your next message, each with its file, line and code.
  • Suggestions while you type. The row above the input offers the command, earlier request or file you seem headed for; tab takes it. ARCHYMEDES_SUGGEST=off turns suggestions off.
  • Make it look like yours. /theme and /wallpaper show previews as you move through them. alt+w replays the first-run walkthrough.

Commands

Type / in a session to see them all. The ones you will use most:

CommandDoes
/model [name]switch the model or provider; the conversation carries on
/plan /build /auto /defenderchange the mode
/todosFriday's checklist for the task
/subagentsthe helpers: what each is doing or found
/toolsevery tool in this mode, what it may change, and whether it asks
/compact [focus]summarize the conversation to free room, keeping what you name
/commit [guidance]Friday reviews the changes and commits them; it never pushes
/push, /pr [guidance]push the branch; /pr then opens the pull request with gh
/worktree [name]a new session on a new branch in its own worktree
/resume, /new, /exportan earlier session; a fresh one; this one as Markdown
!commandrun a shell command yourself; its output is not sent to Friday
@pathmention a file in your message

| /undo, /rewind, /diff | take back the last turn (files, conversation or both), go back to any turn, see what changed | | /btw <question> | a side question, even while Friday works; the answer stays out of the conversation | | /cost, /subagents | tokens used, by the conversation and by each helper | | /skills, /mcp, /hooks, /lsp | what Friday found for this project | | /profile [name], /vim | another set of keys and settings; vim keys in the input |

/review, /fork, /goal, /context and /memory still need the earlier TypeScript engine. A command that is not available says so, and how to get it.

What keeps your code safe

  • You approve changes. An approval can be for this once, for this exact action from now on, or for a safe pattern such as a command prefix or a folder.
  • Risky actions always stop. Even in auto mode, Friday asks before anything touching credentials, deploys, publishing, pushes or privileged commands. Some commands are refused outright: rm -rf, git reset --hard, mkfs.
  • It never overwrites what it has not seen. A file that changed since Friday read it is read again before it is edited.
  • Your own rules. .archymedes/rules.json says which commands to allow, always ask, or forbid, by their first words. Each rule can carry examples, checked when it loads, so a rule that does not do what you meant is reported:
{ "rules": [
  { "prefix": ["rm", ["-rf", "-fr"]], "decision": "forbid", "reason": "Use trash-put instead.", "match": ["rm -rf build"] },
  { "prefix": ["git", "push"], "decision": "ask", "not_match": ["git pull"] },
  { "prefix": ["npm", ["test", "run"]], "decision": "allow" }
] }
  • Undo. Friday snapshots the project before every turn (in a git repository), and /undo puts the files back, created files removed and deleted ones restored. Your own staged changes are left alone.
  • Your hooks. Commands of yours that run before and after each action can stop one, in the same format as Claude Code's.

Friday guards your code. The machine the agent runs on is a separate question: Argus, from the same team, watches that machine, keeps the evidence locally and says what it could not see. It is free for Linux servers, and the desktop edition for Windows + WSL2 is in a free beta: archymedes.xyz/en/solutions/argus.

Make it yours

Everything lives under .archymedes/ in the project, so it travels with the repository.

FileDoes
AGENTS.md (or CLAUDE.md, ARCHYMEDES.md)project instructions, given to Friday with every request
.archymedes/commands/audit.mda command of your own: /audit; $ARGUMENTS is what you type after it
.archymedes/agents/<name>.mda helper of your own: its instructions, tools, model and limits
.archymedes/rules.jsonwhich commands to allow, ask about, or forbid

| .agents/skills/<name>/SKILL.md (or .claude/skills/) | a skill: instructions Friday loads when a task needs them | | .mcp.json (or .archymedes/mcp.json) | MCP servers; their tools cost no context until one is needed | | .claude/settings.json or .archymedes/hooks.json | hooks, in Claude Code's format |

Files other agents read work here as they are: AGENTS.md, Claude Code's skills, MCP servers and hooks. Friday also notifies you when a turn ends or it waits for you while you look elsewhere, sends pictures named in a request, and adds a language server's errors to each edit (gopls, pyright, typescript-language-server, rust-analyzer, clangd, when installed).

Scripts and editors

In an editor. friday acp speaks the Agent Client Protocol on stdio. In Zed's settings:

{ "agent_servers": { "Friday": { "command": "friday", "args": ["acp"] } } }

In scripts. Friday runs without the interface and prints results:

friday --print "add a health check"  one request; the answer on stdout, progress on stderr
friday --json "add a health check"   the same, as JSON lines for another program
echo "add a health check" | friday   a request from a pipe
friday --provider groq --model openai/gpt-oss-120b
friday settings                      keys, models, preferences
friday history                       earlier sessions
friday doctor                        what is wrong with your setup, if anything
friday update                        install the newest Friday
friday login | logout                link this computer to your Friday account, or unlink it

Questions

Which engine runs my session? Friday's engine is written in Go and runs inside the friday binary. A session that needs something only the earlier TypeScript engine has (Codex, for one) runs there on its own. Settings → Engine chooses one for every session.

Can I use it without paying for a model? Yes: friday --free with a free OpenRouter key uses free models only and never falls back to a paid one. Ollama runs models on your own computer.

Something is not working. friday doctor says what is wrong with your setup. The user guide covers the rest.

Where is the full documentation? The engine, the user guide, configuration, tools, helpers and editors.

Requirements

  • Linux, macOS or Windows, on x64 or arm64. The friday binary comes with the package.
  • Node 22.5 or newer, for settings, --json and sessions on the TypeScript engine.
  • Optional: git for Changes, background helpers and worktrees; gh for /pr; ripgrep for faster search; Claude Code or Codex to use those plans.

Apache-2.0 licensed. Source: github.com/chrisnkuno/archymedes-cli.

版本与发布记录

@archymedes/friday 共发布 14 个版本,首次发布于 2026/10/18;过去 12 个月发布了 14 个版本。

版本发布日期距今
3.13.0latest2026/11/07今天
3.12.102026/11/053 天前
3.12.92026/11/043 天前
3.12.82026/11/043 天前
3.12.72026/11/035 天前
3.12.62026/10/317 天前

关于 @archymedes/friday 的常见问题

@archymedes/friday 是什么?

Friday — a coding agent for your terminal that shows its work, asks before it changes anything, and proves a change works. Any model: ten providers, free models, your Claude subscription or your ChatGPT plan.

如何安装 @archymedes/friday?

在项目目录运行 npm install @archymedes/friday,或使用 pnpm add / yarn add / bun add。它还提供命令行工具 friday,可以用 npx friday 直接运行。

@archymedes/friday 支持 TypeScript 吗?

该包的 package.json 没有声明类型入口。需要类型提示时,可以在 npm 上查找社区维护的 @types/archymedes__friday 是否存在。

@archymedes/friday 支持 ESM 还是 CommonJS?

以 ES Module 形式发布,推荐使用 import 引入。在 CommonJS 项目中,Node.js 20.19+ / 22.12+ 可以直接 require() 不含顶层 await 的 ES Module,更早的版本需要改用动态 import()。

@archymedes/friday 需要什么版本的 Node.js?

package.json 的 engines 字段要求 Node.js >=22.5。版本不符时 npm 默认只给出警告,开启 engine-strict 后会拒绝安装。

@archymedes/friday 可以商用吗?

@archymedes/friday 使用 Apache-2.0 许可。宽松许可:允许商业使用、修改和再分发,并附带明确的专利授权;分发时需保留许可与 NOTICE 文件,修改过的文件要注明改动。以上为概括,不构成法律意见,请以许可原文为准。

@archymedes/friday 的下载量有多少?

根据 npm 官方下载统计,@archymedes/friday 在 2026/10/07 – 2026/11/05 这 30 天内被下载 1,983 次,日均约 66 次。下载量会把 CI 构建、镜像同步和作为其他包依赖的安装一并计入,适合横向比较热度,不能直接等同于使用人数。

@archymedes/friday 还在维护吗?

最新版本 3.13.0 发布于 2026/11/07(今天);至今共发布 14 个版本,其中过去 12 个月发布了 14 个;首次发布于 2026/10/18。发布频率只是参考信号:功能稳定的工具可能很少需要更新,建议结合源码仓库的 issue 和提交记录判断。