Mga feature
Mga shortcut command
Machine translation mula sa Ingles ang pahinang ito. Malugod naming tinatanggap ang mga pagwawasto. I-edit ang pahinang ito sa GitHub
Ang shortcut ay isang command na ikaw mismo ang nagpangalan at nagsisimula ng Claude Code bilang isang account: ginagawa ng ccwork --resume ang ginagawa ng ccam work --resume. Isa itong link sa ccam sa ~/.local/bin, kaya gumagana ito sa bash, zsh, mga script at anumang ibang nagpapatakbo ng program mula sa PATH. Opsyonal ang mga shortcut; gumawa ng isa para sa mga account na madalas mong sinisimulan.
Paggamit
ccam shortcut work ccwork # create the shortcut ccwork for work
ccam shortcut 2 ccside # the account with number 2
ccam shortcut work # show it
ccam shortcut work ccw # rename it; the old link is removed
ccam shortcut work --remove # delete it
ccam add side --shortcut ccside
ccam shims install # recreate missing links of all accounts
ccwork -p "summarise" --output-format jsonKinukumpirma ng ccam ang bawat pagbabago:
$ ccam shortcut work ccwork
✓ shortcut for work: ccwork
$ ccam shortcut work ccw
✓ shortcut for work: ccw (was ccwork)
$ ccam shortcut work --remove
✓ ccw removed; work has no shortcut now
$ ccam shortcut work
work: none (add one with `ccam shortcut work ccwork`)Hindi hihigit sa isa ang shortcut ng isang account, na naka-store bilang shortcut sa ~/.config/ccam/config.toml. Nagtatanong ang wizard ng ccam add ng Create a shortcut command for <name>? [y/N] at pagkatapos ay Shortcut name [cc<name>]:. Sa labas ng wizard, gumagawa lang ng isa ang ccam add kapag may --shortcut. Ipinapakita ng ccam list ang shortcut ng bawat account, o -.
Ipinapasa ng shortcut ang bawat argument sa Claude Code, sa parehong paraan ng ccam <name> pagkatapos ng pangalan. Kasama rito ang --dry-run at --help: para ma-preview ang isang pagsisimula, gamitin ang ccam --dry-run work.
Mga option
| Option | Ano ang ginagawa | Default |
|---|---|---|
--remove |
Burahin ang shortcut ng account at ang link nito | off |
-h, --help |
Help para sa command | |
--dry-run |
Sinusunod ito ng ccam shortcut: sinusuri nito ang pangalan at ipi-print ang Would set the shortcut of work to ccwork. o Would remove ccwork, the shortcut of work. nang hindi nagse-save o nagli-link |
off |
Walang tinatanggap na argument ang ccam shims install at tinatanggihan nito ang --dry-run na may ccam: --dry-run is not supported by `ccam shims install`; nothing was changed.
Mga patakaran sa pangalan, na sinusuri sa ganitong pagkakasunod-sunod:
- 1 hanggang 64 na character ng
a-z,0-9,.,-at_, na nagsisimula sa titik o numero; - hindi
ccam,claudeo ccam command gaya ngrunousage; - hindi shortcut ng ibang account;
- hindi file sa
~/.local/binna hindi pa link sa ccam; - hindi pangalan ng ibang executable sa iyong
PATH.
Kapag sabay na ibinigay ang command at --remove, humihinto ito na may give a command or --remove, not both. Kapag itinakda ang pangalang mayroon na ang account, ipi-print ang work: ccwork (unchanged) at gagawin muli ang link nito kung nawawala.
Paano ito gumagana
Ang pagtatakda ng pangalan ay nagpapatakbo ng checkShortcut, na tumatawag sa shim.Check kasama ang bin folder at ang totoong path ng ccam binary:
Bumababa ang pangalan sa mga pagsusuri nang sunod-sunod. Katabi ng bawat pagsusuri ang isang pangalang tinatanggihan nito: pumapalya ang Work sa pattern, ccam command ang run, pag-aari ng ibang account ang ccside, umiiral na file sa ~/.local/bin ang ccfile, at itatago ng git ang /usr/bin/git. Ang pangalan lang na pumasa sa bawat pagsusuri ang sine-save at nili-link.
- Itinutugma ng
shim.Checkang pangalan sa^[a-z0-9][a-z0-9._-]{0,63}$, saka saconfig.Reserved, saka sacfg.FindShortcut. Tinatawag nito angos.Lstatsa~/.local/bin/<name>, at para sa bawat ibang folder saPATHay tinatawag nito angos.Statat tinatanggihan ang executable file na hindi link sa ccam. - Sine-save ng ccam ang
config.tomlgamit angfsutil.AtomicWrite(pansamantalang file,fsync, rename). - Binubura ng
shim.Removeang link ng lumang shortcut, pero kapag link lang ito sa ccam. - Ginagawa ng
shim.Installang link ng bawat naka-configure na shortcut na nawawala, gamit angos.Symlinkpapunta sa ccam binary, na hinahanap gamit angos.Executableatfilepath.EvalSymlinks. Hindi ito kailanman nag-aalis ng anuman.
Itinuturing na sariling link ng ccam ang isang link kapag ibinabalik ng os.Readlink ang path ng ccam, o kapag tumuturo sa parehong file ang link at ang path ng ccam. Dumadaan sa pagsusuring ito ang bawat pag-alis at bawat pagsusuri bago mag-overwrite, kaya hindi ginagalaw ng ccam ang mga file na hindi nito ginawa.
Kapag nagpatakbo ka ng shortcut, ang pangalang tina-type mo lang ang kailangan ng ccam:
Hinahanap ng shell ang ccwork sa PATH, sinusundan ng kernel ang link at sinisimulan ang ccam binary, at ccwork pa rin ang argv[0]. Sa app.Main, nilo-load nang isang beses ng anumang pangalan maliban sa ccam ang config.toml at tinatawag ang shim.Lookup, na hinahanap ang account na ang shortcut ay katumbas ng filepath.Base(argv[0]). Pagkatapos ay ginagawa ng launcher.LaunchWith ang parehong mga hakbang ng ccam <name> na naka-load na ang config, at ipinapasa ang argv[1:] sa claude nang hindi ginagalaw.
Bakit symlink at hindi shell alias o wrapper script: gumagana ang symlink sa bawat shell at sa mga script, hindi ito nagdadagdag ng karagdagang pagsisimula ng shell (mga 1 hanggang 2 ms), at iisang file pa rin ang binabasa ng pagsisimula. Sinusukat ng scripts/perf-check.sh ang isang shortcut gamit ang hyperfine laban sa parehong 10 ms (p95) na limit ng ccam <name>.
Kaligtasan at mga espesyal na kaso
- Link na walang account na umaangkin. Kung may link sa ccam sa
~/.local/binna may pangalang hindi ginagamit ng anumang account, halimbawa pagkatapos mong mano-manong baguhin angshortcutsaconfig.toml, hindi babalik ang ccam sa default na account. Humihinto ito na mayccam: ccold is not the shortcut of any account (see `ccam list`, `ccam shortcut`). Itakda ulit ang pangalan gamit angccam shortcut, o burahin ang link. - Mga umiiral na file. Hindi kailanman pinapalitan ng ccam ang file na hindi nito ginawa. Humihinto ang
ccam shims installna may<path> already exists and is not a ccam link, so it was left alone. - Inilipat na ccam binary. Tumuturo na ang mga lumang link sa path na wala na, at hindi itinuturing ng ccam na sarili nito ang mga ito. Burahin ang mga ito, saka patakbuhin ang
ccam shims install. - Rename at remove. Pinapanatili ng
ccam renameang pangalan ng shortcut, at gumagana pa rin ang link, dahil tumuturo ito sa ccam at hinahanap ng ccam ang pangalan saconfig.toml. Binubura ngccam removeang link ng account. Binubura ngccam shortcut <account> <new>ang lumang link bago gawin ang bago. - PATH. Kapag gumawa ang ccam ng link at wala sa iyong
PATHang~/.local/bin, ipi-print nito angNote: /home/me/.local/bin is not in PATH. Add it to ~/.bashrc or ~/.zshrc:kasunod ang linyangexport PATH=...na idadagdag. - Pagsusuri sa ibang pagkakataon. Iniuulat ng
ccam doctorangmissing shortcuts in /home/me/.local/bin: ccworkat nagbababala kapag wala saPATHang folder. Ginagawa ngccam doctor --fixang mga nawawalang link.