MoonshotAI / MoonshotAI/kimi-code
/fork-session — mid-session snapshot for safe model experimentation
Nobody has claimed this yet.
- Dominant language
- TypeScript
- Stars
- 7.5k
- Forks
- 1.2k
- Avg merge
- 11h 53m
- Merged PRs (30d)
- 350
Description
When I am mid-session and run into peak hours, or my credits are exhausted on a premium model and I have to wait, switching to a less smart model will pollute the session irreversibly and is prone to compactions.
A /fork-session command should create a duplicate of the currently loaded session. The previous session stays untouched. This lets me experiment with the session using different models while preserving the state of the original session.
Key desired behavior:
- Triggerable from inside an active session (slash command).
- Creates a copy of the session state (transcript, context, attached tools/skills) at the fork point.
- The fork is fully independent — changes in the fork do not bleed back into the original.
- The original session remains available exactly as it was, no compaction or rewriting forced on it.
- Allows trying a cheaper / different model on the fork without risking irreversible degradation of the premium-model run.
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start by tracing how active-session slash commands access the currently loaded session and how transcript, context, and attached tools or skills are represented. Define the fork point and verify that the original remains unchanged while the fork can evolve independently and use a different model. Done means /fork-session works inside an active session and preserves all stated isolation guarantees.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- typescript
- Domain
- cli
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Active
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100