github / github/app

Make it easy to reference one session from another: copy session reference, @-mention sessions, clickable session chips

Đang mở
#2,368 2 bình luận 0 reaction 0 người được giao Xem trên GitHub
Ngôn ngữ chính
Không có dữ liệu ngôn ngữ
Star
2.1k
Fork
153
Chỉ số merge pull request
Không có pull request nào được merge trong 30 ngày

Mô tả

### Feature summary

Give sessions a first-class, copyable reference — session id, deep link, and human label — plus an `@`-mention picker in the composer, so pointing one session at another is a click instead of a description.

### What problem are you trying to solve?

Sessions already relate to each other. They spawn child sessions, they send cross-session messages, they get orchestrated in parallel, and they stack dependent PRs. But there is no cheap way to *name* a session.

The session id is not surfaced anywhere in the UI, so referring to another session means describing it in prose: "the session where I fixed the crawler issue in the other repo". That is ambiguous when two sessions touch the same area, and it forces the agent to go hunting — or to ask me to go hunting — instead of resolving a handle.

Concretely, things that should be trivial and are not:

- "Continue what that other session started" — I cannot hand over a pointer.
- "This session found the root cause; go read its plan" — no way to link it.
- "These three sessions are the same effort" — no way to relate them after the fact.
- Reporting a bug about a specific session — no id to include.

The pieces are clearly already there under the hood, since sessions can message each other by id. What is missing is exposing that id to the human.

### Proposed solution

**1. Copy session reference**

In the session context menu and the session header overflow menu, a **Copy session reference** submenu offering:

- **Session id** — the raw identifier, for tooling and bug reports.
- **Deep link** — e.g. `copilot://session/`, which focuses that session when opened.
- **Human label** — e.g. `session: SEO review (my-org/my-repo · fix-crawler)`, for pasting into a message or a PR description.

**2. Session id visible in details, with one-click copy**

The session details panel should just show the id with a copy button. Always retrievable, no menu digging.

**3. `@`-mention picker in the composer**

Typing `@session` (or `@` with a session section in the existing picker) offers a searchable list showing name, repository, branch, and last activity — so the right one is identifiable at a glance. Selecting it inserts a real reference, not plain text.

**4. Pasted references render as chips**

A pasted deep link or reference renders as a chip with the session name and repo, clickable to jump to that session. Same idea as `#123` becoming a linked issue reference on GitHub.

**5. Make references resolvable by the agent**

The important half: when a session reference is in the prompt, the agent should be able to act on it — read that session's summary, plan, and recent turns, and send it a message — without asking me for an id. That turns "look at what that session found" into a working instruction rather than a hint.

**6. Backlinks, ideally**

If session A references session B, showing that relationship on B ("referenced by: …") makes a multi-session effort navigable after the fact, which is where it is usually needed.

### Workflow impact

This helps anyone running more than one session at a time, which is the app's core pitch. It makes hand-offs between sessions concrete, makes multi-session efforts navigable instead of remembered, and makes bug reports about session behavior precise. It is also a small building block that several bigger asks quietly depend on — orchestration, stacked PRs, and any "related work" surface all need a way to name a session.

### Installation context

Desktop app, local and cloud sessions, across projects.

### Additional context

Related: #248 (feature-centric session trees) and #1035 (single session across multiple repositories). Both are about session *structure*; neither gives me a copyable reference to an existing session, which is the cheap primitive that would make those easier to build on.

Smallest useful first step: show the session id in session details with a copy button, and accept a pasted id in the composer as a resolvable reference. The `@`-mention picker and chips can follow.

Hướng dẫn đóng góp

Mở hướng dẫn đóng góp

Hướng nghiên cứu

The issue names the session details panel, session context and header menus, composer, picker, and pasted-reference rendering as entry points. Start by tracing how session ids are currently used for cross-session messages and how the details panel and composer represent sessions. Done should cover the stated smallest useful first step: showing an id with copy support and resolving a pasted id in the composer.

Do mô hình lập chỉ mục viết ra từ nội dung của issue.

Đánh giá

Công nghệ
github
Lĩnh vực
desktop, frontend
Loại issue
Tính năng
Độ khó
5/5
Thời gian dự kiến
Hơn một tuần
Mức độ hoạt động
Ít trao đổi
Độ rõ ràng
Khá rõ ràng
Mức phù hợp với người mới
35/100

Nhận issue mới trong hộp thư của bạn

Bản tóm tắt ngắn những issue GitHub phù hợp với người mới.